Bücher Wenner
NACHHOLTERMIN Inger Maria Mahlke am 29. April
29.04.2024 um 19:30 Uhr

Reihe: Rheinwerk Computing

ISBN: 978-3-8362-7772-3
Erschienen am
Sprache:

Preis: 79,90 €
keine Versandkosten (Inland)


Jetzt bestellen und voraussichtlich ab dem 25. April in der Buchhandlung abholen.

Der Versand innerhalb der Stadt erfolgt in Regel am gleichen Tag.
Der Versand nach außerhalb dauert mit Post/DHL meistens 1-2 Tage.

79,90 €
merken
klimaneutral
Der Verlag produziert nach eigener Angabe noch nicht klimaneutral bzw. kompensiert die CO2-Emissionen aus der Produktion nicht. Daher übernehmen wir diese Kompensation durch finanzielle Förderung entsprechender Projekte. Mehr Details finden Sie in unserer Klimabilanz.
Biografische Anmerkung
Klappentext
Inhaltsverzeichnis

Dipl.-Ing. Oliver Liebel ist LPI-zertifizierter Linux-Enterprise-Experte und
offizieller Business Partner von SUSE und Red Hat. Als Dozent, Autor, Berater und Projektleiter ist er seit vielen Jahren für namhafte Unternehmen, internationale Konzerne und Institutionen auf Landes- und Bundesebene tätig. Dabei blickt er auf 25 Jahre Berufserfahrung zurück.



Die dritte, komplett überarbeitete Auflage der bewährten Container-Referenz liefert Ihnen tiefes, fundiertes Profi-Know-how und praxiserprobte Anleitungen. Nutzen Sie aktuelle Container-Technologien auf Basis von Kubernetes und OpenShift für Skalierbarkeit, Flexibilität, Hochverfügbarkeit und Planungssicherheit!


Aus dem Inhalt:


  • Container Engines und Tools: Podman, Buildah, Skopeo, CRI-O, Singularity, Docker

  • Trusted Registries, Security-Konzepte

  • IaaS- und IaC-Mechanismen für maximale Infrastruktur-Automation

  • Planung, Installation und fortgeschrittene Orchestrierung hochverfügbarer Kubernetes- und OpenShift-Cluster, On-Premise und in der Cloud

  • (Custom-)Metrics, Monitoring und Autoscaling mit Prometheus, HPAs, VPAs und Cluster-Autoscalern, zentrales Logging mit EFK-Stacks

  • Integration von IDM-Backends per Keycloak und OAuth2

  • Services, Ingress und Advanced Routing mit Service Meshes, Serverless mit Knative

  • Maximale Automation im Cluster: Operatoren indeep, Build eigener Operatoren mit dem Operator-SDK und Helm, Ansible und Go

  • Security-Suiten für komplexe Container-Cluster: Image und Registry Scanning, Cluster Behavior Analysis und Responses

  • SDS-Cluster automatisiert und containerisiert ausrollen

  • Clusterfähige Storage Backends in Multi-Tier-Architekturen mit Auto-Provisionern on-demand in der Cloud und On-Premise





