Skalierbare Container-Infrastrukturen - Das Handbuch für Planung und Administration. Inkl. Container-Orchestrierung mit Kubernetes und OpenShift

Gebundene Ausgabe
79,90 €
inkl. MwSt. versandkostenfrei!


Produktdetails  
Verlag Rheinwerk Verlag
Auflage 4. Auflage, 06.12.2023
Seiten 1148
Format 19,8 x 6,1 x 24,3 cm
Gewicht 2175 g
ISBN-10 3836297531
ISBN-13 9783836297530
Bestell-Nr 83629753A

Produktbeschreibung  

Kubernetes-basierte Container-Cluster und die über sie bereitgestellten Microservices sind längst zum Standard in aktuellen IT-Landschaften geworden. Sie ermöglichen flexible und resiliente Infrastrukturen mit einem extrem hohen Automationsgrad und können selbst komplexeste Applikations-Stacks effizient orchestrieren, verwalten und skalieren, egal ob in der Cloud oder On-Premises. Damit bilden sie in vielen Unternehmen die Foundation für autoskalierbare Infrastrukturen, beispielsweise für vollautomatisierte CI/CD- und GitOps-Systeme oder für GPU-beschleunigte KI/ML-Modelle

Die vierte, komplett überarbeitete Auflage der seit vielen Jahren bewährten Container-Referenz liefert Ihnen praxiserprobte Anleitungen und tiefes, fundiertes Profi-Know-how, um strategisch wichtige Architekturentscheidungen mit solidem Background-Wissen zu treffen.



Aus dem Inhalt:



  • Container: Einsatzgebiete, Planungsstrategien, Kubernetes in Multi-/ Hybrid-Cloud-Umgebungen

  • Kubernetes-Architektur im Detail, LTS-Betrachtungen, Produkte und Kosten

  • Trusted Registries, Security-Konzepte, automatisiertes Zertifikatsmanagement, Backup und Disaster Recovery

  • Integration von IDM-Backends per Keycloak via Operator

  • Maximale Infrastruktur-Automation, Air-gapped/Offline-Installation und Betrieb

  • FinOps/Kostenkontrolle, Wirtschaftlichkeitsaspekte, Sustainability

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

  • Metrics, Monitoring und Logging

  • Services, Ingress, Cloud-native API-Gateways und Service Meshes

  • Maximale In-Cluster Automation: Operatoren für hunderte Applikationsstacks, eigene Operatoren und Operator-Bundles erstellen und bereitstellen

  • Autoskalierbare KI/ML-taugliche Kubernetes Cluster mit Datacenter-GPUs von NVIDIA

  • Enterprise-taugliche CI/CD-Pipelines und GitOps, Progressive Delivery mit Analysis


Inhalt:



  1.  Catch-22 ... 39


       1.1 ... Vorbemerkungen ... 43

       1.2 ... Kernziele und rote Fäden ... 45

       1.3 ... Was dieses Buch sein soll und was nicht ... 46

       1.4 ... Wie dieses Buch zu lesen ist ... 46

       1.5 ... Docker-Replacement-Tools ... 48



Teil I.  Strategische Vorbetrachtungen, Foundations und Preflights ... 51


  2.  Grundsätzliche strategische Fragen ... 53


       2.1 ... Worum geht es? ... 53

       2.2 ... Überblick: Container- und Infrastruktur-Konzepte ... 54

       2.3 ... Generelle Infrastruktur-Fragen: Cloud vs. On-Prem, Managed Kubernetes, Managed Server, hybrider Mischbetrieb ... 58

       2.4 ... Maximale Vollautomation -- IaC, Operatoren, GitOps ... 66

       2.5 ... Registries ... 73

       2.6 ... Ganzheitliche Security -- High-Level View ... 76



