Kubernetes_Tworzenie_natywnych_aplikacji_dzialajacych_w_chmurze_kubert.pdf

(2239 KB) Pobierz
Tytuł oryginału: Programming Kubernetes: Developing Cloud-Native Applications
Tłumaczenie: Tomasz Walczak
ISBN: 978-83-283-6405-9
© 2020 Helion SA
Authorized Polish translation of the English edition of Programming Kubernetes
ISBN 9781492047100 © 2019 Michael Hausenblas and Stefan Schimanski
This translation is published and sold by permission of O’Reilly Media, Inc.,
which owns or controls all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/kubert
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa .............................................................................................................. 11
1. Wprowadzenie .......................................................................................................... 15
Czym jest programowanie dla Kubernetesa?
Przykład wprowadzający
Wzorce rozszerzania
Kontrolery i operatory
Pętla sterowania
Zdarzenia
Wyzwalacze sterowane zmianami i sterowane poziomem
Modyfikowanie świata zewnętrznego lub obiektów w klastrze
Współbieżność optymistyczna
Operatory
Podsumowanie
15
17
18
19
19
20
22
24
27
29
30
2. Podstawy API Kubernetesa ........................................................................................ 33
Serwer API
Interfejs HTTP serwera API
Terminologia związana z API
Wersjonowanie API w Kubernetesie
Deklaratywne zarządzanie stanem
Używanie API w wierszu poleceń
W jaki sposób serwer API przetwarza żądania?
Podsumowanie
33
34
35
38
39
39
43
46
3. Podstawy klienta client-go ........................................................................................ 47
Repozytoria
Biblioteka klienta
Typy w API Kubernetesa
Repozytorium API Machinery
47
47
49
50
5
Kup książkę
Poleć książkę
Tworzenie i używanie klientów
Wersjonowanie i kompatybilność
Wersje API i gwarancje kompatybilności
Obiekty Kubernetesa w Go
TypeMeta
ObjectMeta
Sekcje spec i status
Zbiory klientów
Podzasoby status — UpdateStatus
Wyświetlanie i usuwanie obiektów
Czujki
Rozszerzanie klientów
Opcje klientów
Informatory i buforowanie
Kolejka zadań
Repozytorium API Machinery — szczegóły
Rodzaje
Zasoby
Odwzorowania REST
Schemat
Vendoring
glide
dep
Moduły języka Go
Podsumowanie
50
52
55
56
57
60
60
61
63
63
63
64
65
66
70
72
72
72
73
74
75
76
76
77
78
4. Używanie niestandardowych zasobów ....................................................................... 79
Wykrywanie informacji
Definicje typów
Zaawansowane mechanizmy niestandardowych zasobów
Sprawdzanie poprawności niestandardowych zasobów
Kategorie i krótkie nazwy
Wyświetlane kolumny
Podzasoby
Niestandardowe zasoby z perspektywy programisty
Klient dynamiczny
Klienty typizowane
Klient controller-runtime z narzędzi Operator SDK i Kubebuilder
Podsumowanie
81
82
84
84
86
88
89
93
93
95
99
101
6
Spis treści
Poleć książkę
Kup książkę
5. Automatyzowanie generowania kodu ......................................................................103
Po co stosować generatory kodu?
Wywoływanie generatorów
Kontrolowanie generatorów za pomocą znaczników
Znaczniki globalne
Znaczniki lokalne
Znaczniki dla generatora deepcopy-gen
runtime.Object i DeepCopyObject
Znaczniki dla generatora client-gen
Generatory informer-gen i lister-gen
Podsumowanie
103
103
105
106
107
108
108
109
111
111
6. Narzędzia służące do tworzenia operatorów .............................................................113
Czynności wstępne
Wzorowanie się na projekcie sample-controller
Przygotowania
Logika biznesowa
Kubebuilder
Przygotowania
Logika biznesowa
Operator SDK
Przygotowania
Logika biznesowa
Inne podejścia
Wnioski i przyszłe kierunki rozwoju
Podsumowanie
113
114
114
115
121
122
126
130
131
132
135
136
136
7. Udostępnianie kontrolerów i operatorów .................................................................137
Zarządzanie cyklem życia i pakowanie
Pakowanie — trudności
Helm
Kustomize
Inne techniki pakowania kodu
Najlepsze praktyki z obszaru pakowania kodu
Zarządzanie cyklem życia
Instalacje gotowe do użytku w środowisku produkcyjnym
Odpowiednie uprawnienia
Zautomatyzowany proces budowania i testowania
Niestandardowe kontrolery i obserwowalność
Podsumowanie
137
137
138
140
142
143
143
144
144
147
148
151
Spis treści
Kup książkę
7
Poleć książkę
Zgłoś jeśli naruszono regulamin