kubectx

kubectx是一个用于管理和快速切换Kubernetes集群的命令行工具。可以在多个集群之间无缝切换,而不需要每次都修改kubectl配置文件。同时,kubectx的姊妹工具kubens可以帮助在集群内的命名空间之间切换。

安装kubectx

使用Homebrew:

brew install kubectx

使用apt (Debian/Ubuntu):

sudo apt-get update && sudo apt-get install -y kubectx

手动安装:

基本使用方法

列出可用的集群上下文:

kubectx

输出示例:

gke_project-a_us-central1-a_cluster-1
minikube
docker-desktop
eks_production-cluster

切换到特定集群:

kubectx eks_production-cluster

这将把当前上下文切换到eks_production-cluster

重命名集群上下文:

为了更易于记忆,可以为集群上下文指定别名:

kubectx prod=eks_production-cluster

这样,可以使用更短的名称prod来切换到该集群:

kubectx prod

返回到上一个集群

kubectx -

这类似于Unix中的cd -命令,让您在最近使用的两个集群之间快速切换。

删除集群上下文

kubectx -d cluster-name

使用kubens切换命名空间

安装kubectx后,通常也会一并安装kubens工具,用于切换Kubernetes命名空间。

列出可用的命名空间:

kubens

切换到特定命名空间

kubens kube-system

返回到上一个命名空间

kubens -

交互式选择(需要fzf)

如果安装了fzf 模糊查找器,可以获得交互式选择菜单:

# 安装fzf
# macOS
brew install fzf

# Ubuntu/Debian
apt-get install fzf

然后,执行kubectxkubens不带参数时,会显示一个交互式菜单,可以通过上下箭头键和模糊搜索选择集群或命名空间。