Skip to main content
  • »
  • KUBERNETES »
  • Włączenie uruchamiania aplikacji Kubeapps na klastrze NSIS Magnum Kubernetes

Włączenie uruchamiania aplikacji Kubeapps na klastrze NSIS Magnum Kubernetes

Kubeapps app-launcher umożliwia szybkie wdrażanie aplikacji na klastrze Kubernetes, z wygodnym graficznym interfejsem użytkownika. W tym artykule przedstawiamy wskazówki dotyczące tworzenia klastra Kubernetes z włączoną funkcją Kubeapps i wdrażania przykładowych aplikacji.

Co będziemy omawiać

  • Krótkie wprowadzenie - wdrażanie aplikacji na Kubernetes

  • Utwórz klaster z włączoną funkcją szybkiego uruchamiania Kubeapps

  • Dostęp do usługi Kubeapps lokalnie z poziomu przeglądarki

  • Uruchom przykładową aplikację z Kubeapps

  • Obecne ograniczenia

Wymagania wstępne

Nr 1 Hosting

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

Zasoby, których potrzebujesz i używasz, będą odzwierciedlały stan Twojego portfela konta. Sprawdź statystyki swojego konta na stronie https://nsis-cloud-innovation.cloudferro.com/login.

Nr 2 Tworzenie klastra Kubernetes z poziomu interfejsu graficznego Horizon

Wiedza na temat tworzenia klastra Kubernetes z poziomu interfejsu graficznego Horizon została opisana w artykule Jak utworzyć klaster Kubernetes przy użyciu NSIS OpenStack Magnum.

Nr 3 Jak uzyskać dostęp do klastra Kubernetes po wdrożeniu

Dostęp do wiersza poleceń systemu Linux i możliwość dostępu do klastra, jak opisano w artykule Jak uzyskać dostęp do klastra Kubernetes po wdrożeniu przy użyciu Kubectl na NSIS OpenStack Magnum?

Nr 4 Handling Helmet

Pewna znajomość Helm, aby dostosować wdrożenia aplikacji za pomocą Kubeapps. Zobacz Wdrażanie Helm Charts na klastrach Magnum Kubernetes w chmurze NSIS Cloud.

Nr 5 Dostęp do chmury CloudFerro

Kontekst

Wdrażanie złożonych aplikacji na Kubernetes staje się znacznie bardziej wydajne i wygodne dzięki Helm. Dodatkowo, Kubeapps, program do uruchamiania aplikacji z graficznym interfejsem użytkownika (GUI), zapewnia przyjazny dla użytkownika punkt wyjścia do zarządzania aplikacjami. Ten graficzny interfejs użytkownika pozwala na wdrażanie i zarządzanie aplikacjami na klastrze K8s, ograniczając potrzebę głębokiej znajomości wiersza poleceń.

Kubeapps app-launcher można włączyć podczas tworzenia klastra. Będzie on działał jako usługa lokalna, dostępna z poziomu przeglądarki.

Utworzenie klastra Kubernetes z włączoną funkcją szybkiego uruchamiania Kubeapps

Tworzenie klastra Kubernetes z włączonymi aplikacjami Kubeapps odbywa się zgodnie z ogólnymi wytycznymi opisanymi w warunku wstępnym nr 2.

Podczas tworzenia klastra w Horizon zgodnie z tymi wytycznymi:

  • wstawić trzy etykiety z poniższymi wartościami w zakładce „Zaawansowane” i

  • wybrać, aby zastąpić etykiety.

kubeapps_enabled=true,helm_client_tag=v3.11.3,helm_client_sha256=ca2d5d40d4cdfb9a3a6205dd803b5bc8def00bd2f13e5526c127e9b667974a89

Ważne

Pomiędzy wartościami etykiet nie może być spacji.

Wstawianie tych etykiet pokazano na poniższym obrazku:

../_images/image-2024-2-13_13-15-171.png

Dostęp do usługi Kubeapps lokalnie z poziomu przeglądarki

Po utworzeniu klastra należy uzyskać dostęp do konsoli systemu Linux. Powinieneś mieć dostępne narzędzie wiersza poleceń kubectl, jak określono w warunku wstępnym nr 3.

