На данный момент я создал кластер kubernetes и включил RBAC в веб-интерфейсе при создании кластера. Внутри кластера я создал пространство имен с именем development1 . Теперь я хотел предоставить доступ к пользователь на некоторых ресурсах kubernetes, которые принадлежат пространству имен development1. Для этого я создал роль и добавил
пользователь для определенного пространства имен.
Вот мои файлы конфигурации:
deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: hellonode
namespace: development1
spec:
replicas: 2
template:
metadata:
labels:
app: samplenodeapp
spec:
containers:
- name: hellonode
image: hellonode.azurecr.io/aks-deployments:latest
ports:
- containerPort: 3000
imagePullSecrets:
- name: webinar
service.yaml
apiVersion: v1
kind: Service
metadata:
name: hellonode
namespace: development1
labels:
app: samplenodeapp
spec:
type: LoadBalancer
ports:
- port: 3000
selector:
app: samplenodeapp
role.yaml
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
namespace: development1
name: developer-role
rules:
- apiGroups: ["", "extensions", "apps"]
resources: ["deployments", "replicasets"]
verbs: ["*"]
rules:
- apiGroups: [""]
resources: ["pods","pods/log","pods/exec"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
rolebinding.yaml
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: developer-rb
namespace: development1
subjects:
- kind: User
name: < Azure_AD_user_object-id>
apiGroup: "rbac.authorization.k8s.io"
roleRef:
kind: Role
name: developer-role
apiGroup: "rbac.authorization.k8s.io"
Теперь я пытаюсь составить список модулей в deveploment1 (пространство имен), используя команду kubectl get pods -n development --user=<Azure _AD_username>
. Вместо того, чтобы вывести список модулей, получим ошибку типа
ошибка: вы должны войти на сервер (не авторизован).
Здесь я сомневаюсь, есть ли необходимость создавать контекст для этого пространства имен? и я должен добавить роль в deploy.yaml и service.yaml?
Я не знаю чего-то, что я пропустил. Кто-нибудь может мне подсказать, как я могу дать разрешения пользователю на ресурсы kubernetes в Azure?