Teil II.  Kubernetes-Architektur, Core-Concepts, Workloads und Day 1 Operations ... 87


  3.  Kubernetes ... 89


       3.1 ... Kubernetes im Überblick ... 89

       3.2 ... Vanilla Kubernetes und das traurige Thema LTS ... 91

       3.3 ... Kubernetes-Komponenten ... 100

       3.4 ... Dienste auf allen Node-Typen: Kubelet, Container-Engine, Overlay-Netze, Proxies ... 103

       3.5 ... Dienste auf den Kubernetes-Master-/Controlplane-Nodes ... 106

       3.6 ... Etcd als Key/Value-Store in Kubernetes-basierten Clustern ... 112

       3.7 ... Networking in Kubernetes ... 118

       3.8 ... Windows-Nodes in Kubernetes-Clustern? ... 121

       3.9 ... Container-Engines für Kubernetes ... 126



  4.  Kubernetes-Setup-Varianten im kompakten Überblick ... 131


       4.1 ... Optionen und Grad der Verwaltbarkeit ... 131

       4.2 ... Setup-Ansätze (Auszüge) ... 133

       4.3 ... Zeitsynchronisation ... 137

       4.4 ... Instance Sizing ... 137



  5.  Kubernetes-Cluster-Setups (Cloud) ... 141


       5.1 ... GKE ... 142

       5.2 ... EKS ... 158

       5.3 ... AKS ... 160

       5.4 ... Vergleichstabelle für Managed-Kubernetes-Angebote ... 164



  6.  Kubernetes: Deployment-Tools und -Konzepte, API-Foundations, Manifest- und CLI-Handling ... 165


       6.1 ... Überblick: Tools zum Deployment von Kubernetes-Ressourcen ... 165

       6.2 ... Helm und Kustomize -- the Big Short ... 167

       6.3 ... Editoren und Tools: VI(M), Visual Studio Code und K9s ... 172

       6.4 ... Grundlegende Verfahren zum Erstellen von Workloads ... 176

       6.5 ... Grundlagen zu kubectl ... 178

       6.6 ... kubectl-Operations ... 188

       6.7 ... Debugging von Kubernetes-Ressourcen ... 198



  7.  Kubernetes-Cluster: Day 1 Operations -- Core-Workloads ... 201


       7.1 ... Namespaces: Foundations ... 201

       7.2 ... Namespaces: Multi-Tenancy- und Security-Aspekte ... 207

       7.3 ... Pods und Container ... 210

       7.4 ... Pod-Sidecar-Patterns und das Applikations-Design ... 220

       7.5 ... Pods und Init-Container ... 222

       7.6 ... Pod- und Container-Security ... 225

       7.7 ... Pod-/Container-Attribute über Umgebungsvariablen nutzen ... 231

       7.8 ... Überblick: ConfigMaps, ServiceAccounts und Secrets ... 233

       7.9 ... ConfigMaps ... 234

       7.10 ... ServiceAccounts ... 245

       7.11 ... Secrets ... 249

       7.12 ... Jobs ... 255

       7.13 ... Label, Selektoren und Annotations ... 260

       7.14 ... Deployments ... 265

       7.15 ... DaemonSets ... 275

       7.16 ... StatefulSets ... 279

       7.17 ... Entscheidungshilfe: Wann Deployment, wann DaemonSet, wann StatefulSet? ... 282

       7.18 ... Update-Strategien für Pods im Überblick ... 284

       7.19 ... Kubernetes: Autorisierung/RBAC ... 289

       7.20 ... Kubernetes-Volumes und dynamische Storage-Provisionierung ... 296

       7.21 ... Storage für cloudbasiertes Kubernetes: GKE, EKS und AKS ... 323

       7.22 ... Services ... 327

       7.23 ... Ingress ... 358



Teil III.  Skalierbare Container-Cluster mit Kubernetes: Day 2 Operations ... 365


  8.  Day 2 Operations: In-Cluster-Vollautomation mit Operatoren -- Foundations ... 367


       8.1 ... Vorbetrachtungen: Zwei Operator-spezifische Hauptkapitel ... 367

       8.2 ... CustomResourceDefinitions ... 368

       8.3 ... Operatoren unter Kubernetes ... 382

       8.4 ... Operator-Typen und Maturitäts-Level: Helm vs. Ansible vs. Go ... 387

       8.5 ... Operator-Typen im funktionalen Vergleich: Ansible vs. Go ... 391

       8.6 ... Operator-Preflights: OLM -- wer überwacht die Wächter? ... 392

       8.7 ... Operator-Management ... 396

       8.8 ... Hands on: PostgreSQL-Operator (Level 5) ... 401



  9.  Kubernetes-Cluster: Day 2 Operations -- Pod-Lifecycle, De-Scheduling, Tenancy und Limits ... 411


       9.1 ... Pod-Lifecycle und Health-Checks ... 411

       9.2 ... (De-)Scheduling: Überblick ... 429

       9.3 ... (De-)Scheduling: Constraints -- Node-Selektoren, Pod Topology Spread Constraints ... 438

       9.4 ... (De-)Scheduling: (Anti-)Affinity, Taints und Tolerations ... 443

       9.5 ... (De-)Scheduling: QoS-Classes, Compute Resource Requests und Limits ... 450

       9.6 ... (De-)Scheduling: Pod-Priorities ... 469

       9.7 ... (De-)Scheduling: PodDisruptionBudgets ... 474

       9.8 ... (De-)Scheduling: Node-Kapazitäten ... 483

       9.9 ... De-Scheduling und HA-Abstinenz: Descheduler und Re-Balancing ... 485

       9.10 ... Namespaces und (Compute-)Resource-Limits ... 490

       9.11 ... Namespaces und NetworkPolicies ... 501



