Skip to main content
  • »
  • KUBERNETES »
  • Domyślne szablony klastrów Magnum w NSIS Cloud

Domyślne szablony klastrów Magnum w NSIS Cloud

Domyślne szablony klastrów Magnum definiują standardowe konfiguracje do udostępniania klastrów Kubernetes.

Ostrzeżenie

Dostępność szablonów jest zmienna. Zestaw szablonów, obsługiwane wersje Kubernetes oraz funkcje szablonów (na przykład sterownik dostarczania, localstorage, cilium, dualstack) mogą zmieniać się w czasie. Zawsze traktuj listę szablonów wyświetlaną w Horizon (lub zwracaną przez CLI) jako źródło autorytatywne.

Co omówimy w tym artykule

Wymagania wstępne

1. Konto

Potrzebujesz konta hostingowego NSIS Cloud z dostępem do Horizon: https://horizon.cloudferro.com/.

2. Znajomość poleceń OpenStack

Upewnij się, że masz zainstalowane odpowiednie polecenia OpenStack:

Jak zainstalować klientów OpenStack i Magnum dla interfejsu wiersza poleceń w NSIS Horizon?

Dostępne szablony klastrów

Wyświetlanie szablonów w Horizon

Szablon klastra wybierasz podczas tworzenia klastra, jak opisano w Jak utworzyć klaster Kubernetes przy użyciu NSIS OpenStack Magnum.

W Horizon możesz wyświetlić dostępne szablony klastrów w dwóch różnych miejscach:

  • ProjectContainer InfraCluster Templates

  • ProjectContainer InfraClustersCreate ClusterCluster Template

Lista szablonów jest definiowana przez bieżącą lokalizację (site). Listę widoczną w Horizon traktuj jako autorytatywną.

../_images/nsis-31.png

Wyświetlanie szablonów w CLI

W CLI użyj Jak korzystać z interfejsu wiersza poleceń dla klastrów Kubernetes w NSIS OpenStack Magnum?.

Aby wyświetlić listę dostępnych szablonów, uruchom:

openstack coe cluster template list

Przykładowa odpowiedź:

../_images/nsis-81.png

Ważne

Jeśli polecenie CLI zwraca „The service catalog is empty”, ale Horizon pokazuje szablony, ponownie zainicjuj właściwy plik OpenRC lub skrypt application-credential i upewnij się, że używasz właściwego projektu.

Znaczenie sufiksów w skrócie

Sufiks

Znaczenie

localstorage

Przeznaczone dla węzłów master z

magazynem NVMe (flavors localstorage).

cilium

Używa Cilium CNI zamiast domyślnego Calico.

vgpu

Udostępnia klaster w modelu vGPU-first

(niezalecane; dodaj pulę węzłów vGPU później).

dualstack

Włączona sieć dualstack IPv4/IPv6.

numbers / extra chars

Tylko do użytku wewnętrznego — można zignorować.

Podstawowe możliwości szablonu klastra

Szablon klastra Magnum definiuje bazowe możliwości klastra, który zamierzasz utworzyć.

Gdy przeglądasz szablon w Horizon (lub gdy wyświetlasz listę szablonów w CLI), skup się na tych możliwościach:

Wersja Kubernetes

Szablon udostępnia określoną wersję Kubernetes (zwykle widoczną w nazwie szablonu). Na przykład szablon o wersji k8s-1.25 udostępnia Kubernetes 1.25, a k8s-v1.29 udostępnia Kubernetes 1.29.

Więcej informacji o zasadach kompatybilności wersji Kubernetes (version skew policy) znajdziesz tutaj: https://kubernetes.io/releases/version-skew-policy/

Sterownik dostarczania

Sterownik ClusterAPI

Te klastry są aktualizowalne. Możesz wykonać stopniową (rolling) aktualizację do nowszej wersji Kubernetes bez odtwarzania klastra. Numery wersji dla sterowników ClusterAPI zaczynają się od 1.29 i wyżej.

