Was spielt die Rolle von RBAC in Kubernetes??
Rollenbasierte Zugriffskontrolle wird als RBAC in Kubernetes bezeichnet. In Kubernetes erstellt die rollenbasierte RBAC-Methode (Rollenbasis Access Control) Zugriffssteuerungsregeln, die angeben, auf welche Benutzer auf welche Ressourcen in einem Cluster zugreifen können. RBAC wird durch Rollen und Rollenbindungen implementiert. In Kubernetes sind die integrierten RBAC-Rollen Clusterrole, Rolle und serviceAccount. Die Clusterrolle kann im gesamten Cluster verteilt werden. Die als Rolle bekannte Rolle kann ein Namespace erhalten. Jedes Servicekonto in einem Namespace hat eine interne Rolle, die automatisch dafür definiert ist.
Voraussetzungen
Die neueste Version von Ubuntu ist in Ihrem System installiert und im virtuellen Box im System installiert und führt dann eine Ubuntu -unterstützende Version im virtuellen Box parallel zum Windows -Betriebssystem aus. Das Benutzersystem ist ein 64-Bit-Betriebssystem, das beide Betriebssysteme effizient ausführt. Nach der Installation des Betriebssystems muss der Benutzer über eine Vorstellung von Kubernetes, der Kubectl -Befehlszeile und YAML -Dateien oder Pods verfügen, und der Benutzer muss eine Vorstellung von Clustern in Kubernetes haben.
Lassen Sie uns hier Schritt für Schritt den Prozess erläutern.
Schritt 1: Start Kubernetes Cluster
In diesem Schritt werden wir die Kubernetes starten, indem wir eine Minikube ausführen. Minikube ist ein Cluster in einem Kubernetes, der auf der lokalen Maschine läuft. Wir führen den Befehl aus, um Minikube zu starten:
kalsoom@kalsoom-virtualbox> minikube StartDrücken Sie die Eingabetaste und der Minikube wird gestartet, nachdem der Befehl erfolgreich ausgeführt wurde. Wie im gegebenen Screenshot hier gezeigt:
Starten Sie 2: Erstellen Sie einen Namespace in Kubernetes
In diesem Schritt erstellen wir einen Namespace in Kubernetes über die Kubectl -Befehlszeile. Wir führen den Befehl aus:
kalsoom@kalsoom-virtualbox> kubectl erstellen namespace k8bossNach der Befehlsausführung wird ein Namespace mit dem Namen K8boss erfolgreich in unserer Kubernetes -Anwendung erstellt. Wir können einen Namespace verwenden, um die Ressourcen im Cluster zu trennen und den Zugriff auf diese Ressourcen mithilfe von RBAC zu verwalten.
Schritt 3: Erstellen Sie eine RBAC -benutzerdefinierte Rolle in Kubernetes
In diesem Schritt werden wir mit Hilfe des Befehls problemlos eine benutzerdefinierte Rolle in Kubernetes erstellen. Wir führen den Befehl aus:
kalsoom@kalsoom -virtualbox> kubectl erstellen rolle my -kustom -role - - verb = list - - ressource = pods - - namespace k8bossDie Rolle wird nach der Befehlsausführung erfolgreich erstellt. In diesem Fall wurde im K8boss -Namespace eine neue Rolle mit einem bestimmten Namen und einer bestimmten Autorität erstellt.
Schritt 4: Beschreiben Sie Verben und Ressourcen in der Rolle
In diesem Schritt lernen wir, wie wir Verben und Ressourcen in Rollen beschreiben, wie im obigen Schritt definiert.
kalsoom@kalsoom -virtualbox> kubectl erstellen rolle my -kustom -role - - verb = liste - - verb = get - - ressource = pods - - ressourcen = dienste - - namespace k8bossWenn wir den Befehl ausführen, wird die Ausgabe angezeigt, die diese Rolle mit Verben und Ressourcen erstellt wird. In unserem Fall schaffen wir die Rolle. Es wird also eine Fehlermeldung angezeigt.
Schritt 5: Erstellen Sie eine Servicekontenrolle in Kubernetes
In diesem Schritt werden wir die Rolle des Servicekontos in Kubernetes diskutieren. Wir werden den Befehl ausführen, um ein Dienstkonto zu erstellen:
kalsoom@kalsoom-virtualbox> kubectl erstellen serviceAccount custom-sa -n k8bossDer Service-Acccount-Name als "Custom-SA" wird nach der Befehlsausführung erfolgreich in Kubernetes erstellt. Die internen Prozesse des Kubernetes -Clusters können die Genehmigung erteilt werden, indem sie mit Hilfe des Servicekontos authentifiziert werden, was auch als Mittel dazu dient.
Schritt 6: Details der Rolle des Servicekontos abrufen
In diesem Schritt möchten wir die Liste der Dienstkonto-Rollen in RBAC Kubernetes erhalten, und der Name des Servicekontos ist "Custom-SA" im Namespace 'K8boss' "Custom-SA". Wir führen den Befehl hier aus:
kalsoom@kalsoom -virtualbox> kubectl sa custom -sa -n k8boss -o yamlNach der Ausführung gibt dieser Befehl uns eine POD zurück, in der Informationen über das Servicekonto wie Art, Metadaten, Name, Namespace, Ressourcen usw. gespeichert sind.
Schritt 7: Überprüfen Sie die Liste der Rolle des Servicekontos
In diesem Schritt werden wir überprüfen. Wenn das Servicekonto die erforderlichen Berechtigungen hat, gibt der Befehl einen Wert von 'Ja' zurück. Ansonsten gibt es einen Wert von 'Nein' zurück. Wir führen den Befehl aus, um den Status zu überprüfen:
kalsoom@kalsoom -virtualbox> kubectl auth Can -i -Liste Pods - -AS = System: serviceAccount: k8boss: Custom -Sa -n K8bossWenn der Befehl ausgeführt wird, zeigt er, dass die Ausgabe "Nein" ist, wie im obigen Screenshot gezeigt, was bedeutet, dass das Servicekonto nicht über die erforderliche Berechtigung verfügt. Hier wird Kubectl 'Can -i' verwendet, um die auf das Servicekonto erteilte Genehmigung zu überprüfen.
Schritt 8: Erstellen Sie eine Rolle-Bindungsrolle bei RBAC Kubernetes
In diesem Schritt werden wir die Rollenbindung in Kubernetes diskutieren. Wir führen den Befehl aus:
kalsoom@kalsoom-virtualbox> kubectl erstellen rollenbindende my-kustom-rollen-bindende-rollen = my-kustomrolle--serviceAcount = k8bossNach dem Ausführen des Befehls wird die Rolle des Namens 'My-Custom-Roll-Binding' erfolgreich erstellt, wie im oben genannten Screenshot zu sehen ist, der die Rolle an das Dienstkonto "K8boss" bindet. Die Rollenbindung gewährt die in der Rolle definierten Berechtigungen für das Servicekonto, sodass sie bestimmte Aktionen innerhalb des Clusters ausführen können.
Schritt 9: Erstellen Sie einen rollenbindenden Cluster im Kubernetes-Cluster
In diesem Schritt erstellen wir mit Hilfe der Kubectl-Befehlszeile einen Rollenbindungscluster. Wir führen den Befehl aus:
kalsoom@kalsoom-virtualbox> kubectl erstellen clusterrolebinding my-kustom-clusterrol-bindend--clusterrole = my-custom cluster-role--serviceAccount = k8boss: benutzerdefinierte.saWenn der Befehl ausgeführt wird, wird gleichzeitig die Bindung der Cluster -Rolle erstellt. Mit diesem Befehl kann eine Clusterrolle an einen bestimmten Namespace -Servicekonto beigefügt werden.
Schritt 10- Überprüfen Sie die Erlaubnis für Pods
Darin überprüfen wir die Erlaubnis für das Servicekonto in Namespace K8boss. Wir führen den Befehl aus:
kalsoom@kalsoom -virtualbox> kubectl auth Can -i -Listenpods - - As = System.serviceacount: k8boss: cutom -sa -n k8bossWenn der Befehl ausgeführt wird, gibt er eine Ausgabe zurück, ja. Dies bedeutet, dass dieser POD die Erlaubnis hat, eine spezifische Aktion in Kubernetes auszuführen.
Abschluss
Wir haben die verschiedenen Rollen von RBAC in Kubernetes gelernt. Wir haben Informationen darüber erwähnt, was RBAC ist und wie dieses Konzept in Kubernetes verwendet wird. Alle Informationen werden ausführlich dargestellt und relevante Screenshots sind ebenfalls. Sie können RBAC -Rollen in Ihrer Anwendung mit Beispielen für ein besseres Verständnis üben.