TEIL I. Brave New World? ... 41
1. Container -- die Lösung für alles ... oder etwa doch nicht? ... 43
1.1 ... Vorwort zur 3. Auflage ... 44
1.2 ... Vorbemerkungen ... 52
1.3 ... Was dieses Buch sein bzw. nicht sein soll ... 56
1.4 ... Wie dieses Buch zu lesen ist ... 56
1.5 ... Welche Teile des Buchs sind neu, welche wurden stark überabeitet? ... 57
1.6 ... Verwendete Plattformen und Versionsspezifikationen ... 59
2. Warum Container? ... 61
2.1 ... Wer braucht's? ... 61
2.2 ... Überblick: IaaS, CI/CD, GitOps -- und maximale Automation ... 62
TEIL II. Container-Konzepte, -Engines und -Tools ... 65
3. Container- und Infrastruktur-Konzepte ... 67
3.1 ... World of Tiers -- Teil 1 ... 67
4. Container-Engines und -Tools ... 71
4.1 ... Die Container-Engines CRI-O, Singularity und containerd ... 71
4.2 ... Docker als Container-Engine ... 72
4.3 ... Storage-Driver und Local Volumes ... 115
4.4 ... SSSD -- konsistente ID-Mappings für persistente Datenspeicherung in Container-Clustern ... 128
4.5 ... »Docker-less«: Buildah, Podman und Co. -- Container und Images ohne Docker erstellen und verwalten ... 141
4.6 ... Image-Build mit Buildah ... 142
4.7 ... Image-Build mit Kaniko ... 155
4.8 ... Podman ... 157
4.9 ... Podman vs. crictl ... 169
5. Container Security (1) -- Konzepte und Tasks ... 173
5.1 ... Trusted Images ... 174
5.2 ... Trusted Registries und Images ... 176
5.3 ... Container-Capabilities und Privilegien ... 182
5.4 ... Skopeo -- der sichere Transportdienstleister ... 186
5.5 ... »Manuelle« Security und CVE-Scans? ... 200
5.6 ... TLS/SSL ... 202
6. Die private Trusted Registry ... 203
6.1 ... Die Registry im Detail ... 203
6.2 ... Registries: Vorbereitungen und Betrieb ... 206
6.3 ... Registry-Beispiel: Sonatype Nexus ... 210
6.4 ... Quay und weitere Registry-Alternativen ... 222
7. Slim Container-OS und Infrastruktur-Automation mit IaaS/IaC ... 225
7.1 ... Slim Container-OS ... 225
7.2 ... IaaS, IaC und Infrastruktur-Automation ... 228
7.3 ... IaaS/IaC-Tools am Beispiel von Terraform ... 230
7.4 ... Hands On: Terraform-basierter VM-Rollout auf vSphere ... 233
TEIL III. Skalierbare Container-Cluster und Container-Orchestrierung ... 243
8. Container-Cluster -- von Planern und Orchestern ... 245
8.1 ... The Big Picture ... 245
8.2 ... World of Tiers -- Teil 2 ... 246
8.3 ... Vorbereitungen (On-Premises-Cluster) ... 247
8.4 ... Pre-Flight Requirements: Zeitsynchronisation ... 248
8.5 ... Pre-Flight Requirements: pssh ... 253
9. Schlüsselmeister im Container-Cluster: Key/Value-Stores und Service-Registry/Discovery ... 257
9.1 ... Key/Value-Stores ... 258
9.2 ... Key/Value-Stores im Detail ... 259
9.3 ... etcd als Key/Value-Store für Kubernetes/OpenShift ... 264
10. Kubernetes (K8s) ... 269
10.1 ... Kubernetes im Überblick ... 269
10.2 ... Kubernetes-Komponenten ... 273
10.3 ... Dienste auf den Kubernetes-Master-Nodes ... 275
10.4 ... Dienste auf den Kubernetes-Workern aus technischer Sicht ... 284
10.5 ... Networking in Kubernetes ... 288
10.6 ... Kubernetes-Setup-Varianten ... 294
11. Die Kubernetes-Control-Plane als Microservice-Architektur ... 297
11.1 ... Vorbetrachtungen zum Setup einer Pod-basierten Kubernetes-Control-Plane ... 298
11.2 ... CRI-O als Container-Engine für Multimaster-Kubernetes-Cluster ... 299
11.3 ... Kubernetes-Multimaster-Setup ... 308
11.4 ... Pod-basiertes Overlay-Netz ... 326
11.5 ... Arbeiten mit Pod-basiertem etcd ... 330
11.6 ... Erweiterte Hochverfügbarkeitsbetrachtungen (Pacemaker) ... 333
12. Kubernetes-Cluster mit Singularity als Container-Engine ... 343
12.1 ... Singularity als HPC-Container-Runtime für Kubernetes ... 343
13. Kubernetes-Cluster: Ressourcen verstehen und verwalten ... 351
13.1 ... Überblick: Tools zum Deployment von Kubernetes-Ressourcen ... 351
13.2 ... kubectl ... 353
13.3 ... Kleine Kubernetes-Cluster und »Taint Nodes« ... 373
13.4 ... (Worker-)Node-Kapazitäten ... 375
13.5 ... Ressourcen im Kubernetes-Cluster ausrollen ... 381
13.6 ... Pods ... 389
13.7 ... Pod-Sidecar-Patterns und das Applikations-Design ... 395
13.8 ... Pods per Manifest erstellen und modifizieren ... 399
13.9 ... Pod/Container-Phasen und -Zustände, Debugging ... 412
13.10 ... Pod- und Container-Ressourcen, -Requests und -Limitierungen sowie QoS und Capabilities ... 420
13.11 ... Attribute von Pods und Containern auslesen, setzen und nutzen ... 436
13.12 ... Pods und ConfigMaps ... 441
13.13 ... Pods und Init-Container ... 455
13.14 ... Health-Checks: Live- und Readiness Probes ... 460
13.15 ... Jobs ... 479
13.16 ... Deployments (und inkludierte ReplicaSets) ... 484
13.17 ... DaemonSets ... 507
13.18 ... StatefulSets ... 512
13.19 ... Entscheidungshilfe: Wann Deployment, wann DaemonSet, wann StatefulSet? ... 514
13.20 ... Label und Constraints ... 516
13.21 ... Namespaces: Limits und Quotas ... 521
13.22 ... Namespaces: Multi-Tenancy und Security-Aspekte ... 534
13.23 ... CustomResourceDefinitions ... 539
13.24 ... Services ... 542
13.25 ... Alternative Rollout-Verfahren: Helm (V3) ... 592
13.26 ... Alternative Rollout-Verfahren: Kustomize ... 600
13.27 ... Kubernetes-Volumes und Datenpersistenzen ... 613
13.28 ... Dynamic Storage Classes / Auto-Provisioner ... 632
13.29 ... Kubernetes CSI -- Custom Storage Interface ... 643
13.30 ... EFK: Zentrales Logging mit ElasticSearch, Fluentd und Kibana ... 645
13.31 ... Cluster-Monitoring mit Prometheus ... 657
13.32 ... Full-Stack Monitoring: APM mit Dynatrace ... 668
13.33 ... HPA -- Horizontaler Pod-Autoscaler ... 677
13.34 ... Vertical Pod Autoscaler (der »Optimierer«) ... 704
13.35 ... Cluster Autoscaler ... 715
13.36 ... Ingress (Konzept) ... 716
13.37 ... Service-Meshes ... 721
13.38 ... Service-Meshes in der Praxis mit Istio ... 728
13.39 ... Beispiel für das Mesh-Routing zu einer Applikation mit verschiedenen Release-Tracks ... 739
13.40 ... Serverless und Knative ... 770
13.41 ... K8s-NetworkPolicies ... 784
13.42 ... Kubernetes: Authentifizierung und Autorisierung (Basics) ... 795
13.43 ... Kubernetes: Authentifizierung und Autorisierung (IDM-basiert) ... 824
14. Operatoren: Der Mini-Admin im Container ... 833
14.1 ... Vorbetrachtungen zum Thema Operatoren ... 833
14.2 ... Hands-on: etcd-Operator ... 838
14.3 ... Operator-Typen und Maturitäts-Level: Helm vs. Ansible vs. Go ... 848
14.4 ... Operator-Typen im funktionalen Vergleich: Helm vs. Ansible vs. Go ... 849
14.5 ... Red Hats Operator-SDK ... 854
14.6 ... Helm-basierter Operator: CockroachDB ... 856
14.7 ... Ansible-basierter Operator: Memcached ... 861
14.8 ... Go-basierter Operator: PodSet ... 869
14.9 ... Fazit ... 882
15. Federated Cluster ... 883
15.1 ... Das Federated-Konzept ... 883
15.2 ... Federated Services ... 884
15.3 ... Federated Controller Manager und Scheduling ... 885
15.4 ... RZ-Failures und andere Punkte, die Sie beachten sollten ... 886
15.5 ... Kosten und Latenzen ... 886
15.6 ... Setup und andere Kopfschmerzen -- Fazit ... 887
16. K8s: Debugging, Rolling Upgrades, the Road ahead ... 889
16.1 ... Debugging und Troubleshooting ... 889
16.2 ... kubeadm-basierte Setups upgraden ... 891
16.3 ... Kubernetes 1.19 and beyond ... 894
TEIL IV. High-Level-Setup- und Orchestrierungs-Tools für Kubernetes-basierte Container-Infrastrukturen (On-Premises und in der Cloud) ... 897
17. OpenShift ... 899
17.1 ... Vorbetrachtungen und Historisches ... 899
17.2 ... OpenShift-Flavours ... 901
17.3 ... Unterschiede und Ergänzungen zu Kubernetes (Auszüge) ... 905
17.4 ... OpenShift-Networking im Überblick ... 907
17.5 ... Konzept: OpenShift Router -- »Ingress deluxe« ... 912
18. OpenShift 4.x and beyond ... 917
18.1 ... Behind the scenes ... 918
18.2 ... Unterstützte Plattformen ... 919
18.3 ... What's new -- and what's not ... 920
19. OpenShift-Setup ... 923
19.1 ... Setup von OpenShift 4.5 (AWS-Cloud) ... 923
19.2 ... Setup von OpenShift 4.5 auf Bare Metal oder VM ... 942
19.3 ... Post-Install-Tasks bei On-Prem-Installationen ... 969
19.4 ... Exkurs: Full Disconnected Bare-Metal/VM-Install ... 971
19.5 ... OpenShift 4.5 Installer Provisioned Infrastructure (IPI) mit vSphere ... 979
20. OpenShift-Administration ... 989
20.1 ... CLI-Tools ... 989
20.2 ... Administration per GUI ... 994
20.3 ... Applikation ausrollen (oc new-app) und externer Zugriff darauf ... 995
20.4 ... OpenShift-Build-Prozesse (oc new-build) ... 1003
20.5 ... User-, Token- und Role-Management in OpenShift ... 1012
20.6 ... Accounts, Berechtigungskonzepte und Constraints ... 1019
20.7 ... Imagestreams ... 1028
20.8 ... DeploymentConfigs (dc) ... 1037
20.9 ... OpenShift-Router und der Ingress-Operator ... 1040
20.10 ... DNS-Customizing ... 1053
20.11 ... Knative unter OpenShift via Operator ... 1054
20.12 ... Istio-Mesh per Operator ... 1056
20.13 ... MachineSets, MachineConfigs und Cluster-Autoscaler unter OpenShift ... 1059
20.14 ... OpenShift Infrastructure-Nodes ... 1064
20.15 ... AWS Dynamic Storage Provisioning (EBS/EFS) unter OpenShift ... 1067
21. Container-Security (2) -- Full-Featured Security Stack ... 1079
21.1 ... Vorbetrachtungen ... 1079
21.2 ... NeuVector ... 1081
21.3 ... Bereitstellung der benötigten Images ... 1084
21.4 ... Setup ... 1087
22. Cloud-Hosted Kubernetes am Beispiel von GKE ... 1097
22.1 ... Kubernetes, Google und der Rest der Welt ... 1097
22.2 ... gcloud -- CLI-basierte Cluster-Installation ... 1102
22.3 ... GKE-Storage ... 1110
22.4 ... Direkter Zugriff auf GKE-(CoS-)Nodes ... 1115
23. CI/CD-Pipelines und GitOps ... 1117
23.1 ... Vorbetrachtungen zu CI/CD in der Praxis ... 1118
23.2 ... GitOps? ... 1119
23.3 ... GitOps-Pipeline-Modelle ... 1121
23.4 ... GitOps-Demo (CI/CD) unter GKE mit Cloud Build ... 1125
23.5 ... GitOps mit Tekton (CI-Fokus) -- Vorbetrachtungen ... 1139
23.6 ... Tekton Setup ... 1143
23.7 ... Beispiel: Tekton Pipeline (Build, Push & Deploy) ... 1153
23.8 ... Pipeline-Trigger mit Tekton ... 1160
23.9 ... GitOps mit ArgoCD (CD-Fokus) ... 1167
23.10 ... GitOps (CD) mit FluxCD ... 1173
23.11 ... Fazit ... 1180
TEIL V. Software-Defined Storage für verteilte Container-Infrastrukturen ... 1181
24. Software-Defined Storage für Container-Cluster ... 1183
24.1 ... SDS-Funktionsprinzipien ... 1184
24.2 ... Ceph ... 1185
24.3 ... Ceph-Bereitstellungsverfahren für Container-Cluster ... 1189
24.4 ... Containerisiertes Setup des Ceph-Clusters (cephadm/Podman) ... 1190
24.5 ... Rollout des Ceph-Clusters ... 1191
24.6 ... Ceph-RBD-Provisioner via ceph-csi ... 1200
24.7 ... CephFS-Provisioner via ceph-csi ... 1206
24.8 ... Containerized Ceph mit Rook ... 1211
24.9 ... Quay-Registry mit NooBaa-Object-Store ... 1228
24.10 ... OCS -- OpenShift Container Storage ... 1238
24.11 ... Weitere Storage-Anbieter für Kubernetes-basierte Cluster ... 1243
25. Was war, was ist, was sein wird ... 1245
25.1 ... Container-Cluster und Microservices als Allheilmittel? ... 1245
25.2 ... The Road Ahead ... 1245
Index ... 1247


andere Formate
weitere Titel der Reihe