Zobacz Automatyczna aktualizacja klastra Kubernetes w NSIS OpenStack Magnum

Informacja

Dla nowych klastrów zawsze używaj najnowszej wersji szablonów klastrów.

Ponadto lista dostępnych szablonów będzie się zmieniać w czasie; będą dodawane nowe wersje, a starsze będą oznaczane jako przestarzałe (deprecated).

Wtyczki sieciowe dla klastrów Kubernetes

Szablony klastrów Kubernetes w chmurze NSIS Cloud używają wtyczek calico lub cilium do kontrolowania ruchu sieciowego. Obie są zgodne ze standardem CNI.

Calico (domyślne)

Calico używa protokołu BGP do kierowania pakietów sieciowych w stronę adresów IP podów. Calico może być szybsze niż konkurencja, ale jego najbardziej wyróżniającą cechą jest obsługa polityk sieciowych (network policies). Dzięki nim możesz definiować, które pody mogą wysyłać i odbierać ruch oraz zarządzać bezpieczeństwem sieci.

Calico może stosować polityki do wielu typów endpointów, takich jak pody, maszyny wirtualne oraz interfejsy hosta. Wspiera także tożsamość kryptograficzną. Polityki Calico mogą być używane samodzielnie lub razem z politykami sieciowymi Kubernetes.

Cilium

Cilium czerpie swoją moc z technologii eBPF. Udostępnia programowalne haki dla stosu sieciowego w jądrze Linuxa. eBPF używa tych haków do przeprogramowania zachowania środowiska uruchomieniowego Linuxa bez utraty szybkości lub bezpieczeństwa. Nie ma też potrzeby ponownej kompilacji jądra Linuxa, aby stało się świadome zdarzeń w klastrach Kubernetes. W istocie eBPF umożliwia Linuxowi nadzorowanie Kubernetes i odpowiednie reagowanie.

W przypadku Cilium zależności pomiędzy elementami klastra wyglądają następująco:

  • pody w klastrze (jak również sam sterownik Cilium) używają eBPF zamiast korzystać bezpośrednio z jądra Linuxa,

  • kubelet używa sterownika Cilium poprzez zgodność z CNI oraz

  • sterownik Cilium implementuje polityki sieciowe, usługi i load balancing, logowanie przepływów i polityk, a także obliczanie różnych metryk.

Użycie Cilium ma szczególnie sens, jeśli potrzebujesz precyzyjnych kontroli bezpieczeństwa lub musisz zmniejszyć opóźnienia w dużych klastrach Kubernetes.

Jak zdecydować, którego szablonu użyć?

Wybór właściwego szablonu zależy od wersji Kubernetes oraz funkcji, których potrzebujesz. Kieruj się następującą ścieżką:

  1. Wybierz wersję Kubernetes (najnowszą dostępną dla produkcji, starszą dla kompatybilności).

  2. Sprawdź potrzeby dot. storage (czy potrzebujesz localstorage / masterów na NVMe?).

  3. Wybierz sterownik sieci (Calico lub Cilium).

  4. Sprawdź funkcje specjalne (na przykład dualstack). Unikaj przestarzałych szablonów vGPU-first.

Ograniczenia zmiany szablonów

Po utworzeniu klastra nie możesz bezpośrednio zmienić jego szablonu.

Klastry oparte o ClusterAPI

W przypadku klastrów opartych o ClusterAPI nie możesz przełączyć szablonów, ale możesz je zaktualizować.

Oznacza to, że możesz wykonać aktualizację in-place do nowszej wersji, używając nowszego szablonu, na przykład:

openstack coe cluster upgrade \
  --cluster <cluster-name-or-id> \
  --cluster-template <new-template-id>

Zobacz Automatyczna aktualizacja klastra Kubernetes w NSIS OpenStack Magnum