Создать сервисный аккаунт:
kubectl create serviceaccount example-sa
Создать роль:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: example-role
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "watch", "list"]
Создание привязки роли:
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1alpha1
metadata:
name: example-role-binding
namespace: default
subjects:
- kind: "ServiceAccount"
name: example-sa
roleRef:
kind: Role
name: example-role
apiGroup: rbac.authorization.k8s.io
создать модуль, используя example-sa
kind: Pod
apiVersion: v1
metadata:
name: example-pod
spec:
serviceAccountName: example-sa
containers:
- name: secret-access-container
image: example-image
Самая важная строка в определении модуля - serviceAccountName: example-sa
. После создания учетной записи службы и добавления этой строки в определение вашего модуля вы сможете получить доступ к своему токену доступа API в /var/run/secrets/kubernetes.io/serviceaccount/token
.
Здесь вы можете найти более подробную версию приведенного выше примера.