Utwórz role RBAC w Kubernetes

Utwórz role RBAC w Kubernetes
Ten przewodnik dotyczy ról RBAC w Kubernetes. Szczegółowo omówimy konfigurację RBAC. Korzystając z różnych poleceń, omówiliśmy RBAC w narzędziu wiersza poleceń Kubectl. Możemy wyjaśnić każdy proces wizualnie, dołączając zrzuty ekranu do kodu lub poleceń w celu lepszego zrozumienia. Ten przewodnik pokazuje role i obowiązki RBAC w Kubernetes, dzieląc proces na różne kroki. W poniższych sekcjach lepiej zrozumiesz cały proces. Rozpocznijmy przewodnik z podstawami ról RBAC w Kubernetes.

Jaka jest rola RBAC w Kubernetes?

Kontrola dostępu oparta na roli jest określana jako RBAC w Kubernetes. W Kubernetes metoda kontroli dostępu oparta na rolach (RBAC) tworzy reguły kontroli dostępu, które określają, które użytkownicy mogą uzyskać dostęp do tego, które zasoby w klastrze. RBAC jest wdrażany przez role i wiązania ról. W Kubernetes wbudowane role RBAC to klasterRole, Rola i ServiceAccount. Rola klastra może być rozpowszechniana w całym klastrze. Rola znana jako rola może otrzymać przestrzeń nazwową. Każde konto usługi w przestrzeni nazw ma wewnętrzną rolę automatycznie zdefiniowaną.

Wymagania wstępne

Najnowsza wersja Ubuntu jest zainstalowana w twoim systemie i zainstalowana w wirtualnym polu w systemie, a następnie uruchamia wersję obsługującą Ubuntu na wirtualnym polu równoległym do systemu operacyjnego Windows. System użytkownika to 64-bitowy system operacyjny, który skutecznie uruchamia oba systemy operacyjne. Po instalacji systemu operacyjnego użytkownik musi mieć pojęcie o Kubernetes, linii poleceń Kubectl oraz plików YAML lub PODS, a użytkownik musi mieć pomysł na klastry w Kubernetes.

Wyjaśnijmy proces krok po kroku tutaj.

Krok 1: Rozpocznij klaster Kubernetes

W tym kroku rozpoczniemy Kubernetes, uruchamiając minikube. Minikube to klaster w Kubernetes, który działa na komputerze lokalnym. Uruchamiamy polecenie, aby rozpocząć miniKube:

kalsoom@kalsoom-virtualbox> minikube start

Naciśnij ENTER, a minikube zostanie uruchomione po pomyślnym wykonaniu polecenia. Jak pokazano na danym zrzucie ekranu tutaj:

Rozpocznij 2: Utwórz przestrzeń nazw w Kubernetes

W tym kroku utworzymy przestrzeń nazw w Kubernetes za pomocą wiersza poleceń Kubectl. Uruchamiamy polecenie:

kalsoom@kalsoom-virtualbox> kubectl Utwórz przestrzeń nazw K8Boss

Po wykonaniu polecenia przestrzeń nazw o nazwie K8Boss jest z powodzeniem utworzona w naszej aplikacji Kubernetes. Możemy użyć przestrzeni nazw do oddzielenia zasobów w klastrze i zarządzania dostępem do tych zasobów za pomocą RBAC.

Krok 3: Utwórz niestandardową rolę RBAC w Kubernetes

W tym kroku łatwo stworzymy niestandardową rolę w Kubernetes za pomocą polecenia. Uruchamiamy polecenie:

kalsoom@kalsoom -virtualbox> kubectl Utwórz rolę my -custom -role - - czasownik = lista - - zasób = pods - - przestrzeń nazw k8boss

Rola jest tworzona pomyślnie po wykonaniu polecenia. W takim przypadku w przestrzeni nazw K8BOSS utworzono nową rolę o określonej nazwie i autorytecie.

Krok 4: Opisz czasowniki i zasoby w tej roli

W tym etapie dowiemy się, jak opisujemy czasowniki i zasoby w role, zgodnie z definicją w powyższym etapie.

kalsoom@kalsoom -virtualbox> kubectl Utwórz rolę my -custom -role - - czasownik = lista - - czasownik = get - - zasob

Kiedy wykonujemy polecenie, wyświetla dane wyjściowe, że rola jest tworzona za pomocą czasowników i zasobów. W naszym przypadku tworzymy rolę. Tak więc wyświetlany jest komunikat o błędzie.

