PRZEWODNIK PO KONTENERYZACJI I KUBERNETES

Co to jest konteneryzacja?

Jeśli słysząc o konteneryzacji, na myśl przychodzą Ci wielkie, morskie statki przewożące kontenery, to nie jest to przypadkowe skojarzenie. Podobnie jak branża logistyczna, która szukała sposobu na usprawnienie logistyki i zwiększenie upakowania, tak i branża informatyczna sięgnęła po kontenery szukając rozwiązania bardzo podobnego problemu. W tym drugim przypadku są one oczywiście wirtualne.

Dlaczego warto stosować kontenery?

Rosnąca popularność technologii konteneryzacji wynika z licznych korzyści, jakie zapewnia ona firmom chcącym zwiększyć swoją konkurencyjność i wydajność.

Kubernetes i orkiestracja kontenerów

W miarę zwiększania się złożoności systemów IT, pojawiło się zapotrzebowanie na zarządzanie rozporoszonymi, kontenerowymi aplikacjami na masową skalę. Rozbudowane systemy potrafią wykorzystywać nawet setki kontenerów umieszczonych na wielu serwerach, uniemożliwiając ręczne zarządzanie. Tu z pomocą przychodzi orkiestracja kontenerów, czyli proces polegający na automatyzacji wdrażania, zarządzania, skalowania i łączenia kontenerów w sieć.

Porównanie platform do zarządzania (orkiestracji) kontenerami we własnym środowisku

Tworzenie klastra Kubernetes  

Podstawy architektury Kubernetesa  

Z czego zbudowany jest klaster Kubernetes? Oto podstawowe komponenty:

Rodzaje platform do zarządzania (orkiestracji) kontenerami w chmurach 

Samodzielne tworzenie klastra Kubernetes 

Jeśli chcesz uruchomić klaster samodzielnie na własnej (lub dzierżawionej) infrastrukturze, musisz poświęcić trochę czasu na zdobycie stosunkowo szerokiej wiedzy. W sieci znajdziesz sporo przewodników i tutoriali, jak samodzielnie uruchomić klaster K8s, ale zagadnienie nie jest proste.  

Dlaczego warto korzystać z Managed Kubernetes? 

Kubernetes jest potężnym, ale złożonym i wymagającym zaawansowanych umiejętności rozwiązaniem do obsługi aplikacji kontenerowych. Nie każda firma ma możliwość samodzielnie zbudować zespół specjalistów od K8s, który stworzy własne, bezpieczne i w pełni funkcjonalne rozwiązanie. Dzięki temu, że Kubernetes jest platformą open-source na jej bazie najwięksi dostawcy chmury budują gotowe, zarządzane usługi, tzw. Managed Kubernetes. Poznaj zalety najpopularniejszych rozwiązań:

Jak uruchomić pipeline CI/CD na Kubernetesie?

Kubernetes i kontenery wspierają automatyzację procesów dostarczania oprogramowania. Coraz więcej organizacji sięga po metodykę DevOps i tworzy rozwiązania w ciągłych, płynnych przepływach pracy.

Dowiedz się, jak zbudować pipeline’y CI/CD na Kubernetesie i poznaj najpopularniejsze narzędzia, które ułatwią Ci pracę:

Jak uruchomić proces CI/CD w klastrze Kubernetes w Oktawave?

Obejrzyj tutorial i zobacz, jak krok po kroku zbudować prosty pipeline CI / CD w oparciu o Github Actions, a następnie jak zintegrować go z klastrem Kubernetes w chmurze Oktawave.  

Z tego odcinka dowiesz się:

  • Czym jest Oktawave Kubernetes Service (OKS)?
  • W jaki sposób utworzyć klaster Kubernetes z wykorzystaniem Terraform na platformie Oktawave?
  • Jak przygotować pipeline CI / CD w oparciu o Github Actions dla prostej aplikacji napisanej w pythonie (Django)?
  • Jakie warto zastosować „sztuczki”, np. dlaczego użyć anti-affinity, jak wdrożyć load balancer do serwowania aplikacji, czy Kustomize jest dobry do tworzenia szablonów konfiguracji?
  • Jak przygotować repozytorium Github i skonfigurować actions?
  • Jak z sukcesem przeprowadzić proces deploymentu na klastrze K8s? 

Jak uruchomić proces CI/CD w klastrze Kubernetes w AWS?

Obejrzyj tutorial i dowiedz się, jak w prosty sposób zbudować infrastrukturę w oparciu o chmurę AWS i Github Actions oraz jak zarządzać zasobami Kubernetes przy użyciu Flux CD.  

Z tego odcinka dowiesz się:

  • Jak stworzyć klaster Kubernetes na platformie AWS z pomocą Terraform?
  • Jak zarządzić plikiem stanu Terraform na backendzie S3?
  • Jak zainstalować ingress kontroler Kubernetesa?
  • Jak zbudować pipeline CI/CD w oparciu o Github Actions, AWS CodeBuild, AWS CodePipeline i AWS CodeDeploy?
  • Jak użyć do przechowywania haseł w klastrze AWS Secrets Manager?
  • Jak zainstalować i skonfigurować Flux CD?
  • Jak w łatwy sposób skalować klastry Kubernetes pod obciążeniem z użyciem HPA (Horizontal Pod Autoscaling)?

Jak uruchomić proces CI/CD w klastrze Kubernetes w Azure?

(wkrótce)

Jak uruchomić proces CI/CD w klastrze Kubernetes w GCP?

(wkrótce)

Jakich narzędzi użyć, aby ułatwić sobie pracę z Kubernetesem?

Aby ułatwić sobie pracę z Kubernetesem, można skorzystać z popularnych narzędzi, pozwalających wygodnie zarządzać klastrami. Zobacz zestawienie polecanych rozwiązań:

MONITORING KLASTRÓW KUBERNETES

Administratorzy systemów mogą korzystać z narzędzi, które umożliwiają monitorowanie stanu aplikacji i infrastruktury oraz śledzenie i analizowanie danych w czasie rzeczywistym. Najpopularniejsze z nich to:

Jak zadbać o bezpieczeństwo Kubernetesa?

Aby zapewnić bezpieczeństwo Kubernetesowi powinniśmy trzymać się zasady czterech C (4C):

Skalowanie aplikacji i klastrów w Kubernetesie

Jedną z ważniejszych korzyści, jakie zapewnia Kubernetes, jest możliwość łatwego skalowania aplikacji. Skalowanie aplikacji pozwala uruchomić ją na dowolnej liczbie serwerów, aby obsłużyć rosnącą liczbę użytkowników.

Wykonywanie kopii zapasowych w Kubernetesie

Co warto wiedzieć o kopii bezpieczeństwa klastra Kubernetes?