Orkiestracja kontenerów – proces, który automatyzuje i ułatwia wdrażanie, skalowanie i zarządzanie kontenerami oraz łączenie ich w sieć.
Orkiestracja jest niezbędna przy obsłudze rozbudowanych aplikacji opartych o kontenery i mikroserwisy. Takie oprogramowanie wykorzystuje setki, a nawet tysiące kontenerów umieszczonych na wielu serwerach, co uniemożliwia manualne zarządzanie.
Narzędzia do orkiestracji (orkiestratory) koordynują pracę wszystkich kontenerów równocześnie i pozwalają w pełni korzystać z zalet konteneryzacji, np. wprowadzania aktualizacji bez przerywania pracy aplikacji.
Co zapewnia orkiestracja kontenerów? #
- Upraszcza pracę związaną z przydzielaniem zasobów i równoważeniem obciążenia w obrębie kontenerów,
- Pomaga organizować i replikować instancje kontenerów oraz grupować je w klastry,
- Umożliwia zaplanowanie uruchomienia kontenerów na wcześniej przygotowanym klastrze maszyn wirtualnych,
- Automatyzuje procesy wdrażania aktualizacji (rollout) oraz przywracania poprzednich wersji w przypadku błędów (rollback),
- Monitoring kontenerów – dzięki temu orkiestratory m.in. efektywnie dysponują zasobami i ponownie uruchamiają kontenery, które uległy awarii.
Dodatkowe zalety orkiestracji kontenerów #
- Automatyzuje zarządzanie kontenerami niezależnie od infrastruktury, na której się znajdują – on-premise, chmury publiczne, prywatne, bądź hybrydowe,
- Zapewnia wysoką dostępność (HA) aplikacji, utrzymując jej działanie w przypadku awarii,
- Zwiększa bezpieczeństwo aplikacji poprzez zmniejszenie prawdopodobieństwa wystąpienia błędu ludzkiego,
- Podnosi efektywność wykorzystania dostępnych zasobów obliczeniowych.
Narzędzia do orkiestracji kontenerów #
Najpopularniejszym narzędziem do orkiestracji kontenerów jest platforma Kubernetes (K8s), która powstała w firmie Google. K8s grupuje kontenery tworzące aplikacje w tzw. klastry. Składają się one z węzła nadrzędnego (master), który orkiestruje pracę pozostałych kontenerów (workerów).
Inne popularne orkiestratory to:
- Amazon Elastic Container Service (Amazon ECS),
- Mirantis Kubernetes Engine (dawniej Docker Enterprise),
- Red Hat OpenShift,
- Azure Kubernetes Service (AKS),
- Rancher,
- VMware Tanzu.
Orkiestracja kontenerów a Docker #
W kontekście orkiestracji kontenerów często wymieniana jest też nazwa Docker. Nie jest to jednak orkiestrator.
Docker to technologia wirtualizacyjna, która pozwala tworzyć kontenery, czyli wykonywalny kod ze wszystkimi zależnościami. Docker to też format plików – Docker File, przy pomocy którego tworzy się obrazy kontenerów – Docker Image, a także środowisko do uruchamiania kontenerów – Docker Engine.
Chociaż Docker najczęściej wykorzystywany jest wraz z Kubernetesem, posiada też własne narzędzie do orkiestracji – Docker Swarm.