10.  Kubernetes-Cluster: Day 2 Operations -- DNS, Certificates, API-Gateways ... 513


       10.1 ... ExternalDNS für externe Hostnamenauflösung ... 513

       10.2 ... Automatisierte Zertifikatserzeugung (alle Plattformen): Cert-Manager ... 519

       10.3 ... Gateway-API ... 536

       10.4 ... API-Gateway: Foundations ... 541

       10.5 ... API-Gateway: Beispiel-Setup (GKE) ... 543

       10.6 ... API-Gateway: Beispiel-Setup mit Kong (alle Plattformen) ... 551



11.  Kubernetes-Cluster: Day 2 Operations -- Metrics, Monitoring, Logging, APM/Observability, Autoscaler ... 563


       11.1 ... Kubernetes-Standard-Metriken: Metrics Server und kube-metrics ... 563

       11.2 ... Log-Erfassung und mehr unter Kubernetes: Elastic ... 566

       11.3 ... Log-Erfassung und mehr unter Kubernetes: Loki -- Grafana-Logging ... 584

       11.4 ... Cluster-Monitoring mit Prometheus ... 589

       11.5 ... Federated Prometheus mit Thanos ... 615

       11.6 ... Tracing mit Jaeger ... 625

       11.7 ... Full-Stack-Monitoring: APM und Observability ... 627

       11.8 ... HPA -- Horizontaler Pod-Autoscaler ... 640

       11.9 ... Custom-Metrics-Autoscaling mit KEDA und HPA ... 650

       11.10 ... Vertical Pod Autoscaler ... 665

       11.11 ... Multidimensionales Pod-AutoScaling (GKE) ... 678

       11.12 ... Cluster-Autoscaling ... 678



12.  Kubernetes-Cluster: Day 2 Operations -- Meshes, Authentication, Debugging, Backup/Recovery ... 681


       12.1 ... Service-Meshes ... 681

       12.2 ... Kubernetes: Authentifizierung und Autorisierung (Keycloak-basiert) ... 692

       12.3 ... Debugging und Troubleshooting ... 709

       12.4 ... Backup und Disaster-Recovery ... 710



Teil IV.  Vollautomation und Resilienz mit eigenen Operatoren ... 721


13.  Day 3 Operations: In-Cluster-Vollautomation mit Operatoren -- Advanced Concepts ... 723


       13.1 ... Operator-SDK, OLM und weitere Konzepte ... 723

       13.2 ... Ansible oder Go? ... 727

       13.3 ... Operator-Build-Demo: Level-5-Operator in Go ... 733

       13.4 ... Operator-Bundle für den L5-Operator erzeugen ... 745

       13.5 ... Index/Catalog (für L5-Operator und andere) erzeugen ... 749

       13.6 ... Hands-On: Memcached-Operator mit Ansible ... 756

       13.7 ... Diverses ... 760



Teil V.  High-Level-Setup- und Orchestrierungs-Tools für Kubernetes-basierte Container-Infrastrukturen ... 763


14.  Red Hat OpenShift ... 765


       14.1 ... Vorbetrachtungen und Historisches ... 765

       14.2 ... Lizenzierung und Lifecycle ... 767

       14.3 ... OpenShift, das Enterprise-Kubernetes in 'ready to use' ... 773



15.  OpenShift-Setup ... 775


       15.1 ... Generelle Vorbetrachtungen und Vorbereitungen ... 775

       15.2 ... Setup von OpenShift 4.12 (IPI) auf AWS ... 789

       15.3 ... Setup von OpenShift 4.12 (IPI) auf GCP ... 795

       15.4 ... Setup von OpenShift 4.13 (IPI) auf vSphere ... 798

       15.5 ... Post-install Tasks und Day 2 Operations für OpenShift ... 808

       15.6 ... Disconnected/Air-Gapped-Installation und der Betrieb ... 813



