Skalierbare Container-Infrastrukturen

Das Handbuch für Admins & DevOps-Teams, inkl. Docker und Container-Orchestrierung mit Kubernetes und OpenShift

Oliver Liebel

Die Leseprobe wird geladen.
Buch (gebundene Ausgabe)
Buch (gebundene Ausgabe)
82,20
82,20
inkl. gesetzl. MwSt.
inkl. gesetzl. MwSt.
Versandfertig innerhalb 48 Stunden Versandkostenfrei
Versandfertig innerhalb 48 Stunden
Versandkostenfrei

Weitere Formate

gebundene Ausgabe

€ 82,20

Accordion öffnen
  • Skalierbare Container-Infrastrukturen

    Rheinwerk

    Versandfertig innerhalb 48 Stunden

    € 82,20

    Rheinwerk

eBook (ePUB)

€ 74,90

Accordion öffnen

Beschreibung

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

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.

Produktdetails

Einband gebundene Ausgabe
Seitenzahl 1260
Erscheinungsdatum 18.12.2020
Sprache Deutsch
ISBN 978-3-8362-7772-3
Reihe Rheinwerk Computing
Verlag Rheinwerk
Maße (L/B/H) 24,9/20,3/6 cm
Gewicht 2210 g
Auflage 3

Kundenbewertungen

Es wurden noch keine Bewertungen geschrieben.

  • Artikelbild-0


  • 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