k8s多集群切换

kueconfig配置文件

参考: 定义集群、用户和上下文

在这里插入图片描述

# 集群配置文件示例
apiVersion: v1
kind: Config

# 配置多个集群名称
clusters:
  - cluster:
      certificate-authority: {
    
     使用base64加密的证书内容 }
      server: https://{
    
    api地址}:6443
    # K8s集群的名称
    name: kubernetes

# 连接集群使用的用户
users:
  # 用户名
  - name: kubernetes-admin
    user:
      client-certificate-data: {
    
     使用base64加密的证书内容 }
      client-key-data: {
    
     使用base64加密的key内容 }

# 上下文--将users和集群关联起来
contexts:
  - context:
      # 集群名字
      cluster: kubernetes
      # 关联的用户名
      user: kubernetes-admin
    # 上下文name(固定格式): users@集群名
    name: kubernetes-admin@kubernetes

# 当前上下文---声明当前所连接的集群
# current-context: 当前所要使用的上下文name
current-context: kubernetes-admin@kubernetes

kubecm多集群配置文件合并

kubecm可以将多个kubeconfig文件合并成一个文件
参考链接: https://mp.weixin.qq.com/s?src=11&timestamp=1643335860&ver=3585&signature=QX*sp7C24LoguwuXh-FqrapEY3IxUW7SX4UVtNShBm8TGVINfTUxizw6Ryixr8Fq9g27kYPjCxWpUyCzxvQQM7mqpRiBnJHlt2a5R3mTKNpNa-g-UEDNR238lZC5dsx0&new=1

项目地址: https://github.com/sunny0826/kubecm


安装kubecm命令行

# 下载
curl -Lo kubecm.tar.gz https://ghproxy.com/https://github.com/sunny0826/kubecm/releases/download/v0.16.2/kubecm_0.16.2_Linux_x86_64.tar.gz

# 解压
tar -zxvf kubecm.tar.gz kubecm

# 移动到/usr/local/bin
cd kubecm && sudo mv kubecm /usr/local/bin/

# 赋予可执行权限
chmod +x /usr/local/bin/kubecm

# 查看是否可以使用命令行
which kubecm


# 查看命令是否启用了
which kubecm

合并多个kubeconfig文件

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

# 合并多个kubeconfig文件
kubecm merge -f all_kubeconfig

替换默认config文件

直接把新生成的 kubeconfig 文件替换$HOME/.kube/config文件

kubecm merge -f all_kubeconfig -c

使用kubectx命令切换k8集群

kubectx项目地址: https://github.com/ahmetb/kubectx


安装kubectx命令行

kubectx命令是第三方命令,需要自行安装
参考: https://cloud.tencent.com/developer/article/1649627

# 下载kubectx命令行到/usr/local/bin
curl -Lo kubectx https://ghproxy.com/https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubectx

# 移动到/usr/local/bin
mv kubectx /usr/local/bin

# 赋予可执行权限
chmod +x /usr/local/bin/kubectx

# 查看命令是否启用了
which kubectx

kubectx基本用法

# 列出目前所有的context
kubectx

# 切换到<NS_NAME>对应的context
kubectx <NS_NAME>

# 切换到上一次的context
kubectx -

# 给<NS_NAME>context命名一个新名字
kubectx <NEW_NS_NAME>=<NS_NAME>

# 给当前context命名一个新名字
kubectx <NEW_NS_NAME>=.

kubectx切换集群

# 查看当前所在集群
kubectx

# 切换集群
kubectx 集群名

在这里插入图片描述


kubectl多集群切换命令

参考: https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/#define-clusters-users-and-contexts

# 查看所有集群
kubectl config get-contexts

# 切换集群
kubectl config user-context 集群名

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/omaidb/article/details/122727295
今日推荐