лучший способ посеять новую машину с k8s / eks info - PullRequest
1 голос
/ 27 июня 2019

Скажем, у нас есть пара кластеров на Amazon EKS.У нас есть новый пользователь или новый компьютер, для которого требуется .kube / config, чтобы он был заполнен самой последней информацией о кластере.

Есть ли какой-то простой способ получить контекстную информацию из наших кластеров на EKS и поместить ее в.kube / файл конфигурации?что-то вроде:

eksctl init "cluster-1-ARN" "cluster-2-ARN"

поэтому после некоторой паузы в сети я услышал о:

aws eks update-kubeconfig

Я попробовал это, и я получил это:

$ aws eks update-kubeconfig использование: aws [опции] [...] [параметры] Чтобы увидеть текст справки, вы можете запустить:

aws help aws help aws help

aws: error: аргумент - имя обязательно

Я бы подумал, что он просто обновится для всех кластеров, но это не так.Поэтому я помещаю имена кластеров / 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.

хммм, это довольно глупо, эти имена кластеров существуют ... так что же?я делаю сейчас

1 Ответ

1 голос
/ 27 июня 2019

Так что да, те кластеры, которые я назвал, на самом деле не существуют.Я обнаружил, что через:

 aws eks list-clusters

в конечном счете, я все еще чувствую себя сильным, потому что мы, люди, должны создать инструмент, который может просто обновить вашу конфигурацию всеми существующими кластерами вместо того, чтобы вы их называли.

Таким образом, чтобы сделать это программно, это будет:

aws eks list-clusters | jq '.clusters[]' | while read c; do
  aws eks update-kubeconfig --name "$c"
done;
...