In diesem Kapitel wirst du eine Applikation in ein Containerimage verpacken und dieses via CI/CD bauen. Anschließend baust du die notwendige Infrastruktur für das Deployment mit Terraform und lässt die Terraform Aufgaben auch in CI/CD laufen. Dieses Kapitel ist sehr praxisnah und ähnliche Aufgaben werden dich auch später erwarten.
Pipelines
und Jobs
sindIn diesem Kapitel lernst du die grundsätzlichen Konzepte von Kubernetes kennen. Hier geht es weniger um die API Objekte wie Deployments
, Pods
oder Service
; sondern um die maßgebenden Prinzipien wie Kubernetes funktioniert und wie ein Cluster aufgebaut wird.
Deployment
ist und wo der Unterschied zu einem DaemonSet
ist.
ReplicaSet
?ReplicaSet
oder ein Deployment
welche Pods
zu ihm gehören?In dieser Card geht es um Netzwerke in Kubernetes. Schau noch einmal kurz auf Netzwerke zurück und schau dir die Ziele dort an, ob du noch fit in Netzwerkthemen bist. Wichtig ist auch, dass du die Netzwerkthemen bezüglich der Namespaces aus Funktionsweise von Containern verstanden hast.
Du wirst feststellen, dass die Komplexität relativ hoch ist. Das ist der Grund, w...
In diesem kurzen Kapitel lernst du die Grundlagen wie du Probleme von Workloads auf Kubernetes untersuchst. Dabei wird primär auf Scheduling Probleme von Pods eingegangen. Komplexe Probleme mit Controllern oder API Probleme bleiben außen vor, da dies den Rahmen sprengen würde.
Wenn du ein YAML manifest in kubernetes anwendest, und die Syntax an sich valide ist wird es erfolgreich in den cluster state aufgenommen. Das bedeutet aber noch nicht, dass die Ressourcen auch wirklich funktionieren. Beispielsweise könnte bei einem Deployment das Co...
API Server
übernimmt.API Server
in das Management des Cluster States involviert ist.API Server
per Default hört und welches Protokoll gesprochen wird.API Server
ein self signed Certificate verwendet und wie du diesem auf einem anderen System vertrauen kannstkubelet
konfiguriert?kubelet
leicht austauschbar sind.pod-infra-container
gestartet wird und warum hier bevorzugt gerne pause
verwendet wird.kubelet
lässt unter anderem auch die Komponenten für die Control...StorageClass
?storage providers
muss es mit `Container Storage Interface (CSI) kompatibel sein. Was sind hier die wichtigsten Eigenschaften?StatefulSet
konfigurierst.StatefulSet
mit einem via volumeClaimTemplates
erstellten PVC
gelöscht wird?StatefulSets
will man unabhän...ConfigMaps
und Secrets
sind.Secrets
und ConfigMaps
verwenden?Pod
automatisch Änderungen an einer ConfigMap
, die er verwendet, anwenden?Secrets
verschlüsselt werden.ConfigMaps
/Secrets
ausrollst und welche Fallstricke es gibtetcd
?etcd
bei Kubernetes eingesetzt?raft
erklären.Im Kapitel 502 Eine Applikation als Container mit CI pipelines deployen hast du eine Applikation auf AWS deployed. In diesem Kapitel wirst du das Setup auf die Verwendung von Kubernetes umbauen und deinen Terraform Code weiter modularisieren.
Probes
die man für Container anlegen kann
Probes
verhalten.Probes
und weißt, wie sich diese unterscheiden.Probes
?named ports
und kannst dir vorstellen warum das nützlich se...labels
aus Anhang B.apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
na...
In diesem Kapitel lernst du wie man eine Applikation so betreibt, dass diese im Idealfall keine Ausfälle hat. Ein wichtiger Bestandteil ist dabei auch das Monitoring. Im Buch wird hier auf Prometheus eingegangen. In der Welt von Kubernetes ist Prometheus weit verbreitet, deswegen solltest du davon schon einmal gehört haben und grundsätzlich wissen, wie man es verwendet.
Prometheus selbst ist aber auch ein sehr umfangreiches Thema. Achte deswegen darauf dich für den Moment auf ein eher oberflächliches Wissen zu konzentrieren, da du im Folg...
Das Standardtool für Monitoring auf AWS ist Cloudwatch. Du hast dir in den AWS Kapiteln Cloudwatch sicherlich schon grundsätzlich angesehen. In diesem Kapitel wirst du es aber konkret kennenlernen. Du wirst Custom Metriken zu Cloudwatch pushen und Alarme erstellen.
Label
ist und warum man relabel_config
braucht.relabel_configs
und metric_relabel_configs
.