Kubernetes – o co w tym chodzi?

by Dariusz Kacban
3 miesiące ago
255 Views

Minęło zaledwie 5 lat od powstania Kubernetesa, a już stał się standardem w świecie wytwarzania oprogramowania. 

Czym jest Kubernetes i co tak naprawdę nam daje? W tym artykule omówimy podstawowe koncepcje nie wnikając w szczegóły, dzięki czemu będziesz wiedział czy kubernetes jest Ci potrzebny.

Kubernetes = K8S

W internecie możesz spotkać się ze skrótem “k8s” – to skrót oznaczający kubernetes, gdzie cyfra 8 oznacza 8 liter pomiędzy K i S, czyli zamiast kubernetes możemy napisać po prostu k8s.

Problem z zarządzaniem kontenerami

Jak pewnie wiesz w produkcyjnych warunkach jeden serwer zwykle nie wystarczy więc serwery działają w klastrze. Oznacza to, że kilka maszyn jest połączonych w jedną sieć w której możemy publikować nasze aplikacje i gdzie aplikacje ze sobą współpracują. Pojawia się więc potrzeba zarządzaniem wdrożeniami aplikacji.

Rozwiązanie: Kubernetes

Kubernetes to tzw. orkiestrator. Dzięki niemu możemy umieszczać kontenery na odpowiednich węzłach w klastrze. 

Reguły

Możemy też ustalać reguły mówiące o tym, gdzie mają się znajdować kontenery po uruchomieniu. 

Odporność na awarie

Kubernetes pozwala też stwierdzić czy dana aplikacja przestała działać na przykład na skutek awarii któregoś węzła w klastrze. Wtedy może odpowiednio zareagować przykładowo umieszczając nasz kontener z aplikacją na innym węźle aby zapewnić ciągłą pracę aplikacji.

Skalowalność

Kolejnym ważnym aspektem działania Kubernetes jest skalowanie w czasie wzmożonego obciążenia. Możemy dzięki temu dodawać kolejne repliki aplikacji ręcznie lub automatycznie.

Service discovery

Jeśli mówimy o zaletach Kubernetes’a to trzeba też wspomnieć o funkcji service discovery, czyli funkcji dzięki której nasze aplikacje mogą się wzajemnie wykrywać. Kubernetes odpowiada też za koordynację aktualizacji aplikacji tak aby nie wpłynąć negatywnie na działanie aplikacji, bo wyobraźmy sobie sytuację w której aktualizujemy naraz wszystkie nasze replikii powoduje to, że nasza aplikacja całkowicie przestaje działać na wszystkich węzłach jednocześnie co jest zjawiskiem niepożądanym. Dzięki kubernetes możemy tego uniknąć.

Przenaszalność to kolejna wielka zaleta Kubernetes’a, który możemy uruchomić zarówno na lokalnej maszynie jak i w chmurze AWS, Google Cloud czy Azure.

Jeśli chcesz w pełni zrozumieć fenomen Kubernetes’a to warto przeczytać artykuł na temat hostorii tego narzędzia: https://blog.risingstack.com/the-history-of-kubernetes/

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *