Skalierbare Container-Infrastrukturen: das Handbuch für Administratoren
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
Rheinwerk
2017
|
Ausgabe: | 1. Auflage |
Schriftenreihe: | Rheinwerk computing
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | Auf dem Cover: "Docker, Rocket und Co: Container-Technologien und Hintergründe. Swarm, Kubernetes und DC/OS: Management und Orchestrierung. Skalierbare und ausfallsichere Container Cluster: Planung, Setup, Administration, Best Practices und Troubleshooting. Alle Codebeispiele zum Download" hier auch "korrigierter Nachdruck 2018" |
Beschreibung: | 1071 Seiten Illustrationen |
ISBN: | 9783836243667 3836243660 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV044195394 | ||
003 | DE-604 | ||
005 | 20180417 | ||
007 | t | ||
008 | 170223s2017 gw a||| |||| 00||| ger d | ||
015 | |a 17,N05 |2 dnb | ||
015 | |a 17,A22 |2 dnb | ||
016 | 7 | |a 1124014861 |2 DE-101 | |
020 | |a 9783836243667 |c Festeinband : EUR 69.90 (DE), EUR 71.90 (AT), CHF 91.90 (freier Preis) |9 978-3-8362-4366-7 | ||
020 | |a 3836243660 |9 3-8362-4366-0 | ||
024 | 3 | |a 9783836243667 | |
035 | |a (OCoLC)971201408 | ||
035 | |a (DE-599)DNB1124014861 | ||
040 | |a DE-604 |b ger | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-M347 |a DE-898 |a DE-473 |a DE-1102 |a DE-858 |a DE-2174 |a DE-573 |a DE-861 |a DE-91G |a DE-863 |a DE-83 |a DE-20 |a DE-859 |a DE-739 | ||
082 | 0 | |a 005.73 |2 22/ger | |
082 | 0 | |a 004 |2 23 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a ST 232 |0 (DE-625)143619: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 424f |2 stub | ||
100 | 1 | |a Liebel, Oliver |e Verfasser |0 (DE-588)1042738157 |4 aut | |
245 | 1 | 0 | |a Skalierbare Container-Infrastrukturen |b das Handbuch für Administratoren |c Oliver Liebel |
250 | |a 1. Auflage | ||
264 | 1 | |a Bonn |b Rheinwerk |c 2017 | |
300 | |a 1071 Seiten |b Illustrationen | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Rheinwerk computing | |
500 | |a Auf dem Cover: "Docker, Rocket und Co: Container-Technologien und Hintergründe. Swarm, Kubernetes und DC/OS: Management und Orchestrierung. Skalierbare und ausfallsichere Container Cluster: Planung, Setup, Administration, Best Practices und Troubleshooting. Alle Codebeispiele zum Download" | ||
500 | |a hier auch "korrigierter Nachdruck 2018" | ||
650 | 0 | 7 | |a Softwareproduktionsumgebung |0 (DE-588)4138444-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Container |g Informatik |0 (DE-588)1116639513 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Kubernetes |0 (DE-588)1153019000 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Docker |g Software |0 (DE-588)1173644687 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Skalierbarkeit |0 (DE-588)4520890-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Virtualisierung |0 (DE-588)4839180-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Docker 1.12 |0 (DE-588)1116737825 |2 gnd |9 rswk-swf |
653 | |a Automatisches Deployment | ||
653 | |a Continous Delivery | ||
653 | |a CoreOS | ||
653 | |a Cross-Plattform-Deployment | ||
653 | |a Docker | ||
653 | |a Hochverfügbarkeit | ||
653 | |a Hyper-V | ||
653 | |a Kubernetes | ||
653 | |a Mesos | ||
653 | |a Microservices | ||
653 | |a Nomad | ||
653 | |a Orchestrierung | ||
653 | |a RHEL Atomic | ||
653 | |a Rocket | ||
653 | |a Scale Out | ||
653 | |a Skalierbare Infrastruktur | ||
653 | |a Tectonic | ||
653 | |a Ubuntu Snap | ||
653 | |a Windows Server 2016 | ||
653 | |a systemd | ||
689 | 0 | 0 | |a Container |g Informatik |0 (DE-588)1116639513 |D s |
689 | 0 | 1 | |a Virtualisierung |0 (DE-588)4839180-3 |D s |
689 | 0 | 2 | |a Skalierbarkeit |0 (DE-588)4520890-6 |D s |
689 | 0 | 3 | |a Softwareproduktionsumgebung |0 (DE-588)4138444-1 |D s |
689 | 0 | 4 | |a Docker 1.12 |0 (DE-588)1116737825 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Container |g Informatik |0 (DE-588)1116639513 |D s |
689 | 1 | 1 | |a Virtualisierung |0 (DE-588)4839180-3 |D s |
689 | 1 | 2 | |a Skalierbarkeit |0 (DE-588)4520890-6 |D s |
689 | 1 | 3 | |a Softwareproduktionsumgebung |0 (DE-588)4138444-1 |D s |
689 | 1 | 4 | |a Docker |g Software |0 (DE-588)1173644687 |D s |
689 | 1 | 5 | |a Kubernetes |0 (DE-588)1153019000 |D s |
689 | 1 | |8 1\p |5 DE-604 | |
710 | 2 | |a Rheinwerk Verlag |0 (DE-588)1081738405 |4 pbl | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe (PDF, ePub, Mobi, Online) |w (DE-600)978-3-8362-4367-4 |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, Bundle Buch + E-Book; E-Book-Formate (PDF, ePub, Mobi, Online) |z 978-3-8362-5436-6 |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=44ce136bdcf443a6bb2d0b864c262d51&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m Digitalisierung UB Passau - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029602036&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-029602036 |
Datensatz im Suchindex
DE-BY-863_location | 1340 |
---|---|
DE-BY-FWS_call_number | 1340/ST 230 L716 |
DE-BY-FWS_katkey | 651241 |
DE-BY-FWS_media_number | 083101359505 |
_version_ | 1806529044397686784 |
adam_text |
Auf einen Blick
Auf einen Blick
TEILI Brave New World?
1 Die neue alte Welt der Virtualisierung. 37
2 Container. 45
TEIL II Single Node Container-Systeme
3 Container-Plattformen, Basics und Konzepte. 67
4 Docker. 99
5 Docker Security. 371
6 Die eigene Trusted Docker Registry. 405
7 Weitere Container-Plattformen . 455
8 Fazit-Single Node Container-Plattformen. 481
TEIL ill Skalierbare Container Cluster und
Container-Orchestrierung
9 Container Cluster - von Planern und Orchestern. 485
10 Schlüsselmeister im Container Cluster: Key/Value Stores und
Service Registry/Discovery. 499
11 Schwarm.-Intelligenz? Docker Swarm Mode . 525
12 Docker Datacenter, Docker Trusted Registry und CaaS. 587
13 Kubernetes (K8s). 625
14 Verstehen und Verwalten von Ressourcen im K8s Cluster . 713
15 The Road Ahead: Kubernetes ab Version 1.5/1.6 . 885
16 K8s GUIs/Monitoring: Cockpit, Dashboard und mehr. 909
17 Federated/Geografisch verteilte K8s Cluster. 919
18 K8s: Debugging, Rolling Upgrades, Fazit. 925
TEIL IV Übergreifende Orchestrierungstools für verteilte
Container-Infrastrukturen
19 Rancher. 931
20 Ab in die Mesosphäre: DC/OS . 945
21 Fazit Container-Orchestrierung.1015
TEIL V Software Defined Storage für verteilte
Container-Infrastrukturen
22 Ab in den Untergrund .1021
23 Was war, was ist, was sein wird .1055
Inhalt
Inhalt
TEIL I Brave New World?
1 Die neue alte Welt der Virtualisierung 37
1.1 Evolution, Beschleunigung und Standbilder. 39
1.2 Vorbemerkungen. 40
1.2.1 Verwendete Formatierungen. 40
1.2.2 Weiterführende Hinweise. 41
1.2.3 Beispieldateien. 41
1.3 Was dieses Buch sein/nicht sein soll. 41
1.3.1 Was es sein soll . 41
1.3.2 Was es nicht sein soll und nicht ist. 41
1.3.3 Wie dieses Buch zu lesen ist. 42
1.4 Verwendete Plattformen und Versions-Spezifikationen. 43
1.4.1 Vorbetrachtungen. 43
1.4.2 Container-OS und die Zukunft. 44
2 Container 45
2.1 Warum Container?. 45
2.2 AAicroservices. 46
2.2.1 Wie erkläre ich es meinem CEO?. 46
2.2.2 Die neue Welt der Microservices: Admins/DevOps-Teams. 47
2.2.3 Die neue Welt der Microservices:
aus der Perspektive der CEOs/Entscheider. 49
2.3 Continuous Delivery/Continuous Integration und DevOps. 50
2.3.1 Semi- oder vollautomatisch: Continuous Integration/
Continuous Delivery. 50
2.3.2 CD/CI und das Big Bang Release-Problem . 51
2.4 Continuous Delivery . 52
2.4.1 Was verstehen wir darunter? . 52
2.4.2 Continuous Delivery Pipelines. 54
2.4.3 Commit-Stage . 55
5
Inhalt
2.44 Acceptance-Test-Stage. 56
2.45 Exkurs: Acceptance-Tests und Dreieinigkeit. 56
2.4.6 Load-/Capa city-, Security- und Exploration-Tests. 57
2.47 Rollout/Go-Live. 57
2.4.8 Die Gates. 57
2.49 Fazit: Wo kann CD nutzbringend eingesetzt werden? . 57
2.5 DevOps: Gewaltenteilung oder Kooperation?. 59
2.5.1 Grundsätzliche Betrachtungen . 59
2.5.2 Das DevOps-Prinzip. 59
2.5.3 Kommunikationsbiackouts im DevOps-Team . 60
2.5.4 Das konkrete DevOps-Problem im klassischen Umfeld. 60
2.5.5 »Works for me« und anderer Nonsens im DevOps-Business -
und ein Ausweg? . 61
2.5.6 BizDevOps - und noch eine Silbe. 63
TEIL II Single Node Container-Systeme
3 Container-Plattformen, Basics und Konzepte 67
wmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmKmmmmm.»wmmmmmmmmmmmmmmmmmmmmmmm\ — ■ mmm hwihmmo^jhaimmm
3.1 World of Tiers-Teil 1. 67
3.2 Container - Basics. 68
3.2.1 Namespaces und Container-Konzepte . 68
3.2.2 Enter Namespace - nsenter. 70
3.2.3 Namespaces und Sicherheit? . 72
3.3 VMs-obsolet durch Container? . 74
3.3.1 Container vs. VM . 75
3.3.2 Packungsdichte und Ressourcen. 78
3.4 Zwischenfazit. 80
3.5 Container-Lösungen im Überblick. 81
3.5.1 Von LXC zu Docker . 81
3.5.2 Docker. 81
3.5.3 LXD . 89
3.5.4 CoreOS/Container Linux und Rocket . 91
3.5.5 Im Rampen-»Licht«?-VMware Photon . 93
3.5.6 Überblick der Container-Formate: Docker vs. CoreOS/Rkt
vs. LXD vs. Photon . und OCF. 94
3.5.7 Fazit. 95
6
Inhalt
3.6 Container: eine funktionale Übersicht. 96
3.6.1 Aufbau eines Container-Hosts. 96
3.6.2 Docker Images. 96
3.6.3 Anzahl der Layer . 97
4 Docker 99
4.1 Docker-Versionen . 99
4.1.1 Docker-Versionen, wichtige Meilensteine und Inkompatibilitäten 99
4.1.2 Docker-LTS-Versionen? . 100
4.1.3 Betrachtete Plattformen und Docker-Versionen. 101
4.1.4 Docker-Versionsnummern und Bedeutung. 101
4.1.5 Funktionaler Überblick: Docker CLl, dockerd, Registry . 102
4.2 Docker-Installation . 103
4.2.1 Paketnamen und Dependencies . 103
4.2.2 Docker Bash-Completion. 104
4.2.3 Docker-Installation unter übuntu 16.04 LTS. 104
4.2.4 Docker-Installation unter RHEL/CentOS 7.3 . 105
4.2.5 Virt-7-Repo für CentOS. 107
4.2.6 Installation peryum-config. 107
4.2.7 Default-Setup unter SUSE/SLES . 109
4.2.8 SUSE/SLES 12 und BTRFS-/Docker-Problematiken . 109
4.2.9 SUSE-/SLES-spezifische Docker-Konfigurationsdateien . 110
4.2.10 SUSE-spezifische Docker-Repos. 110
4.2.11 Installation der Commercially Supported Docker Engine. 111
4.2.12 Distributionsunabhängige Installation von Docker 1.13 . 114
4.3 Deinstallation/Upgrade/Umstellung auf andere Storage Backends. 116
4.3.1 Deinstallation. 116
4.3.2 Upgrade. 116
4.3.3 Umstellung des Storage Backends. 116
4.4 Docker und systemd-lntegration. 116
4.4.1 Vorbetrachtungen. 116
4.4.2 systemd-Service-Units für Docker. 117
4.5 Docker im Betrieb . 118
4.5.1 Vorbetrachtungen. 118
4.5.2 Permanente Diensteinbindung . 119
4.5.3 Lokale HA. 120
4.5.4 Verbose Mode . 120
7
120
122
122
123
125
127
128
128
128
129
130
131
131
132
134
135
136
137
141
144
145
146
149
150
150
150
153
153
154
155
156
156
157
158
158
159
160
161
162
4.5.5 Status Überprüfung/Features .
4.5.6 Docker-Systeminformationen .
4.5.7 Docker Daemon-Konfigurationsmöglichkeiten.
4.5.8 Mögliche Startoptionen/Schalter des Docker Daemons.
4.5.9 Konfiguration per/etc/docker/daemon.json.
4.5.10 Alternatives Docker-Verzeichnis als Konfigurationsbeispiel.
4.5.11 Plugins.
Docker Image-Management - Basics.
4.6.1 Vorbetrachtungen.
4.6.2 Auszug der Docker CLI-Subkommandos.
4.6.3 Neue CLI-Strukturen in 1.13 .
4.6.4 Docker 1.13 sowie neue container- und image-Subkommandos .
4.6.5 Einfaches Image-Management .
4.6.6 Docker-Namensräume und das Default Registry-Problem .
4.6.7 Docker Images (unter docker.io) suchen.
4.6.8 Image-Schema-Versionen.
4.6.9 Offizielles CentOS-lmage von docker.io pullen.
4.6.10 Lokal verfügbare Docker Images listen und filtern.
4.6.11 Meta-Informationen von lokalen Images abfragen.
4.6.12 Images löschen .
4.6.13 docker save load Images .
4.6.14 Dangling Images: The good and the bad none : none .
4.6.15 Build-History eines Images inspizieren.
Trusted Images.
4.7.1 Vorbetrachtungen.
4.7.2 Trusted Docker Images unter SUSE/SLES mit s!e2docker.
4.7.3 Eigenes, generisches Trusted Basis-Image erzeugen.
4.7.4 Gescriptete Image-Erzeugung (YUM Based) .
4.7.5 Mikro-lmage »from scratch«.
4.7.6 Images: grundlegende Security-relevante Betrachtungen .
Betrieb und Management von Docker-Containern.
4.8.1 Vorbetrachtungen.
4.8.2 Kurzübersicht der relevanten Docker CLI-Kommandos.
4.8.3 Neues docker container-Subkommando.
4.8.4 docker history.
4.8.5 Container starten-docker [container] run .
4.8.6 (Random) Container-Names und automatische Löschung
(run -rm).
4.8.7 Container-HA: automatische Restarts.
4.8.8 docker [container] run -readonly.
Inhalt
4.8.9 Detached Container im Hintergrund starten . 162
4.8.10 Auflisten von Container-Instanzen - docker ps. 164
4.8.11 Starten und Stoppen existierender Container . 167
4.8.12 docker [container] rename. 169
4.8.13 Container-Instanzen löschen: docker [container] rm/prune . 170
4.8.14 docker [container] attach-Optionen. 170
4.8.15 Befehle im laufenden Container ausführen:
docker [container] exec. 172
4.8.16 docker [container] create. 173
4.8.17 Container-Instanzen exportieren und als Images importieren. 174
4.8.18 Kopieren von Daten: Container - Host. 175
4.8.19 docker checkpoint. 176
4.9 Prozessverwaltung im Container . 178
4.9.1 docker top. 178
4.9.2 Prozesse im Container beenden. 180
4.9.3 docker wait und Return-/Exit-Codes. 180
4.9.4 Container und alle Prozesse darin temporär pausieren. 181
4.9.5 Live-Events mit docker events. 181
4.9.6 Exkurs: Container-Capabilities/-Privilegien. 183
4.9.7 Prüfung der Capabilities . 183
4.10 Docker Logging . 186
4.10.1 Log Driver. 186
4.10.2 Zentralisierte Logs für Container-Instanzen. 187
4.10.3 Container-Logs mit docker logs. 188
4.11 Einfache Applikationen im Container. 189
4.11.1 Vorbetrachtungen. 189
4.11.2 Installation von Applikationen im gestarteten Container. 189
4.12 Image-Modifikationen commiten und taggen. 193
4.12.1 Vorbetrachtungen. 193
4.12.2 Commit-Beispiel . 194
4.12.3 Nachträgliches Taggen von Images. 196
4.13 Layer-Strukturen . 199
4.13.1 Vorbetrachtungen. 199
4.13.2 Verzeichnisstrukturen auf dem lokalen Docker Host. 199
4.13.3 Was ist beim letzten Commit passiert,
wo liegt der neue Layer (Struktur)?. 200
4.13.4 IDs der RW Layer von gestarteten Containern und Querbezüge . 200
4.13.5 Layer-Analyse und Flattening (Zusammenfassung) . 202
9
204
204
205
205
207
207
208
208
210
210
211
223
226
227
231
231
231
232
232
232
233
233
234
234
234
235
235
236
236
237
237
239
242
243
244
245
246
249
252
254
Limitierte Container-Instanzen .
4.14.1 Vorbetrachtungen.
4.14.2 docker [container] stats .
4.14.3 Mögliche Limitierungen.
4.14.4 Beispiele aus der Praxis für limitierte Container-Instanzen .
4.14.5 Nachträgliche Limitierung .
Dedizierte Docker Image-Stände bauen (docker build) und verwalten
4.15.1 Vorbetrachtungen.
4.15.2 Best-Practice/File-Hierarchie.
4.15.3 docker build .
4.15.4 Dockerfile-Direktiven/-lnstruktionen.
4.15.5 Build-Anwendungsbeispiel: Apache-Container.
4.15.6 Weiteres Beispiel: ssh-Container.
4.15.7 Docker Images mit systemd .
Best Build Practices .
4.16.1 Container sind kurzlebig und jederzeit reproduzierbar.
4.16.2 Wer hat’s gemacht? .
4.16.3 Wie ist es bezeichnet? .
4.16.4 Verwenden eines eigenen Build-Ordners pro Template.
4.16.5 Verwendung eines .dockerignore-Files.
4.16.6 Schlanke Images.
4.16.7 Nur ein Prozess pro Container.
4.16.8 Anzahl der Layer minimieren/niedrig halten .
4.16.9 Multi-Line-Argumente in Befehlen (alphanumerisch) sortieren
4.16.10 Build-Cache .
Docker Networking.
4.17.1 Vorbetrachtungen.
4.17.2 Packungsdichten und die Realität.
4.17.3 Rework .
4.17.4 docker network-Hilfesystem .
4.17.5 Basics: Netzwerkverbindung zum Container .
4.17.6 Docker und iptables.
4.17.7 IP eines gestarteten Docker-Containers auslesen.
4.17.8 IP-Zuweisung und die /etc/hosts Im Container.
4.17.9 Komplette Netzwerk-Info eines Containers auslesen .
4.17.10 Docker networks: bridge, host, none und mehr .
4.17.11 —net(work)= in der Praxis.
4.17.12 Kommunikation: Welt zu Container, Docker Portmapping.
4.17.13 Portmapping explizit setzen .
4.17.14 Docker-Netzwerke ab Version 1.9 einrichten und modifizieren
256
257
258
259
260
262
262
263
263
266
272
281
282
282
283
283
284
285
286
287
289
290
293
294
296
296
297
297
298
299
300
300
301
301
301
302
11
4.17.15 Welche Möglichkeiten stellt das neue docker network
zur Verfügung?.
4.17.16 Die neuen Netzwerk-Driver im Detail .
4.17.17 Network Connect ändern .
4.17.18 docker network create - userdefinierte Netzwerke hinzufügen
4.17.19 Erzeugen eines neuen Bridged Networks .
Container miteinander verknüpfen.
4.18.1 Vorbetrachtungen.
4.18.2 Legacy Links.
4.18.3 Beispiel-Setup Legacy Link .
4.18.4 Beispiel-Setup: Legacy Link Apache/OpenLDAP-Container .
4.18.5 Verlinkung über userdefinierte Netzwerke.
4.18.6 docker network prune .
Docker-Compose .
4.19.1 Vorbetrachtungen.
4.19.2 Bearbeitung von Yaml-Konfigurationsdateien .
4.19.3 Was passiert beim Rollout? .
4.19.4 Installation .
4.19.5 Compose - Praxisbeispiel.
4.19.6 Apache und OpenLDAP als Compose-Rollout.
4.19.7 Build and Run.
4.19.8 Handling der Services per docker-compose .
4.19.9 Auszüge der gängigsten docker-compose-Sub-Befehle .
4.19.10 Docker-Compose Startup - Dependencies.
4.19.11 Docker-Compose und Application Bundles.
Docker Storage Driver und Volumes.
4.20.1 Vorbetrachtungen.
4.20.2 Storage Driver (local).
4.20.3 Übersicht der Storage Driver-Vor-und Nachteile .
4.20.4 Storage Driver und Filesystem-Kombinationen .
4.20.5 So what? — Entscheidungsfragen .
Deep Dive in die Beziehung zwischen Images/Container-Instanzen
und dem Storage Driver.
4.21.1 Grundsätzliches: Images, Layer und der Storage Driver.
4.21.2 Graphdriver? .
4.21.3 Aufgaben des Storage Drivers.
4.21.4 Exkurs: Secure Content Hashes und Content addressable
Storage ab Docker 1.10 .
4.21.5 Image Layering und Sharing gemeinsamer Layer.
303
307
307
309
312
313
319
327
335
341
342
342
342
343
345
349
352
354
356
357
358
359
359
359
360
361
363
364
369
369
371
371
371
372
372
4.21.6 Read/Write-Container, Readonly Image, Storage Driver
und Datenspeicherung.
Storage Driver im Detail.
4.22.1 AUFS .
4.22.2 OverlayFS.
4.22.3 Neuerungen in Overlay(FS)2.
4.22.4 BTRFS .
4.22.5 Devicemapper Storage Driver.
4.22.6 Umbau loop-lvm auf direct-lvm (RHEL/CentOS 7.x).
4.22.7 ZFS .
4.22.8 Schlussbemerkung.
Data Sharing mit Docker Volumes.
4.23.1 Vorbetrachtungen.
4.23.2 Docker Data Volumes .
4.23.3 Einfache Data Volumes .
4.23.4 Host mounted Data Volumes .
4.23.5 Data Volume Mounts vom Host für OpenLDAP-Container.
4.23.6 Volumes From .
4.23.7 Maximale Portabilität über reine Docker Data Volumes .
4.23.8 Readonly Data Volumes.
4.23.9 Backup, Restore und Migration von reinen Docker Data
Volumes.
4.23.10 (Anonyme) Volumes entfernen.
4.23.11 Zusammenfassung.
Spezielle Volume Plugins .
4.24.1 Vorbetrachtungen.
4.24.2 Überblick .
4.24.3 NFS-Share als Docker Volume.
4.24.4 Netshare-Plugin (NFS/CIFS) .
4.24.5 vSphere Volume Plugin .
4.24.6 Eigene Volume Plugins.
4.24.7 Docker Storage Volumes - grundsätzliche Schlussbetrachtung .
Docker Security
Docker Security: TLS/SSL.
5.1.1 Vorbetrachtungen.
5.1.2 Grundlagen .
5.1.3 SSL-Standard und veraltete Protokolle
Inhalt
5.1.4 Vorbetrachtungen zur Zertifikatserzeugung . 373
5.1.5 Anpassungen der openssi.cnf . 374
5.1.6 Erzeugung der Zertifikate mit angepasster OpenSSL-
Konfiguration . 376
5.1.7 Die CA erzeugen. 376
5.1.8 Zertifikats-Request erzeugen. 378
5.1.9 Zertifikats-Request signieren. 379
5.1.10 Bearbeiten des Keys. 380
5.1.11 Erzeugte Dateien und weitere Tasks. 380
5.1.12 Weitere Docker Hosts/Zertifikate. 381
5.1.13 Daemon-Startparameter. 381
5.1.14 Test des Client-Zugriffs per TLS. 382
5.1.15 Übersicht der zur Verfügung stehenden TLS-Flags für Server
und Client. 385
5.2 Docker Security: Content Trust/Notary . 385
5.2.1 Vorbetrachtungen . 385
5.2.2 DCT (Docker Content Trust) und TUF. 386
5.2.3 Notary . 388
5.2.4 Manuelles Notary-Test-Setup. 389
5.2.5 Build and Run. 391
5.2.6 Notary-Client-CLI . 392
5.3 Docker Security: Vulnerability Scanner . 394
5.3.1 Vorbetrachtungen. 394
5.3.2 Clair. 394
5.3.3 Clair-Beispiel-Setup. 396
5.3.4 Clair und PostgreSQL-Rollout via Compose. 397
5.3.5 Überprüfung eines vorhandenen Image
per analyze-local-images. 399
5.3.6 Docker Bench . 402
5.3.7 Testlauf Docker Bench . 402
6 Die eigene Trusted Docker Registry 405
6.1 Die Registry im Detail. 405
6.1.1 Vorbetrachtungen. 405
6.1.2 Up and running?. 406
6.1.3 Registry-Architektur. 407
6.1.4 Registry Upgrades VI zu V2. 408
13
408
408
409
411
413
413
414
415
416
416
417
417
418
421
421
421
424
424
424
425
426
428
429
430
432
432
432
433
436
436
437
438
438
439
440
443
447
Vorbereitungen zum Setup .
6.2.1 insecure Registry .
6.2.2 Das Docker Default Registry-Image.
6.2.3 Konfigurations-Override.
Registry Setup-Möglichkeiten.
6.3.1 Die Container-basierte Docker Registry.
6.3.2 RHEL/CentOS .
6.3.3 SLES 12/SUSE Leap .
Registry-Setup: Vorbereitungen und Betrieb.
6.4.1 Vorbereitungen für den Upload in eine Insecure-Registry.
6.4.2 Vorbereitungen: Regeln zum Image Tagging für
Registry-Uploads verstehen.
6.4.3 Upload/Push eines Images in die Registry .
6.4.4 Löschen von Images in einer privaten Registry.
Lokaler Registry-Mirror.
6.5.1 Vorbetrachtungen.
6.5.2 Beispiel.
Docker Registry mit TLS.
6.6.1 Vorbetrachtungen.
6.6.2 Zertifikatslokationen.
6.6.3 CA, Zertifikat und Key für den Registry-Host.
6.6.4 Start und Betrieb der Registry mit TLS .
6.6.5 Push in die Registry mit TLS.
6.6.6 Verbindung zur TLS gesicherten Registry mit Client-Zertifikat
6.6.7 Distributionsspezifische Registry mit TLS (SUSE Leap).
6.6.8 Troubleshooting-Tipps .
Registry-Authentifizierung.
6.7.1 Vorbetrachtungen.
6.7.2 Simple/Basic Authentication via htpasswd .
6.7.3 Distributionsspezifische Registry mit Simple/Basic Auth.
6.7.4 Silly-Authentifizierung .
6.7.5 Token-Authentifizierung.
Zentrale Registry-Authentifizierung via LDAP/TLS .
6.8.1 Vorbetrachtungen.
6.8.2 Entfernen der Simple/Basic Auth-Konfiguration .
6.8.3 Setup des LDAP-Images mit TLS .
6.8.4 Setup des HTTP-Proxy.
6.8.5 Build Start Registry/LDAP/http-Proxy per Compose .
Inhalt
6.8.6 Test des Setups . 448
6.8.7 Zugriffskontrollen . 450
6.9 Registry mit AD-Authentifizierung. 452
6.9.1 Konzepte und Verfahren. 452
6.9.2 Simple Bind. 452
6.9.5 SSO/Kerberos-Anbindung. 452
6.10 Docker Management-Uls. 453
7 Weitere Container-Plattformen 455
7.1 Atomic Host (RHEL/CentOS). 456
7.1.1 Grundsätzliches. 456
7.1.2 Die Funktionsweise von Atomic Host/Aufbau des Dateisystems . 456
7.1.3 Upgrades und Rollbacks. 456
7.1.4 Installation und Betrieb . 459
7.1.5 Atomic Scan (CVE-Scanner) . 460
7.1.6 Skopeo. 461
7.2 Docker unter Windows. 463
7.2.1 Vorbetrachtungen. 463
7.2.2 Unterschiede zu Linux. 464
7.2.3 Windows Server-Container vs. Hyper-V-Container. 464
7.2.4 Linux Container unter Windows Server mit Hyper-V . 465
7.2.5 Weiterführende Informationen/Setup-Anleitungen. 466
7.3 Rocket Science? - CoreOS/Container Linux . 466
7.3.1 CoreOS/Container Linux und Rocket. 467
7.3.2 CoreOS: nicht vorhandene Pakete und Rolling Upgrades . 467
7.3.3 Upgrades. 467
7.3.4 rkt und das Appc-Containerformat. 470
7.3.5 Die Unterschiede zwischen Docker-und Rocket-Containern . 471
7.3.6 Relativer, echter Prozessbaum und Parad\grc]en. 471
7.3.7 Setup einer CoreOS-lnstanz als VM . 472
7.3.8 Erste Einstellungen und ssh-Connect. 473
7.3.9 CoreOS-Anpassungen. 474
7.3.10 Nach dem Start . 475
7.3.11 Rocket Launch-Container starten und verwalten . 475
7.4 SLEMicroOS . 479
7.5 RancherOS . 479
15
Inhalt
8 Fazit-Single Node Container-Plattformen 48i
8.1 Der Wandel . 481
8.2 »Die« Container-Plattform?. 481
TEIL III Skalierbare Container Cluster und
Container-Orchestrierung
9 Container Cluster-von Planern und Orchestern 485
9.1 Worum es geht-the Big Picture . 485
9.2 World of Tiers-Teil 2. 486
9.2.1 Scheduling vs. Orchestration? . 486
9.2.2 Die Layer/Tiers und ihr Zusammenwirken . 486
9.23 Container Cluster . 487
9.2.4 Unser Ziel . 488
9.3 Vorbereitungen. 488
9.3.1 Distributionsfragen . 488
9.4 Pre-Flight Requirements: Zeitsynchronisation . 489
9.4.1 NTP und die Relativität. 489
9.4.2 NTP-Basics . 490
9.43 NTP-Setup . 491
9.4.4 NTP-Setup mit zusätzlichen Peers. 494
9.4.5 Chrony. 495
9.5 Pre-Flight Requirements: pssh . 495
9.5.1 Grundsätzliches . 495
9.5.2 Setup pssh auf allen Nodes . 496
9.53 pssh - korrespondierende Dateien/Einstellungen . 497
10 Schlüsselmeister im Container Cluster:
Key/Value Stores und Service Registry/Discovery 499
a 11 in»miwwwn 11» 1 t'm »rnnoiiwtmm1 mmmmmmmmmimtmM•immunmmMmmamemm 1 mtmmmmm 111» 1iiiirnr^ni mmmtarn
10.1 Key/Value Stores. 500
10.1.1 Vorbetrachtungen. 500
10.1.2 Key/Value Stores im Detail . 500
16
Inhalt
10.1.3 Backup- und Verfügbarkeitsstrategien.
10.2 Service Discovery/Registry. 50*.
10.2.1 Sichten - und nicht vernichten . 502
10.2.2 Service Discovery im Detail. 503
10.2.3 Statisch vs. dynamisch . 505
10.2.4 Konfigurationsreplikation . 505
10.3 Verfügbare Key Value/Stores im Kurzüberblick. 506
10.3.1 Teile und herrsche. 506
10.3.2 Entscheidungsfindung - Raft vs. Paxos. 506
10.3.3 etcd. 507
10.3.4 Consul . 508
10.3.5 Zookeeper. 509
10.4 Key/Value Store Cluster für Container am Beispiel von Consul . 510
10.4.1 Die Consul-Komponenten in der Übersicht. 510
10.4.2 Zusammenfassung der Consul-Kernfunktionen und Features. 512
10.4.3 Zusammenfassung der Consul-Basisarchitektur
und Funktionsbeschreibung. 513
10.4.4 Consul Service Monitoring im Detail. 514
10.4.5 Setup eines Consul Clusters: Vorbetrachtungen . 515
10.4.6 Einfache Consul-Grundkonfiguration . 516
10.4.7 Consul als generischer Key/Value Store für Container Cluster . 520
10.4.8 Endpunkte/Endpoints. 522
10.4.9 Cluster Leader (Re-)EJection. 524
11 Schwarm.-Intelligenz? Docker Swarm Mode 525
11.1 Docker Swarm Mode, Swarmkit, old/native Swarm
. oder noch einen Schwarm vergessen?. 525
11.1.1 Docker (native) Swarm . 526
11.1.2 Swarmkit . 526
11.1.3 Docker Swarm Mode . 527
11.1.4 Grundsätzliches zum Swarm Mode. 527
11.1.5 Docker Swarm Mode mit integriertem KV Store und TLS . 527
11.1.6 Full Rework: Docker Swarm und TLS ab 1.12. 528
11.2 Swarm - Pre-Flight-Betrachtungen. 529
11.2.1 Vorbetrachtungen. 529
11.2.2 Best Practice: Anzahl Swarm Manager Nodes/Fault Tolerance. 530
11.2.3 RZ-Topologien . 531
17
Inhalt
11.2.4 Grundsätzliches zum (Swarm-)Netz. 532
11.2.5 Swarm und IPV5. 532
11.2.6 Container-HA und Scale-Out. 533
11.2.7 Overlay-Netzwerke im Swarm Mode . 533
11.2.8 Multiple Swarm-Netze und Verschlüsselung. 534
11.2.9 Swarm Services - Key Concepts. 535
11.3 Swarm-Setup. 536
11.3.1 Vorbetrachtungen. 536
11.3.2 Überblick über die Swarm-Kommandos . 536
11.3.3 Swarm Mode-HA. 539
11.3.4 Anlegen eines neuen Swarm-Netzes (Typ Overlay). 539
11.4 Swarm-Administration. 541
11.4.1 Weitere Swarm Nodes hinzufügen oder entfernen. 541
11.4.2 Node Status inspizieren . 542
11.4.3 Weitere Schwarm-Informationen . 544
11.4.4 Beförderung und Degradierung. 544
11.5 Swarm Services . 546
11.5.1 Vorbetrachtung . 546
11.5.2 Swarm Service, interner DNS und Service Discovery. 546
11.5.3 Swarm und internes Loadbalancing. 548
11.5.4 Swarm Mode Routing Mesh . 548
11.5.5 Externes Loadbalancing/HTTP Routing Mesh (HRM) . 549
11.5.6 Einfaches Swarm Service-Beispiel. 550
11.5.7 Storage . 556
11.5.8 Swarm Container JP(s) . 557
11.5.9 Swarm Service-IPs: dnsrr vs. vip . 558
11.5.10 Service Discovery-Beispiele: vip vs. dnsrr. 559
11.5.11 Global vs. Replicated Services . 561
11.5.12 Scale-Out. 561
11.5.13 Service-Verfügbarkeit/Healthchecks. 562
11.6 Rolling Updates im Schwarm. 565
11.6.1 Vorbetrachtungen. 565
11.6.2 Beispiel. 565
11.6.3 Rollbacks. 567
11.6.4 Leichen im Keller. 567
11.6.5 Kontrolle des Rolling Updates. 568
11.6.6 Interner Ablauf des Rolling Upgrades . 569
11.7 Swarm Stacks. 569
11.7.1 Vorbetrachtungen. 569
11.7.2 Beispiel. 570
18
Inhalt
11.8 Label- und Constraint-based Placement . 573
11.8.1 Vorbetrachtungen. 573
11.8.2 Warum Label?. 574
11.8.3 Constraints. 574
11.8.4 Swarm Node Labels . 578
11.8.5 Platzierung über Swarm-Label (nicht dockerd) . 579
11.8.6 Service (Placement) updaten. 580
11.8.7 Der lange leidige Weg der (guten) alten Constraints . 581
11.9 Swarm: weitere zu beachtende Punkte . 585
11.9.1 Backup Swarm State/Disaster Recovery . 585
11.9.2 Backup und Disaster Recovery. 585
11.9.3 Rolling Upgrade der Swarm Nodes im Produktivumfeld . 585
11.9.4 Zusammenfassung: die wichtigsten Swarm Mode Best Practices 586
11.9.5 Wohin geht der Weg für Docker Swarm? . 586
12 Docker Datacenter, Docker Trusted Registry
und CaaS 587
12.1 DDC, UCP und DTR im Überblick . 587
12.1.1 Vorbetrachtungen. 587
12.1.2 Microservice-Architektur im DCC . 588
12.2 UCP-Universal Control Plane . 589
12.2.1 Generelle Vorbetrachtungen . 589
12.3 UCP-lnstallation, Setup und weiterer DDC Nodes . 590
12.3.1 Vorbetrachtungen zum Setup . 590
12.3.2 lnstallations-/Konfigurationsoptionen des UCP . 591
12.3.3 UCP-Setup. 593
12.3.4 UCP Login . 595
12.3.5 Die UCP-Einzelkomponenten im Detail. 596
12.3.6 Beim Setup erzeugte/verwendete Volumes. 597
12.3.7 Weitere UCP Nodes zum DDC hinzufügen. 598
12.3.8 UCP Dashboard im Kurzüberblick. 600
12.3.9 UCP HA. 602
12.3.10 UCP Backup und Restore. 602
12.3.11 UCP LDAP-Authentifizierung. 603
12.4 DTR - Docker Trusted Registry. 605
12.4.1 Vorbetrachtungen. 605
12.4.2 DTR HA Image Storage . 605
19
Inhalt
12.5 DTR-lnstallation. 606
12.5.1 Vorbetrachtungen. 606
12.5.2 DTR-Hilfeoptionen . 607
12.5.3 Die DTR-Container . 608
12.5.4 DTR-Netzwerke. 608
12.5.5 Vom DTR erzeugte und verwendete Volumes . 608
12.5.6 Hilfeoptionen zur Installation. 609
12.5.7 DTR-Applikation im DDC . 611
12.5.8 DTR Management. 612
12.5.9 DTR Backups und Restore. 613
12.5.10 TLS-Setup DTR und Client. 614
12.5.11 Push/Pull in die/aus der DTR. 615
12.6 Notary/TUF im DDC . 616
12.6.1 Vorbereitungen. 616
12.6.2 Test des Notary Clients. 617
12.6.3 Target Keys und Snapshot Keys . 619
12.6.4 Repo-Test . 619
12.7 Image Security in der DTR . 621
12.8 DDC — Sonstiges. 622
12.8.1 DDC: Preise und Service-Modelle. 622
12.8.2 Fazit. 622
13 Kubernetes (K8s) 625
13.1 Kubernetes (K8s) ¡m Überblick. 625
13.1.1 Vom Borg zum Steuermann. 625
13.1.2 dockerd, rkt, CRI-O? - K8s-Container-Unterbau,
KISS und die Zukunft. 627
13.1.3 K8s, Key/Value Backends und SPoFs. 629
13.2 K8s-Komponenten. 630
13.2.1 Komponenten des K8s Clusters. 630
13.2.2 K8s-Dienste auf den Master Nodes. 631
13.2.3 K8s-Dienste auf den Workern. 632
13.3 Networking in Kubernetes. 634
13.3.1 Vorbetrachtungen. 634
13.3.2 Unterschiede zu Docker. 635
13.3.3 CNI-Plugins. 636
13.3.4 Netzwerkkommunikation im K8s Cluster. 636
20
637
637
637
638
639
641
642
642
643
644
645
649
651
652
654
655
655
655
656
657
658
664
664
664
665
670
671
671
673
673
674
675
676
677
677
677
678
21
etcd: Key/Value Store für Kubernetes im Detail .
13.4.1 Grundsätzliches.
13.4.2 Arbeitsweise/Funktionsprinzip von etcd
im Zusammenspie) mit K8s.
13.4.3 K8s und Redundanzen.
13.4.4 etcd-Datenstrukturen im Detail.
13.4.5 etcd: Hot-Backup.
etcd-Cluster - Installation und Setup.
13.5.1 Vorbetrachtungen.
13.5.2 Minikube? Nö.
13.5.3 Vorbetrachtungen und Vorbereitungen .
13.5.4 etcd-Konfiguration .
13.5.5 Manueller etcd-Cluster-Start .
13.5.6 etcd-lntegration in systemd/lokale HA .
13.5.7 etcd-Start via systemd-Unit.
13.5.8 Failover-Test.
Flannel CNI für K8s Cluster .
13.6.1 Vorbetrachtungen.
13.6.2 K8s Cluster und Overlay-Networking.
13.6.3 Network Extensions mit Flannel.
13.6.4 Flannel Dependencies.
13.6.5 Flannel-Setup auf den drei Nodes.
13.6.6 Exkurs: multiple Flannel Overlay-Netzwerke .
K8s Single Master-Setup.
13.7.1 Vorbetrachtungen: Apiserver, Controller Manager
und Scheduler.
13.7.2 Setup kube-apiserver.
13.7.3 Setup kube-controller-manager.
13.7.4 Setup kube-scheduler.
13.7.5 Scheduler-Algorithmen: Predicates und Priorities .
K8s-Worker-Konfigurationen für Single Master .
13.8.1 Vorbetrachtungen.
13.8.2 Der Node Controller (kube-controller-manager)
und die Verfügbarkeit der Worker Nodes.
13.8.3 kubelet-Konfiguration.
13.8.4 kube-proxy-Konfiguration .
13.8.5 Sonstiges: zentrale Konfigurationsparameter.
13.8.6 kubectl .
13.8.7 kubectl-Bash-Completion.
13.8.8 Start der Master-und aller Worker-Dienste .
Inhalt
13.9 Redundante und hochverfügbare K8s Master:
Konzepte und Möglichkeiten . 680
13.9.1 Vorbetrachtungen: lst-/Soll-Stand. 681
13.9.2 Vorbetrachtungen: mögliche Vorgehensweisen. 681
13.9.3 Pre-Flight Requirements und konkrete Setup-
Vorbetrachtungen. 682
13.9.4 Das Multi-Active-Problem. 684
13.9.5 Zertifikatsanpassungen/Cluster-Aliase. 685
13.9.6 Failover-Varianten . 685
13.10 Vorbereitendes Setup der K8s Master für Hot-Failover . 686
13.10.1 Hot-Failover K8s Master . 686
13.10.2 Vorbereitende Konfiguration. 687
13.10.3 Kubectl-Zertifikatsfehlermeldungen. 689
13.11 Pacemaker-Integration der drei K8s Master. 689
13.11.1 Vorbetrachtungen - HA der K8s-Kernkomponenten
mit Pacemaker . 689
13.11.2 Pacemaker und Corosync . 690
13.11.3 Pacemaker: Agenten, Ressourcen und Constraints
im Kurzüberblick. 692
13.11.4 Pakete und vorbereitende Tasks . 693
13.11.5 Corosync-Setup . 694
13.11.6 Benötigte Grundeinstellungen . 697
13.11.7 Erzeugung der benötigten Pacemaker-Ressourcen
für den K8s Cluster . 699
13.11.8 Erzeugen der weiteren K8s-Master-Ressourcen. 700
13.11.9 Gruppieren der kube*-Ressourcen . 701
13.11.10 Klonen der Gruppe. 701
13.11.11 IP-Colocation. 702
13.11.12 etcd und flanneld . 702
13.11.13 Inbetriebnahme des Pacemaker-gesteuerten
K8s Master Clusters. 704
13.11.14 Failover-Test. 705
13.11.15 Grafisches Pacemaker Cfuster-Management per HAWK2. 706
13.11.16 Grafisches Pacemaker Cluster-Management per PCS-GUI. 708
13.12 Stonith . 709
13.12.1 Ein kurzer Überblick. 709
13.12.2 vSphere/vCenter. 710
13.12.3 SBD. 710
13.12.4 Andere Stonith Varianten . 710
13.13 Grundlegende Management-Tasks und Regeln für Pacemaker Cluster . 711
22
Inhalt
14 Verstehen und Verwalten von Ressourcen
im K8s Cluster 713
14.1 Vorbereitungen . 713
14.2 kubectl . 713
14.2.1 kubectl-Bash-Completion. 713
14.2.2 Das kubecti-Kommando. 714
14.2.3 kubecti-Konfiguration . 714
14.2.4 Die wichtigsten kubectl-Subkommandos in der Übersicht. 714
14.2.5 Die kubectl-Manpages. 716
14.2.6 Welche Ressourcen/Aktionen können im K8s Cluster
via kubectl-CLI verwaltet werden? . 716
14.2.7 API-Versionierungsdickicht. 717
14.2.8 Grundsätzliche Hilfe zu den K8s-Ressourcen/Aktionen . 719
14.2.9 K8s-Ressourcen direkt mit kubectl run deployen. 720
14.2.10 Der kubectl-run --restart=-Schalter und seine Auswirkung
auf erzeugte Objekte . 720
14.2.11 Einfache kubectl-Beispiele im Hinblick auf erzeugte
API-Objekte. 721
14.2.12 Grundlegende K8s-Cluster-lnformationen abfragen . 723
14.3 Kompose - Docker Compose-Konverter für K8s. 724
14.3.1 Vorbetrachtung . 724
14.3.2 Beispiele . 724
14.4 Kleine K8s Cluster und Taint Nodes. 725
14.4.1 Vorbetrachtung . 725
14.4.2 Beispiele . 725
14.5 (Worker-)Node-Kapazitäten . 726
14.5.1 Vorbetrachtungen. 726
14.5.2 Analyse. 726
14.5.3 Weitere Node-Informationen abfragen . 728
14.6 Ressourcen im K8s Cluster ausrollen. 730
14.6.1 Was passiert beim Ausrollen einer Ressource? . 730
14.6.2 Default-Verteilungsstrategien des Scheduler
für die Worker Nodes. 731
14.6.3 Unterschiedliche Ressourcen in einem Yaml-File . 732
14.7 Pods. 732
14.7.1 Vorbetrachtungen. 732
14.7.2 Die Images hinter den Pods. 735
23
Inhalt
14.7.3 K8s Image Pull und (lokale) Trusted Registries . 735
14.7.4 K8s-Besonderheit: das »pause«-lmage und Reservierungen. 736
14.7.5 Erstellen eines Pods. 737
14.7.6 Laufenden Pod/Iaufende Resource editieren . 739
14.7.7 Kubernetes Pod-Phasen und -Zustände (Status). 741
14.7.8 Ein paar konkrete Beispiele für Zustände der Pods . 742
14.7.9 Pods nach Namespaces. 743
14.7.10 Debugging mit kubectl describe. 744
14.7.11 K8s Pods aus der Docker-Sicht. 745
14.7.12 (Force) Removal eines Pods. 746
14.7.13 Pod mit unterschiedlichen Containern/Images . 746
14.7.14 Setzen von Kommandos in der Pod-Spezifikation
per command/args. 747
14.7.15 Logs . 748
14.7.16 Detailliertes Auslesen von Pods . 749
14.7.17 Restart Policies . 750
14.7.18 Pods und Node Bindings. 750
14.7.19 Kommandos im Pod/Container ausführen . 750
14.7.20 Pod Health Checks . 751
14.7.21 Pod Lifecycle-Management/Hooks. 756
14.7.22 Automatische Bereinigung alter Pods. 758
14.7.23 Pod-Ressourcen und Limitierungen. 759
14.7.24 PodDisruptionBudget . 761
14.8 Pods und Volumes . 761
14.8.1 Vorbetrachtungen. 761
14.8.2 K8s Volumes im Unterschied zu Docker. 762
14.8.3 Persistente und nicht persistente Volumes . 763
14.8.4 emptyDir . 765
14.8.5 hostPath . 766
14.8.6 nfs. 767
14.8.7 iscsi-Volume . 769
14.8.8 Ceph. 770
14.8.9 PersistentVolumes/SAN. 770
14.8.10 PersistentVolumes in der Praxis. 771
14.9 Pods und ConfigMaps . 780
14.9.1 Vorbetrachtungen. 780
14.9.2 ConfigMaps in der Praxis. 780
14.10 Scale-Out: von Replication Controllern zu ReplicaSets. 783
14.10.1 Vorbetrachtungen. 783
14.10.2 Beispiel für einen Replication Controller (rc) . 785
24
Inhalt
14.10.3 Scale-Out . 788
14.10.4 Löschung alter Pods in rc. 789
14.10.5 Rolling Updates von rc . 789
14.10.6 Multiple Release Tracks für rc. 790
14.10.7 ReplicaSets und Set-based Label Selectors. 791
14.11 Deployments. 794
14.11.1 Verkapselung. 795
14.11.2 Erstellen eines Deployments. 795
14.11.3 Deployment per kubectl run erzeugen . 797
14.11.4 Deployment mit Service erzeugen . 798
14.11.5 Rolling Update/Rollout/Revisionssicherheit. 800
14.11.6 Update-/Revisionshistorie . 800
14.11.7 Update-Strategien . 802
14.11.8 Resume/Pause. 802
14.11.9 Absichtlich erzeugter Fehler beim Ausrollen/Auto-Stop
des Rollouts. 802
14.11.10 Rollback-Verfahren. 803
14.12 Namespaces. 804
14.12.1 Vorbetrachtungen. 804
14.12.2 Namens- und Designfragen . 805
14.12.3 Praktischer Einsatz. 806
14.12.4 Ressourcen im Namespace erzeugen. 808
14.12.5 Limitierte Pods und Namespaces . 810
14.12.6 Limits für Namespaces in der Praxis. 810
14.12.7 Node- und Pod-spezifische Statistiken . 813
14.12.8 Namespaces und Ressource-Quotas . 813
14.13 Services . 817
14.13.1 Vorbetrachtungen. 817
14.13.2 K8s-DNS-lntegration. 820
14.13.3 Vorbereitungen: Cluster-IP, NodePort, LoadBalancer,
-cluster-cidr und mehr. 820
14.13.4 Services und kube-proxy. 820
14.13.5 kübelet und Services . 823
14.13.6 ServiceType. 823
14.13.7 Beispiel: Service-Bereitstellung via NodePort . 824
14.13.8 Headless Service . 829
14.13.9 Ingress und Alternativen . 831
14.13.10 Multi-Port-Services mit NodePort und externer 1P. 833
14.13.11 Service/Deployment-Beispiel: K8s-Dashboard . 834
25
Inhalt
14.13.12 Service/Deployment-Beispiel:
kube-dns als Cluster-DNS-Service einrichten. 841
14.14 PetSets/StatefulSets/StatefuI Pods . 849
14.14.1 Vorbetrachtungen. 849
14.14.2 Im Detail. 849
14.15 Jobs . 851
14.15.1 Vorbetrachtungen. 851
14.15.2 Jobs-Beispiel. 852
14.16 DaemonSets . 855
14.16.1 Vorbetrachtungen. 855
14.16.2 Mögliche Anwendungsfälle. 856
14.16.3 DaemonSet Scheduler und Node-Zuordnung. 856
14.16.4 Beispiele . 857
14.17 HPA-Horizontaler Pod Autoscaler . 860
14.17.1 Vorbetrachtungen. 860
14.17.2 Hintergrund . 860
14.17.3 Auslastungskontrolle. 861
14.17.4 HPA-Setup. 861
14.17.5 Last-Test . 865
14.17.6 Löschen des hpa-Objekts:. 866
14.18 Weitere K8s-Objekte und -Ressourcen . 866
14.18.1 Events. 866
14.18.2 ThirdPartyResource. 867
14.19 K8s-Labels und -Constraints. 868
14.19.1 Vorbetrachtungen. 868
14.19.2 Label-Meeting . 869
14.19.3 Aufbau . 869
14.19.4 Ein paar praktische Beispiele. 870
14.19.5 Labels und Node-/Pod-Affinity. 872
14.19.6 Affinity und Anti-Affinity. 874
14.20 K8s-Authentifizierung und -Autorisierung . 875
14.20.1 Vorbetrachtungen. 875
14.20.2 Accounts. 876
14.20.3 Umsetzung unter K8s. 877
14.20.4 Secrets. 878
14.20.5 User Account in einem Kontext anlegen. 881
14.20.6 Authentifizierung an weiteren Clustern . 883
14.20.7 Dex . 883
26
Inhalt
15 The Road Ahead: Kubernetes ab Version 1.5/1.6 885
15.1 K8s als rein Pod-basiertes System . 885
15.1.1 Vorbetrachtungen. 885
15.2 Setup. 886
15.2.1 Setup-Voraussetzungen . 886
15.2.2 Repositories und Installation . 887
15.2.3 Erzeugte Files. 889
15.2.4 Verfügbare kubeadm init-Direktiven . 890
15.2.5 K8s-lnitialisierung mit kubeadm init. 890
15.2.6 etcd-Sidecar und K8s. 892
15.2.7 Underthe Hood -was ist beim Setup passiert?. 892
15.2.8 Weave. 896
15.2.9 Flannel-CNI als Pod/Deployment . 897
15.2.10 Join weiterer K8s Nodes. 898
15.2.11 Verfügbarkeit/Ausfallsicherheit der K8s-Komponenten
im Pod-Modeil . 900
15.2.12 Redundanter, realer etcd-Cluster für K8s im Container-Setup . 901
15.3 etcd-Pod-Cluster out-of-the-box? . 902
15.3.1 Vorbetrachtungen. 902
15.3.2 Funktionalitäten . 903
15.3.3 Praxisbeispiel. 904
15.3.4 Henne-Ei-Problem?. 905
15.3.5 Prometheus. 906
15.4 K8s Multimaster und native HA. 906
15.4.1 Vorbetrachtungen. 906
15.4.2 Die Tasks im Detail . 907
16 K8s GUIs/Monitoring:
Cockpit, Dashboard und mehr 909
16.1 Cockpit . 910
16.1.1 Vorbetrachtungen. 910
16.1.2 Setup. 910
16.1.3 Kurzübersicht der verfügbaren K8s-Module. 911
16.2 K8s-Dashboard . 912
16.2.1 Vorbetrachtungen. 912 •
16.2.2 Administration mit dem K8s-Dashboard. 913
27
Inhalt
16.3 fabric8 . 914
16.3.1 Vorbetrachtungen. 914
16.3.2 Setup und Betrieb . 915
16.4 Weave Scope. 916
16.4.1 Vorbetrachtungen. 916
16.4.2 Setup. 916
17 Federated/Geografisch verteilte K8s Cluster 919
17.1 Vorbetrachtungen . 919
17.1.1 Wie funktioniert es?. 919
17.1.2 Federated Services . 921
17.1.3 Federated Controller Manager und Scheduling. 921
17.1.4 RZ-Failures . 922
17.1.5 Setup und andere Kopfschmerzen. 922
18 K8s: Debugging, Rolling Upgrades, Fazit 925
18.1 Debugging/Troubleshooting. 925
18.1.1 Grundsätzliches. 925
18.1.2 Projektspezifische Debugging-Ressourcen . 925
18.2 Rolling Upgrades des K8s Clusters . 926
18.2.1 Vorbetrachtungen. 926
18.2.2 Best Practices: Master Nodes. 926
18.2.3 Best Practices: alle Nodes und kubelets. 927
18.2.4 kube-proxy. 928
TEIL IV Übergreifende Orchestrierungstools für verteilte
Container-Infrastrukturen
19 Rancher 931
19.1 Design und Aufgabenbereiche. 932
19.1.1 Infrastruktur-Orchestrierung. 932
19.1.2 Container-Orchestrierung und-Scheduling. 932
28
Inhalt
19.1.3 Anwendungen . 933
19.1.4 Authentifizieru ng. 933
19.1.5 Alles easy? Teilweise . 933
19.2 Setup. 933
19.2.1 Setup Vorbetrachtungen . 933
19.2.2 Rancher-Server/Web-Ul. 934
19.2.3 Authentifizierungseinstellungen. 935
19.2.4 Hosts hinzufügen. 937
19.2.5 Rancher CLI. 940
19.2.6 Natives Container-Management. 940
19.2.7 Rancher und Swarmkit Cluster. 942
19.3 Rancher und K8s. 943
19.3.1 Vorbetrachtung. 943
19.3.2 Setup. 943
19.4 Fazit. 944
20 Ab in die Mesosphäre: DC/OS 945
20.1 DC/OS. 945
20.1.1 Apache Mesos und DC/OS . 945
20.1.2 Mesospheres' DC/OS . 946
20.1.3 Architektur. 947
20.1.4 Generelle HA-Anforderungen . 948
20.2 Dienste auf den Mesos Nodes. 949
20.2.1 Dienste auf den Master Nodes. 949
20.2.2 Marathon . 950
20.2.3 Mesos-DNS. 950
20.2.4 Zookeeper. 951
20.2.5 Dienste auf den Agent Nodes. 953
20.2.6 UserSpace-Prozesse. 953
20.2.7 DC/OS-Zonenkonzept. 953
20.2.8 Loadbalancing. 954
20.2.9 Applikationsanforderung im DC/OS Cluster. 955
20.2.10 DC/OS Containerizer/Container-Runtime. 956
20.2.11 Netzwerke unter DC/OS . 958
20.2.12 Zusätzliche Overlay-Netze. 959
20.3 Setup eines DC/OS Clusters. 960
20.3.1 Setup-Vorbetrachtungen . 960
29
961
962
963
965
966
966
967
967
969
970
971
973
973
976
977
978
979
979
981
983
984
985
985
986
986
986
988
989
989
990
990
994
996
997
998
999
1000
1004
20.3.2 Nodes.
20.3.3 System-Requirements und Setup-Schritte.
20.3.4 Weitere Pakete, IPs, Updates und Docker Storage Backend .
20.3.5 Zusätzliche Overlay-Netze .
20.3.6 Disk-Ressourcen auf den Agent Nodes.
Setup-Vorbereitungen .
20.4.1 DC/OS Installer.
20.4.2 Benötigte Files für CLI-basierte Installation .
Setup.
20.5.1 Check der (Pre-)Requirements .
20.5.2 GUI-Setup.
20.5.3 Telemetriedaten .
20.5.4 CLI-Setup .
20.5.5 Pre-Flight Checks.
20.5.6 Deployment.
20.5.7 Erzeugte/verwendete Ordner und Verzeichnisse .
20.5.8 Post-Flight Checks.
20.5.9 Login und DC/OS Dashboard .
20.5.10 Post-Install-Troubleshooting.
20.5.11 Hinzufügen weiterer Nodes .
DCOS EE - Authentifizierung und Security.
20.6.1 ID-Provider.
20.6.2 External Directory (LDAP) .
20.6.3 Ablauf einer Session.
DC/OS-CLI .
20.7.1 DC/OS-CLI (offene Version).
20.7.2 DC/OS-CLI (EE) .
20.7.3 Nodes und Komponenten per CLI anzeigen lassen .
20.7.4 dcosviaSSH .
DC/OS-Ressourcen-Terminologien und -Konzepte .
20.8.1 Application/Service .
20.8.2 Ressourcen-Requests .
20.8.3 Jobs.
20.8.4 Pod.
20.8.5 Group.
20.8.6 Stateful Services und DC/OS Volumes.
20.8.7 MySQL-(und Wordpress-)Gruppe mit persistenter Datenablage .
20.8.8 Deployment vs. Application.
Inhalt
20.8.9 Dependencies. 1005
20.8.10 Labels. 1006
20.8.11 Service Upgrades/Rolling Upgrades . 1006
20.8.12 Constraints. 1007
20.8.13 Healthchecks . 1008
20.8.14 Autoscaling. 1009
20.8.15 Universe-Repository und Ausrollen von DC/OS-Applikationen . 1010
20.8.16 Applikationsgruppen und Dependencies . 1010
20.8.17 Dependencies abbilden . 1012
20.9 Fazit. 1013
21 Fazit Container-Orchestrierung 1015
21.1 Die Kandidaten im Überblick. 1015
21.2 Docker Swarm/DDC/EE. 1015
21.3 Rancher. 1016
21.4 Kubernetes (K8s) . 1016
21.5 DC/OS. 1017
TEIL V Software Defined Storage für verteilte
Container-Infrastrukturen
22 Ab in den Untergrund 1021
22.1 SDS und Container. 1021
22.1.1 Vorbetrachtungen. 1021
22.1.2 Cluster Storage, Skalierbarkeit und der SPoF . 1022
22.2 SDS-Funktionsprinzipien . 1023
22.2.1 Software Defined Storage - SDS. 1023
22.2.2 Hoch? Oder lieber breit? Scale-Out anstelle von Scale-Up. 1023
22.2.3 Traditionelle Storage Cluster(-FS) vs. SDS. 1024
22.2.4 Die Abstraktion . 1025
22.2.5 SDS und Storage Tiers. 1025
22.2.6 Multi-Purpose-SDS. 1027
22.2.7 Die roten Hüte, Ceph, Gluster und die Zukunft. 1027
31
Inhalt
22.3 Ceph . 1028
223.1 Vorbetrachtungen. 1028
22.4 Ceph und RADOS . 1029
22.4.1 Vorbetrachtungen. 1029
22.4.2 RADOS und Ceph SDS-Bereitstellung. 1030
22.43 librados. 1030
22.4.4 Crush(maps). 1031
22.5 Die Ceph-Daemons im Kurzüberblick: AAON, OSD, AADS. 1032
22.5.1 Vorbetrachtung . 1032
22.5.2 OSD . 1032
22.53 MON . 1033
22.5.4 MDS . 1034
22.6 Ceph-Bereitstellungsverfahren für Container Cluster . 1035
22.6.1 RADOS Block Device . 1035
22.6.2 CephFS . 1035
22.7 Setup des Ceph Clusters für Container-Storage-Bereitstellung. 1036
22.7.1 Vorbetrachtungen. 1036
22.7.2 Vorbereitungen zum Setup . 1036
22.7.3 Erzeugen der neuen Ceph-Cluster-Konfiguration. 1037
22.7.4 Deployment der Monitore. 1038
22.7.5 Deployment der OSDs . 1039
22.7.6 Kapazitätsbetrachtungen . 1040
22.7.7 Deployment der MDS, PG-Kalkulation. 1040
22.8 Ceph als SDS für K8s (RBD). 1041
22.8.1 Vorbetrachtungen. 1041
22.8.2 Persistent Volume (Claims) mit Ceph-RBD. 1042
22.83 Client-Integration (K8s Worker Node) . 1043
22.8.4 Die wichtigsten Schritte in der Übersicht. 1047
22.9 Ceph als SDS für K8s (CephFS). 1048
22.9.1 Vorbetrachtungen. 1048
22.9.2 Vorbereitung (Image). 1048
22.9.3 Vorbereitung (CephFS) . 1048
22.9.4 Vorbereitung K8s und Setup . 1049
22.10 Ceph als SDS für Docker. 1050
22.11 Ceph als SDS für DC/OS. 1051
22.12 Grundlegende Ceph Cluster-Designregeln für Produktivumgebungen. 1051
22.12.1 Netzwerkredundanzen. 1052
22.12.2 Backup der Cluster-Konfiguration . 1052
32
Inhalt
22.12.3 Full Data Backup?. 1052
22.12.4 Rolling Upgrades . 1053
23 Was war, was ist, was sein wird 1055
23.1 Neue Meta-Ebenen und Verkomplizierung . 1055
23.1.1 Container Cluster und Microservices als Allheilmittel? . 1055
23.1.2 The Road Ahead . 1056
Index. 1057
33 |
any_adam_object | 1 |
author | Liebel, Oliver |
author_GND | (DE-588)1042738157 |
author_facet | Liebel, Oliver |
author_role | aut |
author_sort | Liebel, Oliver |
author_variant | o l ol |
building | Verbundindex |
bvnumber | BV044195394 |
classification_rvk | ST 230 ST 232 |
classification_tum | DAT 424f |
ctrlnum | (OCoLC)971201408 (DE-599)DNB1124014861 |
dewey-full | 005.73 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security 004 - Computer science |
dewey-raw | 005.73 004 |
dewey-search | 005.73 004 |
dewey-sort | 15.73 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 1. Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a22000008c 4500</leader><controlfield tag="001">BV044195394</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20180417</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">170223s2017 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">17,N05</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">17,A22</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1124014861</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836243667</subfield><subfield code="c">Festeinband : EUR 69.90 (DE), EUR 71.90 (AT), CHF 91.90 (freier Preis)</subfield><subfield code="9">978-3-8362-4366-7</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3836243660</subfield><subfield code="9">3-8362-4366-0</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783836243667</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)971201408</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1124014861</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-M347</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-2174</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-861</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-863</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-739</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.73</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield><subfield code="2">23</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 232</subfield><subfield code="0">(DE-625)143619:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 424f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Liebel, Oliver</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1042738157</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Skalierbare Container-Infrastrukturen</subfield><subfield code="b">das Handbuch für Administratoren</subfield><subfield code="c">Oliver Liebel</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Rheinwerk</subfield><subfield code="c">2017</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1071 Seiten</subfield><subfield code="b">Illustrationen</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Rheinwerk computing</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Cover: "Docker, Rocket und Co: Container-Technologien und Hintergründe. Swarm, Kubernetes und DC/OS: Management und Orchestrierung. Skalierbare und ausfallsichere Container Cluster: Planung, Setup, Administration, Best Practices und Troubleshooting. Alle Codebeispiele zum Download"</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">hier auch "korrigierter Nachdruck 2018"</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwareproduktionsumgebung</subfield><subfield code="0">(DE-588)4138444-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Container</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)1116639513</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Kubernetes</subfield><subfield code="0">(DE-588)1153019000</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Docker</subfield><subfield code="g">Software</subfield><subfield code="0">(DE-588)1173644687</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Skalierbarkeit</subfield><subfield code="0">(DE-588)4520890-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Virtualisierung</subfield><subfield code="0">(DE-588)4839180-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Docker 1.12</subfield><subfield code="0">(DE-588)1116737825</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Automatisches Deployment</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Continous Delivery</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">CoreOS</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Cross-Plattform-Deployment</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Docker</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Hochverfügbarkeit</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Hyper-V</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Kubernetes</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Mesos</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Microservices</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Nomad</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Orchestrierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">RHEL Atomic</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Rocket</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Scale Out</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Skalierbare Infrastruktur</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Tectonic</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Ubuntu Snap</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Windows Server 2016</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">systemd</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Container</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)1116639513</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Virtualisierung</subfield><subfield code="0">(DE-588)4839180-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Skalierbarkeit</subfield><subfield code="0">(DE-588)4520890-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">Softwareproduktionsumgebung</subfield><subfield code="0">(DE-588)4138444-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="4"><subfield code="a">Docker 1.12</subfield><subfield code="0">(DE-588)1116737825</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Container</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)1116639513</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Virtualisierung</subfield><subfield code="0">(DE-588)4839180-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><subfield code="a">Skalierbarkeit</subfield><subfield code="0">(DE-588)4520890-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="3"><subfield code="a">Softwareproduktionsumgebung</subfield><subfield code="0">(DE-588)4138444-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="4"><subfield code="a">Docker</subfield><subfield code="g">Software</subfield><subfield code="0">(DE-588)1173644687</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="5"><subfield code="a">Kubernetes</subfield><subfield code="0">(DE-588)1153019000</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Rheinwerk Verlag</subfield><subfield code="0">(DE-588)1081738405</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe (PDF, ePub, Mobi, Online)</subfield><subfield code="w">(DE-600)978-3-8362-4367-4</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe, Bundle Buch + E-Book; E-Book-Formate (PDF, ePub, Mobi, Online)</subfield><subfield code="z">978-3-8362-5436-6</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=44ce136bdcf443a6bb2d0b864c262d51&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Passau - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029602036&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-029602036</subfield></datafield></record></collection> |
id | DE-604.BV044195394 |
illustrated | Illustrated |
indexdate | 2024-08-05T08:45:50Z |
institution | BVB |
institution_GND | (DE-588)1081738405 |
isbn | 9783836243667 3836243660 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-029602036 |
oclc_num | 971201408 |
open_access_boolean | |
owner | DE-M347 DE-898 DE-BY-UBR DE-473 DE-BY-UBG DE-1102 DE-858 DE-2174 DE-573 DE-861 DE-91G DE-BY-TUM DE-863 DE-BY-FWS DE-83 DE-20 DE-859 DE-739 |
owner_facet | DE-M347 DE-898 DE-BY-UBR DE-473 DE-BY-UBG DE-1102 DE-858 DE-2174 DE-573 DE-861 DE-91G DE-BY-TUM DE-863 DE-BY-FWS DE-83 DE-20 DE-859 DE-739 |
physical | 1071 Seiten Illustrationen |
publishDate | 2017 |
publishDateSearch | 2017 |
publishDateSort | 2017 |
publisher | Rheinwerk |
record_format | marc |
series2 | Rheinwerk computing |
spellingShingle | Liebel, Oliver Skalierbare Container-Infrastrukturen das Handbuch für Administratoren Softwareproduktionsumgebung (DE-588)4138444-1 gnd Container Informatik (DE-588)1116639513 gnd Kubernetes (DE-588)1153019000 gnd Docker Software (DE-588)1173644687 gnd Skalierbarkeit (DE-588)4520890-6 gnd Virtualisierung (DE-588)4839180-3 gnd Docker 1.12 (DE-588)1116737825 gnd |
subject_GND | (DE-588)4138444-1 (DE-588)1116639513 (DE-588)1153019000 (DE-588)1173644687 (DE-588)4520890-6 (DE-588)4839180-3 (DE-588)1116737825 |
title | Skalierbare Container-Infrastrukturen das Handbuch für Administratoren |
title_auth | Skalierbare Container-Infrastrukturen das Handbuch für Administratoren |
title_exact_search | Skalierbare Container-Infrastrukturen das Handbuch für Administratoren |
title_full | Skalierbare Container-Infrastrukturen das Handbuch für Administratoren Oliver Liebel |
title_fullStr | Skalierbare Container-Infrastrukturen das Handbuch für Administratoren Oliver Liebel |
title_full_unstemmed | Skalierbare Container-Infrastrukturen das Handbuch für Administratoren Oliver Liebel |
title_short | Skalierbare Container-Infrastrukturen |
title_sort | skalierbare container infrastrukturen das handbuch fur administratoren |
title_sub | das Handbuch für Administratoren |
topic | Softwareproduktionsumgebung (DE-588)4138444-1 gnd Container Informatik (DE-588)1116639513 gnd Kubernetes (DE-588)1153019000 gnd Docker Software (DE-588)1173644687 gnd Skalierbarkeit (DE-588)4520890-6 gnd Virtualisierung (DE-588)4839180-3 gnd Docker 1.12 (DE-588)1116737825 gnd |
topic_facet | Softwareproduktionsumgebung Container Informatik Kubernetes Docker Software Skalierbarkeit Virtualisierung Docker 1.12 |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=44ce136bdcf443a6bb2d0b864c262d51&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029602036&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT liebeloliver skalierbarecontainerinfrastrukturendashandbuchfuradministratoren AT rheinwerkverlag skalierbarecontainerinfrastrukturendashandbuchfuradministratoren |
Beschreibung
THWS Würzburg Teilbibliothek SHL, Raum I.2.11
Signatur: |
1340 ST 230 L716 |
---|---|
Exemplar 1 | nicht ausleihbar Verfügbar Bestellen |