Kubernetes 使用k8s/eks信息播种新机器的最佳方法
假设我们在Amazon EKS上有几个集群。我们有一个新用户或新机器,需要用最新的集群信息填充.kube/config 有没有简单的方法可以从EKS上的集群中获取上下文信息,并将信息放入.kube/config文件中?比如:Kubernetes 使用k8s/eks信息播种新机器的最佳方法,kubernetes,kubectl,amazon-eks,eksctl,Kubernetes,Kubectl,Amazon Eks,Eksctl,假设我们在Amazon EKS上有几个集群。我们有一个新用户或新机器,需要用最新的集群信息填充.kube/config 有没有简单的方法可以从EKS上的集群中获取上下文信息,并将信息放入.kube/config文件中?比如: eksctl init "cluster-1-ARN" "cluster-2-ARN" 经过一些网络调查,我听说: aws eks update-kubeconfig 我试过了,我得到了这个: $aws eks更新kubeconfig用法:aws[选项] […][par
eksctl init "cluster-1-ARN" "cluster-2-ARN"
经过一些网络调查,我听说:
aws eks update-kubeconfig
我试过了,我得到了这个:
$aws eks更新kubeconfig用法:aws[选项]
[…][parameters]要查看帮助文本,您可以
运行:
aws帮助aws帮助aws帮助
aws:错误:参数--名称是必需的
我认为它只会对所有集群进行更新,但事实并非如此。所以我把集群名称/ARN放在下面:
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.
嗯,这有点傻所以我命名的那些集群实际上并不存在。我发现通过:
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配置
aws eks --region your_aws_region update-kubeconfig --name your_eks_cluster