暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

kubernetes小工具,快速切换context和namespace

运维及时雨 2020-06-04
858

一:
日常维护k8s集群中,默认业务不会存放在default空间下,有很多时候会结合业务维护多个namespace下的Svc、Deployment、ConfigMap、Ingress或者其他相关k8s组件,管理起来很不方便,之前逛github无意中发现了一个很方便的这类切换context和namespace管理工具,切换context用到的命令是kubectx,切换namespace用到的是kubens,都是二进制文件,很方便维护。

下载工具:

    [root@node111 ~]#git clone https://github.com/ahmetb/kubectx
    [root@node111 ~]#sudo cp kubectx/kube* /usr/local/bin/

    或者直接下载二进制文件即可:

      [root@node111 ~]#wget https://github.com/ahmetb/kubectx/releases/download/v0.9.0/kubectx
      [root@node111 ~]#wget https://github.com/ahmetb/kubectx/releases/download/v0.9.0/kubens
      [root@node111 ~]#chmod +x kubectx kubens
      [root@node111 ~]#cp kubectx kubens  /usr/local/bin/

      二:
      使用kubectx快速切换上下文(context),列出全部context:

        [root@node111 bin]# kubectx
        kubernetes-admin@cluster.local
        查看cluster-info 来验证是否有相关权限
        [root@node111 bin]# kubectl cluster-info
        Kubernetes master is running at https://192.168.0.111:6443
        coredns is running at https://192.168.0.111:6443/api/v1/namespaces/kube-system/services/coredns:dns/proxy
        kubernetes-dashboard is running at https://192.168.0.111:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
        Metrics-server is running at https://192.168.0.111:6443/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy
        To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

        因为我本地没有创建其他context,所以引用的官方context例子。

        若切换刚刚使用的context则直接执行"kubectx -"即可.

        三:

        使用kubens快速切换namespace,列出全部namespace,默认是default:

          [root@node111 bin]# kubens    
          default
          ingress-nginx
          istio-demo
          istio-system
          kube-node-lease
          kube-public
          kube-system

          切换到指定namespace,比如kube-system:

            [root@node111 bin]# kubens kube-system
            Context "kubernetes-admin@cluster.local" modified.
            Active namespace is "kube-system".

            如果切换回刚刚使用的default namespace 则执行"kubens -" 即可.

              [root@node111 bin]# kubens  -
              Context "kubernetes-admin@cluster.local" modified.
              Active namespace is "default".

              官网例子如下:


              文章转载自运维及时雨,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论