Jak dodać nowego usera ze wszystkimi uprawnieniami do klastra?¶
1. Tworzymy ClusterRoleBinding z mapowaniem ClusterRole cluster-admin i grupy example:masters
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: example-cluster-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: example:masters
2. Generujemy klucz prywatny RSA 2048 oraz CSR z nowo utworzoną grupą w polu O:
openssl req -new -key <nazwa_usera>.key -out <nazwa_usera>.csr -subj "/CN=<nazwa_usera>/O=example:masters"
3. Pobieramy CSR zakodowany w Base64:
4. Generujemy manifest CertificateSigningRequest:
apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
name: myuser # example
spec:
# This is an encoded CSR. Change this to the base64-encoded contents of myuser.csr
request: <SKOPIOWANY_CSR_W_BASE64>
signerName: kubernetes.io/kube-apiserver-client
usages:
- client auth
5. Akceptujemy żądanie
6. Dodajemy konfigurację Usera do .kube/config
Wykorzystamy do tego poradnik: [[Dodawanie konfiguracji użytkownika do .kube configa]]
7. Sprawdzenie uprawnień użytkownika:
Sprawdzenie nastąpiło z flagą --as-group, Kubernetes musi widzieć o tym, że sprawdzamy konto z przypisaną grupą.