Skip to main content
  • »
  • KUBERNETES »
  • Jak uzyskać dostęp do klastra Kubernetes po wdrożeniu przy użyciu Kubectl na NSIS OpenStack Magnum?
  • NSIS Cloud

Jak uzyskać dostęp do klastra Kubernetes po wdrożeniu przy użyciu Kubectl na NSIS OpenStack Magnum?

W tym samouczku zaczniesz od świeżo zainstalowanego klastra Kubernetes na serwerze Cloudferro OpenStack i podłączysz do chmury główne narzędzie Kubernetes, kubectl.

Co zostanie omówione?

  • Jak połączyć kubectl z serwerem OpenStack Magnum

  • Jak uzyskać dostęp do klastrów za pomocą kubectl

Wymagania wstępne

Nr 1 Hosting

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

Nr 2 Instalacja kubectl

Standardowe typy instalacji kubectl są opisane na stronie Install Tools na oficjalnej witrynie Kubernetes.

Nr 3 Klaster już zainstalowany na stronie Magnum

Być może masz już zainstalowany klaster, jeśli zostały wykonane czynności opisane w jednym z tych artykułów:

  • Możesz też utworzyć tylko w tym celu nowy klaster o nazwie k8s-cluster, używając następującego polecenia CLI:

openstack coe cluster create \
--cluster-template k8s-v1.31.10-1.0.0-cilium \
--labels eodata_access_enabled=false,floating-ip-enabled=true,master-lb-enabled=true \
--merge-labels \
--keypair sshkey \
--master-count 3 \
--node-count 2 \
--master-flavor eo1a.large \
--flavor eo1a.large \
k8s-cluster

Ostrzeżenie

Utworzenie nowego klastra zajmuje około 10–20 minut.

W dalszej części tego tekstu będziemy używać nazwy klastra k8s-cluster - zamiast niej należy użyć nazwy istniejącego klastra.

Nr 4 Połączenie klienta openstack z chmurą

Przygotuj klienty openstack i magnum, wykonując Krok 2 Podłączanie klientów OpenStack i Magnum do chmury Horizon z artykułu Jak zainstalować klientów OpenStack i Magnum dla interfejsu wiersza poleceń w NSIS Horizon?.

Plan

  • Wykonaj kroki wymienione w sekcji Wymaganie wstępne nr 2 i zainstaluj kubectl na wybranej platformie.

  • Użyj już istniejącego klastra Kubernetes na Cloudferro lub zainstaluj nowego jedna z metod podanych w sekcji Wymagania wstępne Nr 3.

  • Wykonaj krok 2 z sekcji Wymaganie wstępne nr 4, aby włączyć połączenie klientów openstack i magnum z chmurą.

Następnie należy połączyć kubectl z chmurą.

Krok 1 Utworzenie katalogu do pobrania certyfikatów

Utwórz nowy katalog o nazwie k8sdir, do którego zostaną pobrane certyfikaty:

mkdir -p k8sdir

Po pobraniu pliku certyfikatu wykonaj polecenie podobne do tego:

export KUBECONFIG=/home/tmendel/k8sdir/config

Zakłada to, że:

  • jest używana środowiska Ubuntu (/home),

  • użytkownikiem jest tmendel,

  • masz właśnie utworzony katalog /k8sdir oraz, że

  • config to plik zawierający dane do autoryzacji do klastra Kubernetes.

Informacja

W systemie Linux plik może mieć rozszerzenie lub nie, podczas gdy w systemie Windows plik musi mieć rozszerzenie.

Krok 2A Pobranie certyfikatów z serwera przy użyciu poleceń CLI

Użyj polecenia

openstack coe cluster config

aby pobrać pliki, których kubectl potrzebuje do uwierzytelnienia na serwerze. Zobacz jego parametry wejściowe za pomocą parametru –help:

openstack coe cluster config --help
usage: openstack coe cluster config [-h]
   [--dir <dir>] [--force] [--output-certs]
   [--use-certificate] [--use-keystone]
    <cluster>

