В настоящее время я пытаюсь развернуть приложения внутри кластера AKS kubernetes в Azure.
Для конвейера развертывания я хотел бы использовать учетную запись службы, которая управляется через активный каталог Azure (например, субъект службы).
Я уже создал субъект службы с помощью интерфейса командной строки Azure.
Как правильно сделать этот субъект службы , известный как учетная запись службы внутри кластера AKS?
Причина, по которой мне нужна учетная запись , а не учетная запись пользователя , и заключается в том, что я хочу использовать ее из своего конвейера devops безтребует входа в систему, но все еще в состоянии управлять им через активный каталог.
В настоящее время я использую учетную запись службы по умолчанию для развертывания своих контейнеров в пространстве имен, это работает, но эта учетная запись известна только внутри пространства имен ине централизованно управляемый.
# This binding enables a cluster account to deploy on kubernetes
# You can confirm this with
# kubectl --as="${USER}" auth can-i create deployments
# See also: https://github.com/honestbee/drone-kubernetes/issues/8
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: default
name: default-deploy
rules:
- apiGroups: ["extensions"]
resources: ["deployments"]
verbs: ["get","list","patch","update", "create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: role-default-deploy
namespace: default
roleRef:
kind: Role
name: default-deploy
apiGroup: rbac.authorization.k8s.io
subjects:
# working, the default account configured with deploy permissions
- name: default
kind: ServiceAccount
namespace: default
# works, if the service principal is configured as a User
- name: "111111-0000-1111-0000-********"
apiGroup: rbac.authorization.k8s.io
kind: User
# this does not work, the service principal is configured as a Service Account
- name: "111111-0000-1111-0000-********"
apiGroup: rbac.authorization.k8s.io
kind: ServiceAccount
Я бы ожидал, что смогу настроить учетную запись службы также через RBAC, однакоr Я получаю следующую ошибку: недопустимая привязка RoleBinding "role-default-deploy": subject [1] .apiGroup: неподдерживаемое значение: "rbac.authorization.k8s.io": поддерживаемые значения: ""