Skip to main content
  • »
  • KUBERNETES »
  • Korzystanie z pulpitu nawigacyjnego w celu uzyskania dostępu do klastra Kubernetes po wdrożeniu w NSIS OpenStack Magnum

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

../_images/dashboard_installed1.png

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.

../_images/new-s3cmd-download-691.png

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:

../_images/starting_to_server1.png

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/
../_images/dashboard21.png

Wprowadź token, kliknij Sign In i uzyskaj interfejs Dashboard dla klastra Kubernetes.

../_images/dashboard_view1.png

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.