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

Korzystanie z dashboardu w celu uzyskania dostępu do klastra Kubernetes po wdrożeniu OpenStack Magnum w NSIS Cloud

Po utworzeniu klastra Kubernetes można uzyskać do niego dostęp za pomocą narzędzia wiersza poleceń kubectl lub za pomocą interfejsu graficznego Kubernetes dashboard. Dashboard jest interfejsem GUI do klastra Kubernetes, podobnie jak kubectl jako jego interfejsem CLI.

W tym artykule przedstawiono, jak zainstalować dashboard Kubernetes.

Co zostanie omówione?

  • Wdrażanie dashboardu

  • 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 dashboardu w przeglądarce

Wymagania wstępne

Nr 1 Hosting

Wymagane jest konto hostingowe NSIS z interfejsem Horizon https://horizon.cloudferro.com.

Nr 2 Działający klaster i kubectl

Aby ostatecznie skonfigurować klaster i podłączyć go do narzędzia kubectl, zapoznaj się z artykułem 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ładne polecenie, które 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 dashboardu

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, który będzie służył jako token autoryzacyjny dla Dashboardu. W tym celu należy utworzyć dwa pliki lokalne i „przesł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. W systemie MacOS lub Linux możesz użyć nano, jak poniżej:

nano dashboard-adminuser.yaml

Zainstaluj ten plik w klastrze Kubernetes za pomocą polecenia:

kubectl apply -f dashboard-adminuser.yaml

Drugi plik, który należy utworzyć to:

nano dashboard-clusterolebinding.yaml

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 Utworzenie sekretu dla użytkownika admin

Musimy ręcznie utworzyć token dla użytkownika admin.

Utwórz plik 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ą polecenia

kubectl apply -f admin-user-token.yaml

Krok 4 Uzyskanie tokena na okaziciela do uwierzytelniania w dashboardzie

Ostatnim krokiem jest uzyskanie tokena na okaziciela – długiego ciągu znaków, który będzie uwierzytelniał połączenia z dashboardem:

kubectl -n kubernetes-dashboard get secret admin-user-token -o jsonpath="{.data.token}" | base64 --decode

Ciąg znaków tokena na okaziciela zostanie wyświetlony na ekranie terminala.

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

Skopiuj go do edytora tekstu, będzie on potrzebny po uzyskaniu dostępu do interfejsu użytkownika Dashboardu za pośrednictwem połączenia HTTPS.

Informacja

Jeśli ostatnim znakiem tokena na 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 końcowego znaku %.

Krok 5 Utworzenie oddzielnego okna 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 przygotować polecenie konfiguracyjne dla tego okna:

export KUBECONFIG=/home/user/k8sdir/config

Zmień ten adres, aby wskazywał na twój 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 Wyświetlenie dashboardu w przeglądarce

Następnie wprowadź w przeglądarce ten adres:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
../_images/dashboard21.png

Wprowadź token, kliknij Sign In, aby wyświetlić interfejs Dashboard dla klastra Kubernetes.

../_images/dashboard_view1.png

Dashboard Kubernetes organizuje pracę z klastrem w wizualny i interaktywny sposób. Na przykład, kliknij Nodes po lewej stronie, aby zobaczyć węzły z klastra k8s-cluster.

Co można zrobić dalej?

Możesz nadal korzystać z kubectl lub alternatywnie z Dashboard. Tak czy inaczej, możesz:

  • wdrażać aplikacje w klastrze,

  • uzyskiwać dostęp do wielu klastrów,

  • tworzyć load balancery,

  • uzyskiwać dostęp do aplikacji w klastrze za pomocą przekierowania portów,

  • używać usługi, aby uzyskać dostęp do aplikacji w klastrze,

  • wyświetlać listę obrazów kontenerów w klastrze

  • korzystać z usług, wdrożeń i wszystkich innych zasobów w klastrze Kubernetes.