Krok 5: Utwórz rolę konta serwisowego w Kubernetes

Na tym etapie omówimy rolę konta usług w Kubernetes. Uruchomisz polecenie, aby utworzyć konto serwisowe:

kalsoom@kalsoom-virtualbox> kubectl Utwórz serviceacoCount Custom-Sa -n K8boss

Nazwa serwisu jako „Custom-SA” jest utworzona pomyślnie w Kubernetes po wykonaniu polecenia. Wewnętrzne procesy Kubernetes Cluster można przyznać autoryzację poprzez uwierzytelnienie ich za pomocą konta serwisowego, które również służy jako sposób na to.

Krok 6: Pobierz szczegóły roli konta serwisowego

W tym kroku chcemy uzyskać listę ról konta usług w RBAC Kubernetes, a nazwa konta usługi to „Custom-SA” w przestrzeni nazw „K8Boss”. Uruchamiamy polecenie tutaj:

kalsoom@kalsoom -virtualbox> kubectl get sa custom -sa -n k8boss -o yaml

Po wykonaniu to polecenie zwraca nam kapsułkę, w której informacje o koncie serwisowym są przechowywane jak miły, metadane, nazwa, przestrzeń nazw, zasobów itp.

Krok 7: Sprawdź listę roli konta serwisowego

W tym kroku sprawdzimy, czy konto serwisowe ma czasownik listy na POD. Jeśli konto serwisowe ma niezbędne uprawnienia, polecenie zwraca wartość „tak”; W przeciwnym razie zwraca wartość „nie”. Uruchamiamy polecenie, aby sprawdzić status:

kalsoom@kalsoom -virtualbox> Kubectl Auth Can -i List List - -AS = System: ServiceAccount: K8Boss: Custom -Sa -n K8boss

Gdy polecenie jest wykonywane, pokazuje, że wyjście jest „nie”, jak pokazano na powyższym zrzucie ekranu, co oznacza, że ​​konto serwisowe nie ma niezbędnego zezwolenia. Tutaj Kubectl „Can -i” jest używany w celu sprawdzenia zgody przyznanej na rachunku serwisowym.

Krok 8: Utwórz rolę wiążącą rolę w RBAC Kubernetes

Na tym etapie omówimy powiązanie roli w Kubernetes. Uruchamiamy polecenie:

kalsoom@kalsoom-virtualbox> kubectl stwórz role mijodawania My-Custom-Role--Rola = My-Custom-Role--ServiceACount = K8Boss

Po uruchomieniu polecenia wiązanie roli z nazwą „My-Custom-Rolle-Roling” jest tworzone z powodzeniem, jak widać na wyżej wymienionym zrzucie ekranu, który wiąże rolę z konto usługi „K8Boss”. Wiązanie roli zapewni uprawnienia zdefiniowane w roli konta usług.

Krok 9: Utwórz klaster wiązania ról w klastrze Kubernetes

W tym kroku tworzymy klaster wiążący role za pomocą wiersza poleceń Kubectl. Uruchamiamy polecenie:

kalsoom@kalsoom-virtualbox> kubectl twórz klasterRolebinding My-Custom-ClusterRole---klasterRole = My-Custom-Cluster-Role--ServiceACount = K8Boss: Custom.sa

Gdy polecenie jest wykonywane, wówczas powiązanie roli klastra jest tworzone jednocześnie. Korzystając z tego polecenia, rolę klastra może być dołączona do konta usługi określonej przestrzeni nazw.

Krok 10- Sprawdź zgodę na kapsuły

W tym sprawdzamy pozwolenie na konto usługi w przestrzeni nazw K8Boss. Uruchamiamy polecenie:

kalsoom@kalsoom -virtualbox> kubectl auth can -i lista PODS - - AS = System.ServiceAcount: K8boss: Cutom -sa -n k8boss

Po wykonaniu polecenia zwraca wyjście tak. Oznacza to, że ta zasad ma pozwolenie na wykonanie określonej akcji w Kubernetes.

Wniosek

Dowiedzieliśmy się o różnych role RBAC w Kubernetes. Wspominaliśmy o informacji o tym, co jest RBAC i jak ten koncepcja jest używana w Kubernetes. Wszystkie informacje są szczegółowo przedstawione, a odpowiednie zrzuty ekranu również są. Możesz ćwiczyć role RBAC w swojej aplikacji z przykładami w celu lepszego zrozumienia.