Opis
Mimo że w 2018 roku Kubernetes zyskał reputację standardowego narzędzia do zarządzania kontenerami, wciąż należy traktować tę technologię jako znajdującą się w dość wczesnej fazie rozwoju. Możliwości tej platformy z czasem rosną i stają się coraz ciekawsze. Standardowym działaniem jest uruchamianie klastrów w Kubernetesie, jednak o wiele bardziej interesujące wydaje się samodzielne rozszerzanie tej platformy o własne kontrolery i rozbudowa API Kubernetesa w celu dostosowania do swoich wymagań. W przypadku niektórych złożonych projektów programowanie potrzebnych komponentów jest jedynym racjonalnym rozwiązaniem.
To książka przeznaczona dla programistów, którzy chcą maksymalnie wykorzystać możliwości Kubernetesa, również poprzez pisanie własnych zasobów. W praktyczny sposób pokazuje, jak rozwijać natywne, działające w chmurze aplikacje dla Kubernetesa. Wyjaśnia, w jaki sposób działa biblioteka API client-go i jak należy budować zasoby niestandardowe. Znalazło się tu obszerne i szczegółowe omówienie interfejsu programowania i działania platformy Kubernetes, a także pisania stabilnego oprogramowania w języku Go. Nie zabrakło szeregu wskazówek dotyczących samego pisania kodu oraz przeprowadzania testów. Dużo uwagi poświęcono niestandardowym zasobom, kontrolerom, webhookom i niestandardowym serwerom API oraz wzorcom rozszerzania Kubernetesa.
W tej książce między innymi:
zasady programowania dla Kubernetesa
API Kubernetesa i client-go
korzystanie z niestandardowych zasobów
pisanie i udostępnianie operatorów
tworzenie niestandardowych serwerów API
Kubernetes: wykorzystaj w pełni jego potencjał!
O autorach
Michael Hausenblas pracuje w Amazon Web Services, gdzie wraz z zespołem zajmuje się bezpieczeństwem kontenerów. Ma bogate doświadczenie w tworzeniu natywnej infrastruktury i natywnych aplikacji dla chmury. Pisze artykuły i książki, prowadzi prelekcje i współtworzy otwarte oprogramowanie.
Stefan Schimanski pracuje w firmie Red Hat jako główny inżynier oprogramowania w obszarze technologii Go, Kubernetes i OpenShift. Koncentruje się na serwerze API Kubernetesa, a przede wszystkim na implementowaniu definicji CRD, bibliotece API Machinery i publikowaniu repozytoriów roboczych Kubernetesa: client-go, apimachinery, api i innych.