#kubernetes #deployment #devops #amazon-eks
#kubernetes #развертывание #devops #amazon-eks
Вопрос:
Я пытаюсь развернуть свое приложение через кластер EKS с помощью AWS codepipeline. Я уже создал задание на сборку, используя builspec.yml, чтобы отправить образ docker в репозиторий ECR. Теперь я пытаюсь развернуть образ в контейнер через кластер EKS. Я выполняю следующие шаги, однако сталкиваюсь с проблемой ниже:
1) - CREDENTIALS=$(aws sts assume-role --role-arn arn:aws:iam::7*********4:service-role/codebuild-CI-
Build-service-role --role-session-name codebuild-kubectl --duration-seconds 900)
- export AWS_ACCESS_KEY_ID="$(echo ${CREDENTIALS} | jq -r '.Credentials.AccessKeyId')"
- export AWS_SECRET_ACCESS_KEY="$(echo ${CREDENTIALS} | jq -r '.Credentials.SecretAccessKey')"
- export AWS_SESSION_TOKEN="$(echo ${CREDENTIALS} | jq -r '.Credentials.SessionToken')"
- export AWS_EXPIRATION="$(echo ${CREDENTIALS} | jq -r '.Credentials.Expiration')"
Здесь, на приведенном выше шаге, я передаю роль сборки кода AWS.
2) aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $AWS_DEFAULT_REGION
3) - ROLE=" - rolearn:arn:aws:iam::7********4:role/service-role/codebuild-CI-Build-service-rolen username:buildn groups:n - system:masters"
- kubectl get -n kube-system configmap/aws-auth -o yaml | awk "/mapRoles:|/{print;print "$ROLE";next}1" > /tmp/aws-auth-patch.yml
- kubectl describe configmap -n kube-system aws-auth
Этот шаг выполняется для обновления роли в AWS config auth.
Однако я получаю сообщение об ошибке: error: You must be logged in to the server (Unauthorized)