W tym artykule poznasz pięć najważniejszych (naszym zdaniem) zmian, jakie przyniosła v1.26 Kubernetes.
Kubernetes v1.26 to już teraźniejszość
Listopad już za nami, podobnie jak Kubernetes v1.25. Poniżej znajdziesz 5 zmian, które naszym subiektywnym zdaniem są najbardziej interesujące.
W wersji 1.26 wiele rzeczy zostało usuniętych. Czy słusznie? Dowiesz się tego w artykule.
1) Usunięcie v2beta2 HorizontalPodAutoscaler API
Korzystasz z HPA do autoskalowania? Koniecznie sprawdź, czy nie używasz wersji autoscaling/v2beta2
Wersja autoscaling/v2beta2
dla HorizontalPodAutoscaler nie jest już obsługiwana w najnowszej wersji Kubernetes. Nie zapomnij zrobić migracji do wersji autoscaling/v2
.
A jeśli chcesz wykryć w swoich plikach manifest przestarzałe wersje API, możesz rozważyć użycie tych narzędzi:
https://github.com/FairwindsOps/pluto
https://github.com/doitintl/kube-no-trouble
2) Usunięcie mechanizmów uwierzytelniania dla Azure i Google
W wersji 1.26 usunięto wbudowany w kubectl
mechanizm uwierzytelnianie z klastrami w chmurach Azure i Google.
Jest to analogiczny krok jak w przypadku wyniesienia z kodu Kubernetesa logiki odpowiedzialnej za komunikację z zewnętrznym storage’m – do niezależnych CSI Storage Drivers.
W przypadku uwierzytelniania chodzi o to, by kod za to odpowiedzialny był zarządzany przez dostawcę klastra (Azure/Google), a nie przez osoby rozwijające kubectl
.
Zatem, jeśli chcesz połączyć się za pomocą kubectl z klastrem w GCP albo Azure, to od wersji 1.26 znika wbudowana integracja dotycząca uwierzytelniania dla tych chmur. Należy doinstalować stosowne pluginy do uwierzytelniania.
Google: https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
Azure: https://github.com/C123R/kubectl-aks
3) Usunięcie kube-proxy userspace mode
Teraz pora na coś “Low Level”, czyli bebechy Kubernetesa, a dokładniej mówiąc kube-proxy
. Dla przypomnienia jest to komponent działający na każdym z node’ów klastra Kubernetes.
Tryb userspace
już od jakiegoś czasu został uznany jako przestarzały, a w wersji 1.26 zostaje całkowicie usunięty. Czyli o --mode userspace
możesz już zapomnieć.
W zamian możesz używać iptables lub ipvs na Linuksie, lub kernelspace na Windowsie.
ALE! Zamiast przerzucać się na iptables lub ipvs, warto rozważyć przejście na implementację eBPF – Cilium. Jest to projekt, który coraz bardziej zyskuje na popularności i jest promowany przez znane osoby w branży Cloud Native – jak, chociażby Liz Rice.
4) Usunięcie sterownika dla GlusterFS
Wbudowany sterownik dla GlusterFS został uznany za przestarzały (deprecated) w wersji 1.25, a w wersji 1.26 został usunięty.
Jest to krok w kierunku całkowitemu pozbyciu się zewnętrznych sterowników z kodu Kubernetesa (i wyniesienie ich do CSI).
Ma to na celu zmniejszenie zewnętrznych zależności i obaw społeczności dotyczących bezpieczeństwa w kodzie źródłowym Kubernetes. W nadchodzących wersjach Kubernetes kolejne sterowniki dla Storage’u prawdopodobnie zostaną usunięte.
Zalecana jest jak najszybsza migracja na CSI Storage Drivers.
5) Wycofanie argumentów linii poleceń kubectl run
Kilka nieużywanych już argumentów dla kubectl run
zostało oznaczone jako deprecated
. Chodzi o argumenty:
- –cascade
- –filename
- –force
- –grace-period
- –kustomize
- –recursive
- –timeout
- –wait
Następna wersja Kubernetes prawdopodobnie usunie te argumenty.
Jakie inne zmiany w Kubernetes v1.26?
Dopiero co mówiliśmy o nowościach i zmianach w Kubernetes 1.25, a tutaj już pojawiła się wersja 1.26. Kolejne ulepszenia i zmiany w Kubernetes sprawiają, że jest on bardziej bezpieczny, skalowalny i elastyczny. Oczywiście zmian jest znacznie więcej, a o wszystkich przeczytasz na oficjalnej stronie Kubernetes:
Kubernetes Removals, Deprecations, and Major Changes in 1.26
Jeśli natomiast dopiero chcesz się nauczyć Kubernetes v1.26 (i każdej innej wersji), zapraszam Cię na pokład szkolenia Kubernetes Maestro
Szkolenie, które nauczy Cię wdrażać aplikacje na produkcji
Szkolenie Kubernetes Maestro przeznaczone jest dla osób chcących nauczyć się KUBERNETES od PODSTAW i/lub poszerzyć dotychczasową wiedzę
o dobre praktyki. Dla Programistów, DevOps-ów oraz wszystkich osób, które chcą:
✅ nauczyć się od podstaw Kubernetes
i zrozumieć orkiestrację kontenerów
✅ poszerzyć swoją wiedzę związaną z kontenerami o:bezpieczeństwo, dobre praktyki, dodatkowe narzędzia ułatwiające pracę z Kubernetes
✅ dowiedzieć się jak w pełni wykorzystać możliwości Kubernetes
Wykonasz dużo praktycznych ćwiczeń oraz poznasz Kubernetes “Best Practices”
Kurs Kubernetes Maestro zawiera dużo praktycznych ćwiczeń, od prostych deploymentów, aż po ZAAWANSOWANE schematy pokrywające bezpieczeństwo kontenerów czy konfigurację sieciową pomiędzy kontenerami
✅ Przetestujesz w praktyce zagadnienia takie jak: Rolling update, Blue-green deployment
czy Canary release
.
✅ Nauczysz się jak zapewnić stabilność aplikacjom działającym w Kubernetes poprzez przydzielanie odpowiednich limitów oraz wymuszeń
Więcej szczegółów znajdziesz na stronie KubernetesMaestro.pl.