一:
日常维护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]# kubectxkubernetes-admin@cluster.local查看cluster-info 来验证是否有相关权限[root@node111 bin]# kubectl cluster-infoKubernetes master is running at https://192.168.0.111:6443coredns is running at https://192.168.0.111:6443/api/v1/namespaces/kube-system/services/coredns:dns/proxykubernetes-dashboard is running at https://192.168.0.111:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxyMetrics-server is running at https://192.168.0.111:6443/api/v1/namespaces/kube-system/services/https:metrics-server:/proxyTo further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
因为我本地没有创建其他context,所以引用的官方context例子。
若切换刚刚使用的context则直接执行"kubectx -"即可.

三:
使用kubens快速切换namespace,列出全部namespace,默认是default:
[root@node111 bin]# kubensdefaultingress-nginxistio-demoistio-systemkube-node-leasekube-publickube-system
切换到指定namespace,比如kube-system:
[root@node111 bin]# kubens kube-systemContext "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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