Usługa Kubeapps jest włączona dla konta usługi kubeapps-operator. Musimy uzyskać token uwierzytelniający to konto usługi w klastrze.

Aby wydrukować token, uruchom następujące polecenie:

kubectl get secret __DOLLAR_SIGN__(kubectl get serviceaccount kubeapps-operator -o jsonpath='{.secrets[].name}') -o go-template='{{.data.token | base64decode}}' && echo

W rezultacie wydrukowany zostanie długi token, podobny do poniższego:

../_images/image-2024-2-13_14-44-491.png

Skopiuj token. Następnie uruchom następujące polecenie, aby tunelować ruch między komputerem lokalnym a usługą Kubeapps:

kubectl port-forward -n kube-system svc/magnum-apps-kubeapps 8080:80

Wpisz localhost:8080 w przeglądarce, aby uzyskać dostęp do Kubeapps, wklej skopiowany wcześniej token i kliknij Submit:

../_images/image-2024-2-13_15-39-521.png

Możesz teraz obsługiwać aplikacje Kubeapps:

../_images/image-2024-2-13_15-48-381.png

Uruchom przykładową aplikację z Kubeapps

Kliknięcie przycisku „Catalog” powoduje wyświetlenie długiej listy aplikacji dostępnych do pobrania ze sklepu z aplikacjami Kubeapps.

../_images/image-2024-2-13_16-8-431.png

Jako przykład zainstalujemy serwer WWW Apache i aby to zrobić, kliknij pole „Apache”. Należy pamiętać, że interfejs Kubeapps jest graficznym skrótem, który za kulisami instaluje wykres Helm na klastrze.

Po zapoznaniu się z wymaganiami wstępnymi i dodatkowymi informacjami na temat tego wykresu, kliknij Deploy w prawym górnym rogu:

../_images/image-2024-2-13_15-58-451.png

Następny ekran z domyślnie włączoną zakładką „Visual Editor” pozwala na zdefiniowanie kilku głównych zmian w sposobie wdrażania usługi, np. określenie typu usługi lub liczby replik. Dostęp do bardziej szczegółowych konfiguracji (odzwierciedlających plik konfiguracyjny Helm chart values.yaml) jest również dostępny w zakładce GUI „YAML editor”.

Aby postępować zgodnie z artykułem, nie zmieniaj ustawień domyślnych, wprowadź tylko nazwę wdrożenia (w naszym przypadku apache-test) i naciśnij Deploy z dostępną wersją:

../_images/image-2024-2-13_16-13-211.png

Ponieważ wdrożyliśmy usługę typu LoadBalancer, musimy poczekać kilka minut, aż zostanie ona wdrożona w chmurze. Po zakończeniu tego procesu możemy zobaczyć ekran potwierdzający zakończenie wdrożenia:

../_images/image-2024-2-13_16-31-371.png

Ponadto w konsoli możemy dwukrotnie sprawdzić, czy usługa Apache, wraz z wdrożeniem i podem, została poprawnie wdrożona. Wykonaj następujące polecenia:

kubectl get deployments
kubectl get pods
kubectl get services

Wyniki będą podobne do tych:

../_images/image-2024-2-13_16-29-351.png

Obecne ograniczenia

Zarówno Kubeapps, jak i wykresy Helm wdrażane przez ten program uruchamiający są projektami typu open source, które stale ewoluują. Wersje zainstalowane w chmurze NSIS Cloud zapewniają migawkę tego rozwoju, jako wygodną funkcję.

Oczekuje się, że nie wszystkie aplikacje można zainstalować jednym kliknięciem, a w każdym konkretnym przypadku wymagana będzie dodatkowa konfiguracja.

Jednym ze znanych ograniczeń jest to, że niektóre wykresy będą wymagać oświadczeń o trwałych woluminach RWM (ReadWriteMany) do prawidłowego działania. Obecnie trwałe woluminy RWM nie są natywnie dostępne w chmurze NSIS Cloud. Obejściem może być instalacja serwera NFS i wdrożenie StorageClass z provisionerem obsługującym RWM, np. przy użyciu projektu nfs-subdir-external-provisioner z GitHub.

Dla NFS na klastrze Kubernetes, zobacz Tworzenie i dostęp do serwera NFS z Kubernetes na NSIS.