Ziele
- Du verstehst, welche Aufgaben der Kubernetes API Serverübernimmt.
- Du weißt, wie der API Serverin das Management des Cluster States involviert ist.
- Du weißt, auf welchem Port der API Serverper Default hört und welches Protokoll gesprochen wird.
- Du weißt, dass der API Serverein self signed Certificate verwendet und wie du diesem auf einem anderen System vertrauen kannst
- Du kennst die 3 default Plugins für Authentifizierung am API server
- Du weißt, wie die Authentifizierung und Role Zuweisung mit Client Certificatesfunktioniert.
- Du weißt, wie eine Node dem Cluster beitreten kann und authentifiziert wird.
- Du weißt, wofür ServiceAccountsda sind.
- Du weißt, wie Kubernetes die Permissions für den ServiceAccount in den Container einbindet.
- Wie werden Client CertificatesundServiceAccountsPermissions zugewiesen?
- Du kennst den Unterschied zwischen RoleundClusterRole.
Inhalte
- Kapitel 11 aus "The Book of Kubernetes" von Alan Hohn
- Using RBAC Authorization Show archive.org snapshot
Aufgaben
- 
Besprich die ClusterRoleaus Anhang A mit deinem Mentor.
- 
Besprich das RoleBindingaus Anhang B mit deinem Mentor.
- 
Erstelle eine Grafik, die zeigt wie RBAC funktioniert. Teil der Grafik sollte sein: - ClusterRole
- Role
- ClusterRoleBinding
- RoleBinding
- ServiceAccount
- Client Certificate
 Es sollte ersichtlich sein, wie Permissions jeweils auf Namespaces begrenzt werden können. 
Anhang A
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: pod-reader
rules:
- apiGroups: ["", "apps"]
  resources: ["pods", "deployments", "statefulsets"]
  verbs: ["get", "watch", "list"]
Anhang B
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
  namespace: sample
subjects:
- kind: ServiceAccount
  name: read-pods
  namespace: sample
roleRef:
  kind: ClusterRole
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io
Posted by Claus-Theodor Riegg to DevOps Curriculum (2023-01-30 11:11)