Я пробую свои силы в ролях iam для учетной записи служб, чтобы защитить автоскалер. Но я, кажется, что-то упустил. Немного точности я использую terraform для создания кластера.
Я следовал этой документации:
Итак, я создал роль, отличную от роли для узлов, и применил политику для автоскалер к этой новой роли. Эта часть является базовой, здесь нет проблем.
Я также активировал провайдера openid в terraform:
resource "aws_iam_openid_connect_provider" "example" {
client_id_list = ["sts.amazonaws.com"]
thumbprint_list = []
url = aws_eks_cluster.eks.identity.0.oidc.0.issuer
}
Нет проблем, когда кластер создает сам без проблем.
Нет, я добавил аннотацию в служебную учетную запись для автоматического вызова:
---
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::ID:role/terraform-eks-autoscaller
labels:
k8s-addon: cluster-autoscaler.addons.k8s.io
k8s-app: cluster-autoscaler
name: cluster-autoscaler
namespace: kube-system
Моя проблема в том, что она не работает, и модуль все еще пытается использовать новую роль IAM, но все еще использует роль узла:
Failed to create AWS Manager: cannot autodiscover ASGs: AccessDenied: User: arn:aws:sts::ID:assumed-role/terraform-eks-node/i-ID is not authorized to perform: autoscaling:DescribeTags
Кто-нибудь знает, какой шаг я здесь пропускаю?
Заранее спасибо за помощь;)