Skalierbare Container-Infrastrukturen
Rheinwerk (Verlag)
978-3-8362-7772-3 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Virtualisierung hat die nächste Evolutionsstufe längst erreicht – hochskalierbare, automatisierte und ausfallsichere Container-Umgebungen: Leistungsfähige IaaS/IaC-Mechanismen rollen Ihre virtuelle Infrastruktur auf Knopfdruck vollautomatisiert aus und provisionieren Ihre Cluster und Applikationen in jedem gewünschten Versionsstand.
Mit GitOps-basierten, vollautomatisierten CI/CD-Pipelines, automatischer Skalierung von Applikationen und sogar Cluster-Nodes on-demand, flexiblen und leistungsfähigen Service-Meshes und Serverless-Architekturen sowie intelligenten Operatoren machen Sie Ihre Infrastruktur fit für die Zukunft.
Container: Theorie und Praxis
Zahlreiche neue Produkte, Konzepte und Technologien versprechen Ihnen immer effizientere Container-Umgebungen. Wie seine erfolgreichen Vorgänger lichtet auch diese Auflage das Dickicht der zahlreichen Versprechungen, grenzt Hype und Wunschdenken von der Realität ab und zeigt Ihnen, was Sie wirklich brauchen.
Kubernetes, OpenShift und mehr
Mit diesem umfassenden Handbuch verstehen Sie die Technologien und Konzepte hinter modernen CI/CD-Mechanismen und Container-Clustern – On-Premise und in der Cloud. Setzen Sie Kubernetes oder OpenShift mithilfe der praxiserprobten Tipps professionell ein. Automatisieren Sie Ihre Builds mit GitOps-basierten Pipelines und orchestrieren Sie Ihre Container-Infrastrukturen anhand bewährter und durchdachter Best Practices.
Ausfallsicherheit, Skalierbarkeit, maximale Automation
Erfahren Sie, wie Sie mit IaaS/IaC-Mechanismen, Operatoren, GitOps-Pipelines und anderen Komponenten Ihre Infrastrukturen und Cluster auf Knopfdruck ausrollen können. Stellen Sie automatisiert und containerisiert hochverfügbare und skalierbare Storage Backends für Ihre Container-Cluster zur Verfügung, und integrieren Sie Ihre IDM-Backends mit OAuth2 und Keycloak als zentrale Authentifizierungslösungen in Ihre Container-Cluster. Lassen Sie Ihre Cluster mit Autoscalern auf Lastanforderungen und mit intelligenten Operatoren auf Probleme automatisch reagieren.
Monitoring und Sicherheit – auch für Container-Cluster relevant
Die Anzahl der beweglichen Teile in Container-Clustern nimmt kontinuierlich zu, und damit die Zahl der potentiellen Angriffsvektoren und Sicherheitslücken. Sichern Sie sich mit den richtigen und umfassenden Security-Konzepten und -Lösungen rechtzeitig ab und behalten Sie mit den passenden Logging- und Monitoring-Stacks jederzeit den Überblick für einen reibungslosen Betrieb.
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
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.
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
»Wer Container, Kubernetes und OpenShift verstehen möchte, hält mit diesem dicken Wälzer das richtige Buch in den Händen. Humorvoll und unterhaltsam geschrieben und dennoch bis ins Detail durchleuchtet.« Hermann Woock, oose Innovative Informatik 202111
»Wer Container, Kubernetes und OpenShift verstehen möchte, hält mit diesem dicken Wälzer das richtige Buch in den Händen. Humorvoll und unterhaltsam geschrieben und dennoch bis ins Detail durchleuchtet.«
Erscheinungsdatum | 18.12.2020 |
---|---|
Verlagsort | Bonn |
Sprache | deutsch |
Maße | 190 x 240 mm |
Einbandart | gebunden |
Themenwelt | Informatik ► Betriebssysteme / Server ► Virtualisierung |
Mathematik / Informatik ► Informatik ► Netzwerke | |
Schlagworte | Ansible • Atomic • Buildah • Container-Cluster • Continous Delivery • CoreOS • Deployment • GitOps • Hand-Buch Bücher lernen Grundlagen Kurse Tipps Workshops Tutorials Wissen Ausbildung Schulung • Hochverfügbarkeit • istio • Mesos • Microservices • Nomad • OpenShift • Orchestrierung • Podman • RHEL • Scale out • Skopeo • SUSE • systemd |
ISBN-10 | 3-8362-7772-7 / 3836277727 |
ISBN-13 | 978-3-8362-7772-3 / 9783836277723 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich