kubectx 与 kubens 上下文切换
kubectx 快速切换 Kubernetes context,kubens 快速切换 namespace。它们支持模糊搜索、交互选择和重命名,适合管理多集群、多环境。
两者是独立脚本,不会改变集群状态,只是修改当前 kubeconfig 的 current-context 和 namespace。
安装:
brew install kubectx
# 或
git clone https://github.com/ahmetb/kubectx.git ~/.kubectx
ln -s ~/.kubectx/kubectx /usr/local/bin/kubectx
ln -s ~/.kubectx/kubens /usr/local/bin/kubens
列出和切换 context:
kubectx
kubectx prod
kubectx -
交互选择:
kubectx
# 配合 fzf 上下选择
重命名 context:
kubectx prod=arn:aws:eks:ap-east-1:123456789012:cluster/prod
删除 context:
kubectx -d old-cluster
切换 namespace:
kubens
kubens kube-system
kubens -
设置默认 namespace:
kubens demo
kubectx - 返回上一个 context,适合在两个集群间来回切换。KUBECONFIG 合并时,context 名称可能冲突。kubens 只修改当前 context 的 namespace,不修改其他 context。kubectl config current-context,避免在错误集群执行删除。kubectx 不管理认证,token 过期仍需重新登录。kubectx — 切换 contextkubens — 切换 namespacekubectl config get-contexts — 查看所有 contextkubectl config current-context — 查看当前 contextkubectl config use-context — 原生切换命令