У нас есть два кластера с именем:
- MyCluster (создан мной)
- OtherCluster (не создан мной)
Где "меня""- это мой собственный пользователь AWS IAM.
Я могу управлять созданным мною кластером, используя kubectl:
>>> aws eks update-kubeconfig --name MyCluster –profile MyUser
>>> kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 172.20.0.1 <none> 443/TCP 59d
Но я не могу управлять кластером« OtherCluster »(это не былосозданный мной):
>>> aws eks update-kubeconfig --name OtherCluster --profile MyUser
>>> kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
error: the server doesn't have a resource type "svc"
Прочитав отзывы некоторых людей, столкнувшихся с такой же проблемой в этой проблеме github , я попытался сделать это в контексте пользователя, который первоначально создал«OtherCluster».
Я выполнил это, отредактировав «~ / .kube / config», добавив значение «AWS_PROFILE» в «users.user.env».Профиль представляет пользователя, который создал кластер.
~ / .kube / config:
…
users
- name: OtherCluster
user:
exec:
apiVersion: client.authentication.k8s.io/v1alpha1
args:
- token
- -i
- OtherCluster
command: aws-iam-authenticator
env:
- name: AWS_PROFILE
value: OTHER_USER_PROFILE
…
Это сработало:
# ~/.kube/config is currently pointing to OtherCluster
>>> kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 172.20.0.1 <none> 443/TCP 1d
Это явно не идеально длямне выдавать себя за другого человека, когда я управляю кластером.Я бы предпочел предоставить своему пользователю доступ для управления кластером через kubectl.Могу ли я предоставить разрешение на управление кластером другому пользователю, кроме первоначального создателя?Это кажется чрезмерно ограничительным