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:
Project → Container Infra → Cluster Templates
Project → Container Infra → Clusters → Create Cluster → Cluster Template
Lista szablonów jest definiowana przez bieżącą lokalizację (site). Listę widoczną w Horizon traktuj jako autorytatywną.
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ź:
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ą:
Wybierz wersję Kubernetes (najnowszą dostępną dla produkcji, starszą dla kompatybilności).
Sprawdź potrzeby dot. storage (czy potrzebujesz localstorage / masterów na NVMe?).
Wybierz sterownik sieci (Calico lub Cilium).
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
