Kubernetes - zaawansowany deployment
Nowoczesne aplikacje dostępne jako obrazy kontenerów są wdrażane na Kubernetes głównie przez potoki CI/CD. Jako najpopularniejsze narzędzie uznawany jest nadal Jenkins i na jego podstawie uczestnicy poznają w jaki sposób budowane i wdrażane są aplikacje w ramach budowanych na warsztatach potokach.
Grupa docelowa
Warsztaty te przeznaczone są dla programistów i inżynierów DevOps zarządzających deploymentami, którzy już pracowali z kontenerami i chcą wykorzystywać do tego zaawansowane możliwości Kubernetes.
Wymagania
Ze względu na charakter praktyczny wymagane jest, aby uczestnicy
- uczestniczyli wcześniej w szkoleniu podstawowym lub posiadali wiedzę z jego zakresu
- poruszali się swobodnie w linuksowym środowisku linii poleceń
- byli zaznajomieni z typowymi narzędziami typu ssh, vim (lub inny edytor tekstu dostępny w linuksie)
- znali podstawy działania Jenkins (lub innego, podobnego narzędzia do CI/CD)
Korzyści dla uczestników
Uczestnicy po szkoleniu będą:
- potrafili skonfigurować i używać Jenkinsa na klastrze Kubernetes w natywny sposób
- potrafili utworzyć pipeline do budowy obrazów kontenera z aplikacją, ich testowania i wdrażania na kolejne środowiska
- rozumieli koncepcje wielu środowisk, w tym środowisk typu Preview i wykorzystania tego do szybszego testowania aplikacji
- potrafili użyć odpowiednich pluginów do integracji z klastrem Kubernetes
- potrafili tworzyć paczki Helm Charts i publikować w ramach wdrożenia
Program
Dzień 1
- Konfiguracja Jenkins jako kontenera działającego w środowisku Kubernetes
- Wykorzystanie Jenkins do budowania obrazów kontenerów i dynamicznych slave`ów
- Standardaryzacja budowy obrazów z użyciem technologii Source-To-Image (s2i)
- Automatyzacja budowania z wykorzystaniem natywnych pipelineów (Jenkinsfile) i wspomagających proces pluginów
- Utrzymywanie systemu CI/CD zgodnie z podejściem “Everything as Code” i GitOps
- Standaryzacja deploymentu z użyciem szablonów Helm
- Standaryzacja deploymentu z użyciem narzędzia Kustomize
- Tekton jako natywna dla Kubernetes alternatywa do budowy pipeline`ów