Korzystanie z pulpitu nawigacyjnego w celu uzyskania dostępu do klastra Kubernetes po wdrożeniu w NSIS OpenStack Magnum
Po utworzeniu klastra Kubernetes można uzyskać do niego dostęp za pomocą narzędzia wiersza poleceń kubectl lub za pomocą interfejsu wizualnego, zwanego Kubernetes dashboard. Dashboard jest interfejsem GUI do klastra Kubernetes, podobnie jak kubectl jako interfejs CLI do klastra Kubernetes.
W tym artykule pokazano, jak zainstalować pulpit nawigacyjny Kubernetes.
Co będziemy omawiać
Wdrażanie pulpitu nawigacyjnego
Tworzenie przykładowego użytkownika
Tworzenie sekretu dla użytkownika admin
Pobieranie tokena na okaziciela do uwierzytelniania w dashboardzie
Tworzenie oddzielnego okna terminala dla dostępu proxy
Uruchamianie pulpitu nawigacyjnego w przeglądarce
Wymagania wstępne
Nr 1 Hosting
Potrzebne jest konto hostingowe NSIS z interfejsem Horizon https://horizon.cloudferro.com.
Nr 2 Cluster i kubectl powinny już działać
Aby ostatecznie skonfigurować klaster i podłączyć go do narzędzia kubectl, zobacz ten artykuł Jak uzyskać dostęp do klastra Kubernetes po wdrożeniu przy użyciu Kubectl na NSIS OpenStack Magnum?.
Ważnym pośrednim wynikiem tego artykułu jest polecenie takie jak to:
export KUBECONFIG=/home/user/k8sdir/config
Zwróć uwagę na dokładną komendę, która w twoim przypadku ustawia wartość zmiennej KUBECONFIG, ponieważ będzie ona potrzebna do uruchomienia nowego okna terminala, z którego będzie uruchamiany dashboard.
Krok 1 Wdrożenie pulpitu nawigacyjnego
Zainstaluj go za pomocą następującego polecenia:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
Wynik jest następujący
Krok 2 Tworzenie przykładowego użytkownika
Następnie tworzymy token na okaziciela, który będzie służył jako token autoryzacyjny dla Dashboard. W tym celu należy utworzyć dwa pliki lokalne i „wysłać” je do chmury za pomocą polecenia kubectl. Pierwszy plik nosi nazwę dashboard-adminuser.yaml, a jego zawartość to
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
Użyj wybranego edytora tekstu, aby utworzyć ten plik, na MacOS lub Linux możesz użyć nano, jak poniżej:
nano dashboard-adminuser.yaml
Zainstaluj ten plik w klastrze Kubernetes za pomocą tego polecenia:
kubectl apply -f dashboard-adminuser.yaml
Drugi plik do utworzenia to
nano dashboard-clusterolebinding.yaml
a jego zawartość powinna być następująca:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
Polecenie wysłania go do chmury to
kubectl apply -f dashboard-clusterolebinding.yaml
Krok 3 Utwórz sekret dla użytkownika admin
Musimy ręcznie utworzyć token dla użytkownika admin.
Utworzenie pliku admin-user-token.yaml
nano admin-user-token.yaml
Wprowadź następujący kod:
apiVersion: v1
kind: Secret
metadata:
name: admin-user-token
namespace: kubernetes-dashboard
annotations:
kubernetes.io/service-account.name: "admin-user"
type: kubernetes.io/service-account-token
Wykonaj go za pomocą
kubectl apply -f admin-user-token.yaml
Krok 4 Uzyskanie tokena na okaziciela do uwierzytelniania w dashboardzie
Ostatnim krokiem jest uzyskanie tokena na okaziciela, który jest długim ciągiem, który będzie uwierzytelniał połączenia z Dashboard:
kubectl -n kubernetes-dashboard get secret admin-user-token -o jsonpath="{.data.token}" | base64 --decode
Ciąg tokena na okaziciela zostanie wydrukowany na ekranie terminala.
Skopiuj go do edytora tekstu, będzie potrzebny po uzyskaniu dostępu do interfejsu użytkownika Dashboard za pośrednictwem połączenia HTTPS.
Informacja
Jeśli ostatnim znakiem ciągu tokenów na okaziciela jest %, może to być znak oznaczający koniec ciągu, ale nie będący jego częścią. Jeśli skopiujesz ciąg znaków na okaziciela i nie zostanie on rozpoznany, spróbuj skopiować go bez tego końcowego znaku %.
Krok 5 Utwórz oddzielne okno terminala dla dostępu proxy
Użyjemy teraz serwera proxy dla serwera API Kubernetes. Serwer proxy
automatycznie obsługuje certyfikaty podczas uzyskiwania dostępu do interfejsu API Kubernetes,
łączy się z rozszerzeniami API lub pulpitami nawigacyjnymi (jak w tym artykule),
umożliwia lokalne testowanie wywołań API przed zautomatyzowaniem ich w skryptach.
Aby włączyć połączenie, należy uruchomić oddzielne okno terminala i najpierw skonfigurować polecenie konfiguracyjne dla tego okna:
export KUBECONFIG=/home/user/k8sdir/config
*Zmień ten adres, aby wskazywał na twój własny plik konfiguracyjny na twoim komputerze.
Następne polecenie w nowym oknie to:
kubectl proxy
Serwer jest aktywowany na porcie 8001:
Krok 6 Zobacz pulpit nawigacyjny w przeglądarce
Następnie wprowadź ten adres w przeglądarce:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Wprowadź token, kliknij Sign In i uzyskaj interfejs Dashboard dla klastra Kubernetes.
Kubernetes Dashboard organizuje pracę z klastrem w wizualny i interaktywny sposób. Na przykład, kliknij na Nodes po lewej stronie, aby zobaczyć węzły, które posiada k8s-cluster.
Co robić dalej
Możesz nadal korzystać z kubectl lub alternatywnie z Dashboard. Tak czy inaczej, możesz
wdrażać aplikacje w klastrze,
dostęp do wielu klastrów,
tworzyć load balancery,
dostęp do aplikacji w klastrze za pomocą przekierowania portów,
Użyj usługi, aby uzyskać dostęp do aplikacji w klastrze,
lista obrazów kontenerów w klastrze
korzystać z usług, wdrożeń i wszystkich innych zasobów w klastrze Kubernetes.