打赏

星辰大海ゞ

That which does not kill us makes us stronger!

导航

K8S多集群切换

Kubeconfig 用途

kubectl 命令行工具通过 kubeconfig 文件的配置来选择集群以及集群API Server通信的所有信息。kubeconfig 文件用来保存关于集群用户、命名空间和身份验证机制的信息。默认情况下 kubectl 读取 $HOME/.kube/config 文件,也可以通过设置环境变量 KUBECONFIG 或者 --kubeconfig 指定其他的配置文件。

 

Kubeconfig 文件结构

kubeconfig 文件主要由下面几部分构成:

  • 集群参数
  • 用户参数
  • 上下文参数
  • 当前上下文
apiVersion: v1
kind: Config
preferences: {}
 
clusters: # 集群参数
- cluster:
  name: {cluster-name}
 
users: # 用户参数
- name: {user-name}
 
contexts: # 上下文参数
- context:
    cluster: {cluster-name}
    user: {user-name}
  name: kubernetes # 集群上下文名称
current-context: kubernetes # 当前上下文

 

kubeconfig 合并工具kubecm下载并安装

通过 kubecm 工具合并多个 kubeconfig 文件
项目地址 https://github.com/sunny0826/kubecm

Usage:
  kubecm [command]

Available Commands:
  add         Add KubeConfig to $HOME/.kube/config
  alias       Generate alias for all contexts
  clear       Clear lapsed context, cluster and user
  completion  Generates bash/zsh completion scripts
  delete      Delete the specified context from the kubeconfig
  help        Help about any command
  ls          List KubeConfig
  merge       Merge the KubeConfig files in the specified directory
  namespace   Switch or change namespace interactively
  rename      Rename the contexts of kubeconfig
  switch      Switch Kube Context interactively
  version     Print version info

 

 

多个 kubeconfig 文件合并

把需要合并的 Kubeconfig 文件放到 all_kubeconfig 目录下,执行命令后会在当前路径下产生一个新的 kubeconfig 文件

配置文件的名称l就是切换时的默认切换名称选项

$ kubecm merge -f all_kubeconfig

选择“True”时会直接替换 $HOME/.kube/config 文件

多集群切换,光标上下选择切换

$ kubecm switch

通过 kubecm 工具能快速的把多个 kubeconfig 文件合并到一个 kubeconfig 文件中,并且也提供集群切换。而不需要再下载 kubectx 工具来切换集群

 

配置选项的名称重命名:

$ kubecm rename

 

posted on 2021-01-27 14:47  星辰大海ゞ  阅读(803)  评论(0编辑  收藏  举报