kubernetes - 使用 k8s/eks 信息播种新机器的最佳方式

标签 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 update-kubeconfig usage: aws [options] [ ...] [parameters] To see help text, you can run:

aws help aws help aws help

aws: error: argument --name is required



我认为它只会更新所有集群,但事实并非如此。所以我输入了集群名称/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;

关于kubernetes - 使用 k8s/eks 信息播种新机器的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56782637/

相关文章:

docker - 创建 Pod 时图像拉取失败

amazon-web-services - 通过AWS EKS进行KOPS或反之亦然

prometheus - Loki Ruler 未向警报经理发送警报

elasticsearch - 流利的位不会将数据推送到亚马逊ES服务

elasticsearch - 如何根据负载在 kubernetes 中自动缩放 Elasticsearch ?

kubernetes - 如何在 Kubernetes 中使用 NodePort 服务在公共(public) Ip 上公开 nginx?

docker - 从 docker 桌面图像中将图像拉入 Docker-compose 文件?

kubernetes - kubectl exec 到容器中而不使用 pod 名称末尾的随机 guid

docker - Kubernetes 实际上做了什么?

docker - 执行 kubeadm 重置后,Kubernetes 无法为 pod 设置网络