说我们在Amazon Eks上有几个簇。我们有一个需要最新群集信息填充的新用户或新计算机。
是否有一些简单的方法我们从EKS上的群集中获取上下文信息,然后将信息放入.kube/config文件中?类似:
eksctl init "cluster-1-ARN" "cluster-2-ARN"
所以经过一些网络填充,我听说了:
aws eks update-kubeconfig
我尝试了一下,我得到了:
$ aws eks update-kubeconfig用法:aws [选项] [...] [参数]要查看帮助文本,您可以 运行:
AWS帮助AWS帮助AWS帮助
aws:error:grigent -name是必需的
我认为当时只会更新所有集群,但事实并非如此。因此,我将群集名称/arns放置,就像:
aws eks update-kubeconfig --name arn:aws:eks:us-west-2:913xxx371:cluster/eks-cluster-1
aws eks update-kubeconfig --name arn:aws:eks:us-west-2:913xxx371:cluster/ignitecluster
,但是我得到了:
kbc stderr: An error occurred (ResourceNotFoundException) when calling the DescribeCluster operation: No cluster found for name: arn:aws:eks:us-west-2:913xxx371:cluster/eks-cluster-1.
kbc stderr: An error occurred (ResourceNotFoundException) when calling the DescribeCluster operation: No cluster found for name: arn:aws:eks:us-west-2:913xxx371:cluster/ignitecluster.
hmmm这有点愚蠢。
所以是的,我所说的那些群集实际上并不存在。我发现了这一点:
aws eks list-clusters
最终,我仍然感到强大,因为我们人们需要制作一个可以使用所有存在的群集更新您的配置的工具,而不是让您命名它们。
因此,以编程方式执行此操作,将是:
aws eks list-clusters | jq '.clusters[]' | while read c; do
aws eks update-kubeconfig --name "$c"
done;
在我的情况下,我正在使用两个AWS环境。我的〜/.aws/凭据指向一个,必须更改以指向正确的帐户。更改帐户详细信息后,您可以通过运行以下命令来验证更改:
eksctl get clusters
,然后在验证区域后使用以下命令设置kube-config。
aws eks --region your_aws_region update-kubeconfig --name your_eks_cluster