Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 使用k8s/eks信息播种新机器的最佳方法_Kubernetes_Kubectl_Amazon Eks_Eksctl - Fatal编程技术网

Kubernetes 使用k8s/eks信息播种新机器的最佳方法

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

假设我们在Amazon EKS上有几个集群。我们有一个新用户或新机器,需要用最新的集群信息填充.kube/config

有没有简单的方法可以从EKS上的集群中获取上下文信息,并将信息放入.kube/config文件中?比如:

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