Get Configuration for a Cluster

positional arguments:
  <cluster>    The name or UUID of cluster to update

optional arguments:
  -h, --help           show this help message and exit
  --dir <dir>  Directory to save the certificate and config files.
  --force              Overwrite files if existing.
  --output-certs       Output certificates in separate files.
  --use-certificate    Use certificate in config files.
  --use-keystone       Use Keystone token in config files.

Pobierz certyfikaty do katalogu k8sdir:

openstack coe cluster config \
--dir k8sdir \
--force \
--output-certs \
k8s-cluster

Do katalogu zostaną pobrane cztery pliki:

ls k8sdir
ca.pem               cert.pem        config          key.pem

Parametr –output-certs tworzy pliki .pem, które są certyfikatami X.509, pierwotnie utworzonymi tak, aby mogły być wysyłane pocztą elektroniczną. Plik config łączy pliki .pem i zawiera wszystkie informacje potrzebne kubectl do uzyskania dostępu do chmury. Użycie –force powoduje zastąpienie ewentualnych istniejących plików. więc masz gwarancję, że pracujesz tylko z najnowszymi wersjami plików z serwera.

Wynik tego polecenia jest przedstawiony w wierszu poniżej:

export KUBECONFIG=/home/tmendel/k8sdir/config

Skopiuj to polecenie i wklej je do wiersza poleceń terminala, a następnie naciśnij klawisz Enter na klawiaturze, aby je wykonać. Zmienna systemowa KUBECONFIG zostanie w ten sposób zainicjalizowana, a polecenie kubectl będzie miało stale dostęp do pliku config.

Cała procedura wygląda następująco w oknie terminala:

../_images/download_config_cli_nsis_pl1.png

Krok 2B Pobieranie certyfikatów z serwera przy użyciu poleceń Horizon

Możesz pobrać plik konfiguracyjny z Horizon bezpośrednio na swój komputer. Najpierw wyświetl listę klastrów za pomocą polecenia Container Infra -> Clusters, znajdź klaster i kliknij menu rozwijane po prawej stronie w jego kolumnie:

../_images/download_config_horizon_nsis_pl1.png

Kliknij opcję Get Cluster Config, a plik konfiguracyjny zostanie pobrany na twój komputer:

../_images/cluster_config_editor_nsis_pl1.png

Dla ujednolicenia, zapisz go w tym samym folderze k8sdir co plik config oraz zmień mu nazwę dodając -1 na końcu Dodatkowo ustaw zmienną KUBECONFIG na ten adres:

export KUBECONFIG=/home/tmendel/k8sdir/k8s-cluster_config-1.yaml

W zależności od środowiska może być konieczne otwarcie nowego okna terminala, aby powyższe polecenie zadziałało.

Krok 3 Sprawdzenie, czy kubectl ma dostęp do chmury

Podstawowe dane o klastrze można wyświetlić za pomocą poniższego polecenia:

kubectl get nodes -o wide

Rezultat jest następujący:

../_images/get_nodes_large_nsis_pl1.png

To potwierdza, ze kubectl ma prawidłowy dostęp do chmury.

Aby zobaczyć dostępne polecenia kubectl, użyj polecenia:

kubectl --help

Lista jest zbyt długa, aby ją tutaj przedstawić, jej początek wygląda następująco:

../_images/kubectl_help_nsis_pl1.png

kubectl ma również długą listę opcji, czyli parametrów, które można zastosować do dowolnego polecenia. Można je zobaczyć za pomocą polecenia

kubectl options

Co można zrobić dalej?

Za pomocą kubectl można:

  • 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.

Wizualną alternatywą dla kubectl jest Kubernetes dashboard. Aby go zainstalować, zobacz artykuł Korzystanie z dashboardu w celu uzyskania dostępu do klastra Kubernetes po wdrożeniu OpenStack Magnum w NSIS Cloud.