Die Dokumentation zu Kubernetes befindet sich auf https://kubernetes.io/docs/home/. Die gute Nachricht als erstes: Die Dokumentation gibts auch auf Deutsch! Oben rechts auf der Webseite befindet sich ein Auswahl-Menue der Sprachen. Das Source-Repo befindet sich auf https://github.com/kubernetes/website Die Dokumente sind im Markdown-Format verfasst. Damit ist das Uebersetzen nicht so einfach wie mit RST etwa im OpenStack Projekt. Weitere Hinweise befinden sich im erwaehnten Repo.
Die Kubernetes Dokumentation beginnt auf der linken Seite der Startseite mit Konzepten. Es wird recht umfangreich und tiefgreifend die Architektur von Kubernetes und allen beteiligten Komponenten erklaert. Man geht auf Cloud Native Applikationen ein und moechte so sicherstellen, dass man Kubernetes richtig anwendet und es auch die richtige Loesung fuer sein Problem ist.
Der Mittelteil der Dokumentation beschaeftigt sich mit dem Thema: Kubernetes schnell mal ausprobieren. Dazu wurden auch hier schon viele Tools erwaehnt, sei es k3s oder Minikube. Deren Installation ist dort nochmal intensiv beschrieben. In der Sparte Tutorials gibt es Informationen zu Onlinekursen zu Kubernetes, aber auch Beispieldeployments von Wordpress-Anwendungen mit MySQL und sowas.
DIe Referenzen sind meiner Meinung der wichtigste Teil der Dokumentation. Das Herzstueck. Die Bibliothek. Die API-Referenz erreichen wir ueber den Link https://kubernetes.io/docs/reference/kubernetes-api/api-index/ Von dort geht es auf die autogenerierte Referenz der aktuellen API, z.B. https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/ Alles was eine Resource kann, also genau in dieser Kubernetesversion und der API-Version, und wie sie anzusprechen ist, ist hier dokumentiert. Hier finden wir zum Beispiel PodSpec und dadrin Container Array. Dieses hat dann wieder eine Probe Beschreibung, die die einzelnen Felder beschreibt, die man in einer Container Liveness-Probe einstellen kann. In unserem Blog-Deployment sah das dann so aus:
spec: containers: - image: eumel8/nginx-none-root imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /blog/html/index.html port: 8080 scheme: HTTP initialDelaySeconds: 3 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1
Zum Schluss noch ein paar Tips zu kubectl. Die Client-Beschreibung finden wir auch in den Referenzen. Interessant dort das CheatSheet. Ein Punkt daraus, die Autovervollstaendigung des kubectl Clients:
source <(kubectl completion bash) # setup autocomplete in bash into the current shell, bash-completion package should be installed first.
echo "source <(kubectl completion bash)" >> ~/.bashrc # add autocomplete permanently to your bash shell.
Kubernetes entwickelt sich ziemlich schnell weiter. Man sollte in der Bibliothek oben rechts immer schauen, fuer welche Version die Dokumentation gueltig ist.