kubectl配置多集群访问

该博客介绍了如何通过kubectl配置文件实现对多个Kubernetes集群的切换访问。通过为每个集群创建单独的config文件,并确保上下文、集群和用户名称的唯一性,然后使用kubectlconfiguse-context命令在集群间切换。这种方法允许CI/CD流程轻松地在生产、beta和测试集群之间进行部署。
摘要由CSDN通过智能技术生成

背景及原理

使用场景:当cicd所在的主机,ci部署到生产集群、beta集群及测试集群,那么是否可以通过kubectl配置实现多个集群环境的切换访问呢?

原理:通过将集群、用户和上下文定义(即kubectl访问集群时的config配置文件)在一个或多个配置文件中之后,用户可以使用 kubectl config use-context 命令快速地在集群之间进行切换。

多集群配置方法

  • 需要新建.kube文件夹,拷贝不同集群的config配置,例如重命名为config-jhmy和config-ymt,分别查看配置文件。

  • 两份配置文件中context、cluster、users名称必须不一样(同集群设置不同环境除外),否则调用将会出错,所以我们可以适当修改配置文件。

# cat config-jhmy
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: ***
    server: https://192.168.1.1
  name: k8s-jhmy #修改名字,确保多个配置文件的名称不一样
contexts:
- context:
    cluster: k8s-jhmy
    user: k8s-jhmy
  name: k8s-jhmy
current-context: k8s-jhmy
kind: Config
preferences: {}
users:
- name: k8s-jhmy
  user:
    client-certificate-data: ***
    
# cat config-ymt
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: ***
    server: https://192.168.2.1
  name: k8s-jhmy #修改名字,确保多个配置文件的名称不一样
contexts:
- context:
    cluster: k8s-ymt
    user: k8s-ymt
  name: k8s-ymt
current-context: ymt
kind: Config
preferences: {}
users:
- name: k8s-ymt
  user:
    client-certificate-data: ***
  • 然后执行以下命令生成新的config文件即可
KUBECONFIG=config-ymt:config-jhmy kubectl config view --flatten > ~/.kube/config
  • 测试
# 查看当前配置
kubectl config current-context

#切换配置
kubectl config use-context k8s-ymt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值