k8s

kubectx,kubens快速切换context和namespace

前言

通常在操作不同环境的集群时,可以准备多个config文件在/.kube文件夹下,要切换的时候就改config的名字,或者使用别名。但要注意用户名不能相同,否则可能只能连接到一个集群。

不同集群间切换的方式可以使用kubectl命令:https://wghdr.top/archives/1241中的config章节
下面介绍一种更高效的工具kubectx,kubens。

安装使用

GitHub地址:https://github.com/ahmetb/kubectx

可以当作kubectl的插件:(需要先安装kerw)

kubectl krew install ctx
kubectl krew install ns

也可以clone下来

git clone https://github.com/ahmetb/kubectx.git
cd kubectx
# 重命名,防止影响kubectl的自动补全
ln -sf kubectx /usr/bin/ktx
ln -sf kubens /usr/bin/kns

自动补全

COMPDIR=$(pkg-config --variable=completionsdir bash-completion)
ln -sf ~/kubectx/completion/kubens.bash $COMPDIR/kns
ln -sf ~/kubectx/completion/kubectx.bash $COMPDIR/ktx
cat << EOF >> ~/.bashrc
#kubectx and kubens
export PATH=~/.kubectx:\$PATH
EOF

但是我这里没有生效,直接使用kubectx是可以生效的,如果哪里有问题请评论我一下。

使用

集群config文件如下:

apiVersion: v1
kind: Config
preferences: {}
clusters:
- cluster:
    server: https://xxxxx:6443
    certificate-authority-data: xxxxx
  name: cluster1 #第一个集群名称
- cluster:
    server: https://xxxxx:6443
    certificate-authority-data: xxxxx
  name: cluster2 #第二集群名称
contexts:
- context:
    cluster: cluster1 #第一个集群名称
    user: user1 #第一个集群用户
  name: cluster1 #第一个集群名称
- context:
    cluster: cluster2 #第二集群名称
    user: user2 #第二个集群用户
  name: cluster2 #第二集群名称
users:
- name: user1 #第一个集群context中的user
  user:
    client-certificate-data: xxxxxxxxxxx
    client-key-data: xxxxxxxxxxxxxxxxxxx
- name: user2 #第二个集群context中的user
  user:
    client-certificate-data: xxxxxxxxxxx
    client-key-data: xxxxxxxxxxxxxxxxxxx

kubectx

file

  • kubectx : 列出目前所有的context
  • kubectx : 切换到对应的context
  • kubectx – : 切换到上一次的context
  • kubectx -c : 显示当前context
  • kubectx = : 给context命名一个新名字
  • kubectx =. : 给当前context命名一个新名字
  • kubectx -d []:删除一个context

列出全部context

ktx
cluster1
cluster2

切换到指定context

ktx cluster1
Switched to context "cluster1".

切换到上一次的context

ktx cluster1
Switched to context "cluster1".
ktx cluster2
Switched to context "cluster2".
ktx -
Switched to context "cluster1".

kubens

file

列出全部namespace

file

切换到指定namespace

kns kube-system

file

分类: k8s
0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部
0
希望看到您的想法,请您发表评论x