После обновления до EKS 1.16 Роли IAM для учетной записи службы перестали работать. Он был настроен, как описано в статье о настройке и назначении учетных записей служб для модулей, и работал с EKS 1.14 и 1.15.
Запуск service-account.yaml и test-pod .yaml в EKS 1.15 (qa env) монтирует следующие переменные env
AWS_ROLE_ARN=arn:aws:iam::xxx:role/oidc-my-service-api-qa
AWS_WEB_IDENTITY_TOKEN_FILE=/var/run/secrets/eks.amazonaws.com/serviceaccount/token
При запуске тех же ресурсов в EKS 1.16 (тестовый env) они не добавляются.
service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::xxxxxxxxx:role/oidc-my-service-test
name: oidc-my-service-service-account
test-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: test
spec:
containers:
- name: test
image: busybox
command: ["/bin/sh", "-c", "env | grep AWS"]
securityContext:
fsGroup: 1000
serviceAccountName: "oidc-my-service-service-account"
ОБНОВЛЕНИЕ
Оказывается, меня не хватает Веб-перехватчик Amazon EKS Pod Identity , но откуда он go?
EKS 1,15
kubectl get mutatingwebhookconfigurations pod-identity-webhook
NAME CREATED AT
pod-identity-webhook 2020-01-11T17:01:52Z
EKS 1,16
kubectl get mutatingwebhookconfigurations pod-identity-webhook
Error from server (NotFound): mutatingwebhookconfigurations.admissionregistration.k8s.io "pod-identity-webhook" not found