16.  OpenShift-Administration ... 819


       16.1 ... CLI-Tools ... 819

       16.2 ... Administration per GUI ... 823

       16.3 ... OpenShifts Cluster-Operatoren ... 824

       16.4 ... OpenShift-Networking im Überblick ... 826

       16.5 ... Authentifizierung und Autorisierung unter OpenShift ... 830

       16.6 ... Authentifizierung und Autorisierung: Security Context Constraints ... 834

       16.7 ... Imagestreams ... 841

       16.8 ... OpenShift-Router ... 845

       16.9 ... OpenShift-Router: Ingress-Operator und Ingress-Controller ... 847

       16.10 ... Egress-Limitierung und Priorisierung ... 864

       16.11 ... DNS-Customizing ... 870

       16.12 ... MachineConfigs, Machines, MachineSets und Scaling ... 871

       16.13 ... Cluster-Autoscaler und Machine-Autoscaler ... 879

       16.14 ... Customisierte MachineSets für spezielle Instanztypen -- (z. B. GPU- oder Storage-Nodes) erzeugen ... 884

       16.15 ... Infrastructure-Nodes in OpenShift ... 890

       16.16 ... HA für das OpenShift-Controlplane mit ControlPlaneMachineSets ... 894

       16.17 ... OpenShift-Upgrades: Foundations ... 897

       16.18 ... OpenShift-Upgrades: EUS Upgrades ... 899

       16.19 ... Interaktive OpenShift-Workshops ... 903



Teil VI.  Day 3 Operations: Cluster-Federation, Security, CI/CD-GitOps-Systeme, SDS und mehr ... 905


17.  Day 3 Operations: Multi-Cluster-Management und Federated Cluster ... 907


       17.1 ... Historisches ... 907

       17.2 ... Multi-Cluster-Management mit Red Hat Advanced Cluster Management ... 909

       17.3 ... Setup und grundlegende Cluster-Verwaltung per RHACM ... 914

       17.4 ... Services, Ingress und Gateways in Multi-Cluster-Umgebungen ... 927



Teil VII.  Virtualisierung, Security und GitOps ... 933


18.  Day 3 Operations: VMs in Kubernetes/OpenShift-Cluster einbinden ... 935


       18.1 ... KubeVirt -- VMs als Container ... 936



19.  Day 3 Operations: Container-Security -- Full-Featured Security-Stacks ... 947


       19.1 ... Vorbetrachtungen zu Security-Lösungen ... 948

       19.2 ... NeuVector ... 950

       19.3 ... RHACS -- Red Hat Advanced Cluster Security für OpenShift ... 956



20.  Day 3 Operations: Container-Security -- Advanced Secret Management ... 961


       20.1 ... EncryptionConfiguration für Secrets und andere Objekte ... 962

       20.2 ... Secret Encryption unter GKE und EKS ... 963

       20.3 ... HashiCorp Vault ... 964

       20.4 ... Setup des Vault Clusters ... 973

       20.5 ... Vault PKI Secrets Engine ... 995

       20.6 ... Sealed Secrets (Bitnami) ... 998



Teil VIII.  Vollautomatisierte CI/CD-GitOps-Pipelines ... 1003


21.  Day 3 Operations: CI/CD-Pipelines und GitOps ... 1005


       21.1 ... GitOps ... 1005

       21.2 ... GitOps mit Tekton (CI-Fokus) ... 1009

       21.3 ... Tekton-Setup ... 1017

       21.4 ... Beispiele für Tekton Pipeline (Pi-Calculator, Build, Push & Deploy) ... 1022

       21.5 ... Tekton Pipelines unter OpenShift (OpenShift Pipelines) ... 1026

       21.6 ... GitOps mit Argo CD (CD-Fokus) ... 1033

       21.7 ... Argo Rollouts ... 1042



Teil IX.  Software-Defined Storage für verteilte Container-Infrastrukturen ... 1059


22.  Day 3 Operations: Software-Defined Storage für Container-Cluster ... 1061


       22.1 ... SDS-Funktionsprinzipien ... 1061

       22.2 ... Ceph ... 1064

       22.3 ... Ceph: Storage-Bereitstellungsverfahren für Container-Cluster ... 1067

       22.4 ... Containerized SDS -- Ceph per Rook ... 1068

       22.5 ... Setup von Rook ... 1072

       22.6 ... Rook-Administration ... 1084



23.  Day 3 Operations: Kostenkontrolle in Kubernetes/OpenShift-Clustern (FinOps) ... 1105


       23.1 ... FinOps ... 1106



24.  Day 3 Operations: GPU-beschleunigte KI/ML-Container-Infrastrukturen ... 1113


       24.1 ... GPUs und autoskalierbare KI/ML-Stacks ... 1113

       24.2 ... Konkrete Einsatzszenarien und Kosten ... 1115

       24.3 ... NVIDIAs GPU-Operator ... 1118

       24.4 ... GKE-Cluster mit NVIDIA-A100-Instanzen und MIG-Partitionierung ... 1121

       24.5 ... OpenShift-Cluster mit NVIDIA-A100-GPUs in der GCP ... 1128

       24.6 ... AKS- und EKS-Cluster mit NVIDIA-GPUs ... 1131



25.  The Road ahead ... 1133


  Index ... 1135

Autorenporträt  
Mehr Angebote zum Thema