Кажется, AWS проблема авторизации. При создании кластера только пользователь IAM, который создал кластер, имеет права администратора , поэтому вам может понадобиться сначала добавить своего собственного пользователя IAM.
1- Начните с проверки идентификатора пользователя IAM, неявно используемого во всех командах: aws sts get-caller-identity
Если ваш was-cli установлен правильно, у вас будет вывод, подобный следующему:
{
"UserId": "ABCDEFGHIJK",
"Account": "12344455555",
"Arn": "arn:aws:iam::1234577777:user/Toto"
}
мы будем ссылаться на значение в Account
как YOUR_AWS_ACCOUNT_ID
на шаге 3. (в этом примере YOUR_AWS_ACCOUNT_ID="12344455555"
2 - После того, как у вас есть этот идентификатор, вы должны добавить его к AWS привязка роли для получения разрешений EKS .
3 - Вам потребуется отредактировать файл ConfigMap, используемый kubectl для добавления вашего пользователя kubectl edit -n kube-system configmap/aws-auth
В открытом редакторе создайте имя пользователя вы хотите использовать для ссылки на себя, используя кластер YOUR_USER_NAME
(для простоты вы можете использовать то же самое, что и ваше aws имя пользователя, например Toto
на шаге 2), вам понадобится это на шаге 4, и использовать aws идентификатор учетной записи (не забудьте оставить кавычки ""), вы нашли его в своей идентификационной информации на шаге 1 YOUR_AWS_ACCOUNT_ID
, как показано в разделах mapUsers
и mapAccounts
.
mapUsers: |
- userarn: arn:aws:iam::111122223333:user/ops-user
username: YOUR_USER_NAME
groups:
- system:masters
mapAccounts: |
- "YOUR_AWS_ACCOUNT_ID"
4- Наконец, вам нужно создать привязку роли в кластере kubernetes для пользователя, указанного в e ConfigMap
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user YOUR_USER_NAME