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 KubernetesaAPI Kubernetesa i client-gokorzystanie z niestandardowych zasobówpisanie i udostępnianie operatorówtworzenie niestandardowych serwerów APIKubernetes: wykorzystaj w pełni jego potencjał!Spis treści:Przedmowa 111. Wprowadzenie 15Czym jest programowanie dla Kubernetesa? 15Przykład wprowadzający 17Wzorce rozszerzania 18Kontrolery i operatory 19Pętla sterowania 19Zdarzenia 20Wyzwalacze sterowane zmianami i sterowane poziomem 22Modyfikowanie świata zewnętrznego lub obiektów w klastrze 24Współbieżność optymistyczna 27Operatory 29Podsumowanie 302. Podstawy API Kubernetesa 33Serwer API 33Interfejs HTTP serwera API 34Terminologia związana z API 35Wersjonowanie API w Kubernetesie 38Deklaratywne zarządzanie stanem 39Używanie API w wierszu poleceń 39W jaki sposób serwer API przetwarza żądania? 43Podsumowanie 463. Podstawy klienta client-go 47Repozytoria 47Biblioteka klienta 47Typy w API Kubernetesa 49Repozytorium API Machinery 50Tworzenie i używanie klientów 50Wersjonowanie i kompatybilność 52Wersje API i gwarancje kompatybilności 55Obiekty Kubernetesa w Go 56TypeMeta 57ObjectMeta 60Sekcje spec i status 60Zbiory klientów 61Podzasoby status – UpdateStatus 63Wyświetlanie i usuwanie obiektów 63Czujki 63Rozszerzanie klientów 64Opcje klientów 65Informatory i buforowanie 66Kolejka zadań 70Repozytorium API Machinery – szczegóły 72Rodzaje 72Zasoby 72Odwzorowania REST 73Schemat 74Vendoring 75glide 76dep 76Moduły języka Go 77Podsumowanie 784. Używanie niestandardowych zasobów 79Wykrywanie informacji 81Definicje typów 82Zaawansowane mechanizmy niestandardowych zasobów 84Sprawdzanie poprawności niestandardowych zasobów 84Kategorie i krótkie nazwy 86Wyświetlane kolumny 88Podzasoby 89Niestandardowe zasoby z perspektywy programisty 93Klient dynamiczny 93Klienty typizowane 95Klient controller-runtime z narzędzi Operator SDK i Kubebuilder 99Podsumowanie 1015. Automatyzowanie generowania kodu 103Po co stosować generatory kodu? 103Wywoływanie generatorów 103Kontrolowanie generatorów za pomocą znaczników 105Znaczniki globalne 106Znaczniki lokalne 107Znaczniki dla generatora deepcopy-gen 108runtime.Object i DeepCopyObject 108Znaczniki dla generatora client-gen 109Generatory informer-gen i lister-gen 111Podsumowanie 1116. Narzędzia służące do tworzenia operatorów 113Czynności wstępne 113Wzorowanie się na projekcie sample-controller 114Przygotowania 114Logika biznesowa 115Kubebuilder 121Przygotowania 122Logika biznesowa 126Operator SDK 130Przygotowania 131Logika biznesowa 132Inne podejścia 135Wnioski i przyszłe kierunki rozwoju 136Podsumowanie 1367. Udostępnianie kontrolerów i operatorów 137Zarządzanie cyklem życia i pakowanie 137Pakowanie – trudności 137Helm 138Kustomize 140Inne techniki pakowania kodu 142Najlepsze praktyki z obszaru pakowania kodu 143Zarządzanie cyklem życia 143Instalacje gotowe do użytku w środowisku produkcyjnym 144Odpowiednie uprawnienia 144Zautomatyzowany proces budowania i testowania 147Niestandardowe kontrolery i obserwowalność 148Podsumowanie 1518. Niestandardowe serwery API 153Scenariusze stosowania niestandardowych serwerów API 153Przykład – pizzeria 155Architektura – agregowanie 156Usługi API 157Wewnętrzna struktura niestandardowego serwera API 160Delegowane uwierzytelnianie i obsługa zaufania 161Delegowana autoryzacja 162Pisanie niestandardowych serwerów API 164Wzorzec opcji i konfiguracji oraz szablonowy kod potrzebny do uruchomienia serwera 165Pierwsze uruchomienie 171Typy wewnętrzne i konwersja 172Pisanie typów API 175Konwersje 176Ustawianie wartości domyślnych 179Testowanie konwersji powrotnych 181Sprawdzanie poprawności 183Rejestr i strategia 185Instalowanie API 189Kontrola dostępu 192Instalowanie niestandardowych serwerów API 201Manifesty instalacji 202Konfigurowanie systemu RBAC 204Uruchamianie niestandardowego serwera API bez zabezpieczeń 205Certyfikaty i zaufanie 207Współdzielenie systemu etcd 209Podsumowanie 2119. Zaawansowane zasoby niestandardowe 213Wersjonowanie niestandardowych zasobów 213Poprawianie kodu do obsługi pizzerii 214Architektura webhooków konwersji 216Implementacja webhooka konwersji 220Przygotowywanie serwera HTTPS 220Instalowanie webhooka konwersji 226Konwersja w praktyce 227Webhooki kontroli dostępu 229Wymogi związane z kontrolą dostępu w przykładzie 230Architektura webhooków kontroli dostępu 231Rejestrowanie webhooków kontroli dostępu 233Implementowanie webhooka kontroli dostępu 234Webhook kontroli dostępu w praktyce 239Schematy strukturalne i przyszłość definicji CRD 240Schematy strukturalne 240Okrajanie a zachowywanie nieznanych pól 242Sterowanie okrajaniem 243IntOrString i RawExtension 244Wartości domyślne 244Podsumowanie 246A. Materiały 247
Informatyka
imparfait francuski
, opis osoby po angielsku cechy charakteru
, matemaks program do rysowania funkcji
, mandolina cena
, epoki w dziejach człowieka
, jak być dobrym aktorem
, ilość punktów na maturze z matematyki
, dzwonienie na koszt odbiorcy
, program do prowadzenia lekcji online
, w załączniku przesyłam cv po angielsku
, pasja szczecin
, lekcje angielskiego online
, na lotnisku angielski
, zmiana w pracy po angielsku
, technikum kolbuszowa
, psp 26 radom
yyyyy