Deine Apps betreiben
Diese Anleitungen zeigen, wie du eine App auf Kubernetes betreibst: sie deployen, über HTTPS ausliefern, ihr eine Datenbank geben, sie aus der CI deployen und skalieren. Sie sind anbieterneutral und funktionieren auf jedem konformen Cluster, auch auf einem PaaSbox-Cluster. Wo ein PaaSbox-Cluster anders ist, sagt es die Anleitung.
Für den Weg vom ersten PaaSbox-Cluster zu einer App mit ihrer Datenbank folge dem Lernpfad: Deinen ersten Cluster anlegen, dann Deine erste App deployen.
Eine Anleitung wählen
Abschnitt betitelt „Eine Anleitung wählen“| Anleitung | Was sie tut | Auf einem PaaSbox-Cluster |
|---|---|---|
| Ein Image mit kubectl deployen | betreibt ein Image als Deployment und Service | wie sie ist |
| Eine App mit Ingress und TLS veröffentlichen | liefert eine App über HTTPS aus, mit einem Zertifikat von Let’s Encrypt | ein eigener Abschnitt: Traefik ist da, cert-manager ist ein Add-on |
| Postgres mit CloudNativePG betreiben | betreibt Postgres mit Backups nach S3 | wie sie ist, mit Volumes standardmäßig auf der Platte des Servers; das Add-on PaaSbox Platform (im Labor gebaut, noch nicht veröffentlicht) installiert CloudNativePG selbst |
| Eine Django-SaaS deployen | deployt Web, Worker, Scheduler, Postgres, Redis und Migrationen von Hand | mit den vier Änderungen, die die Anleitung nennt; auf dem Add-on PaaSbox Platform erledigt das eine SaaSApplication |
| Aus GitHub Actions deployen | deployt aus der CI mit einem ServiceAccount für einen Namespace | wie sie ist, von einem Runner innerhalb der Adressbereiche der API |
| Workloads skalieren und autoskalieren | skaliert von Hand und mit einem HorizontalPodAutoscaler | wie sie ist, bis auf das Verteilen über Nodes: Es gibt einen |
Wo ein PaaSbox-Cluster anders ist
Abschnitt betitelt „Wo ein PaaSbox-Cluster anders ist“- Ein Node. Der Cluster ist ein Server. Jede Replica läuft darauf, und kein Cluster-Autoscaler fügt Server hinzu. Ein Upgrade startet ihn neu, und jeder Pod steht, bis er wieder da ist.
- Traefik ist der Ingress-Controller. Der Traefik von k3s antwortet auf den Ports 80 und 443 des
Servers, mit der IngressClass
traefik. Der Cluster legt keine Hetzner Load Balancer an, also installiere keinen zweiten Ingress-Controller. - cert-manager ist ein Add-on, mit den ClusterIssuern
letsencrypt-stagingundletsencrypt-production. Das Add-on PaaSbox Platform bringt stattdessen sein eigenes mit. - Volumes liegen standardmäßig auf der eigenen Platte des Servers, in der Storage-Class
local-lvm-thin. Hetzner-Volumes (hcloud-volumes), die einen verlorenen Server überdauern, aber mit dem Cluster gelöscht werden, sind ein Add-on. - metrics-server läuft von Anfang an, ein HorizontalPodAutoscaler funktioniert also ohne Einrichtung.
- Die Kubeconfig für diese Anleitungen ist eine admin-Kubeconfig vom Reiter Access des Clusters; eine view-Kubeconfig ist nur lesend. Siehe Eine Kubeconfig holen.
Jedes Add-on mit Version und Speicherbedarf: der Add-on-Katalog.
Was du brauchst
Abschnitt betitelt „Was du brauchst“- Einen Kubernetes-Cluster und eine Kubeconfig, die Objekte anlegen darf.
kubectlauf deinem Rechner.- Ein Container-Image zum Deployen, dein eigenes oder ein öffentliches zum Mitmachen.
Weitere Anleitungen sind geplant. Wenn du dir ein Thema wünschst, sag mir Bescheid.