背景
我们在使用AWS EKS的时候可能不是一个EKS集群就能满足,往往需要多个EKS集群满足开发/测试/生产环境的具体任务。这时我们在本地电脑上通过kubectl远程控制这些集群的时候,就会遇到config的配置问题,我们需要config里面同时能够保存不同集群的配置信息,在需要的时候通过动态的切换集群配置的方式来控制具体的某个集群。
解决
参考Getting started with Amazon EKS – AWS Management Console and AWS CLI,我们可以在本地电脑上执行aws eks update-kubeconfig --region region-code --name my-cluster来保存自己某个集群的配置信息。
我们以2个集群为例演示,假设A集群poc-cluster、B集群k-cluster,它们都在aws美东区(us-east-1)
首先我们配置A集群的config:
aws eks update-kubeconfig --region us-east-1 --name poc-cluster,
然后我们配置B集群的config
aws eks update-kubeconfig --region us-east-1 --name k-cluster。
配置好后我们执行kubectl config get-contexts来查看config里面配置好的上下文信息;我们可以看到后配置的B集群前面有个*,这表示目前B集群是默认的被kubectl控制的集群
我们如果想切换到A集群可以kubectl config use-context arn:aws:eks:us-east-1:843xxx269:cluster/poc-cluster来切换,也就是只需要填入被切换集群的CLUSTER名称就行