https://www.youtube.com/watch?v=1SaPfm96lY4&t=700s&ab_channel=thenativewebGmbH
Vorteile | Nachteile | ||
---|---|---|---|
AWS | Grösster Funktionsumfang | Preis, Firmenphilosophie | Website |
Azure | Nahtlose Integration mit weiteren MS Produkten | Preis(?) | Website |
Digital Ocean | Preis im Vergleich mit AWS/Azure | Keine Server in der Schweiz, Stabilität | Website |
Google Cloud Platform | Preis bei Pay-as-you-go Lösungen | Keine dedizierten Schweizer Server | Website |
kubectl wird benötigt um den Cluster via Kommandozeile zu steuern | Download
Die Konfigurationsdatei für die Verbindung zur Cloud kann beim jeweiligen Cloudanbieter heruntergeladen und im Userverzeichnis /.kube hinterlegt werden.
CLI für Digital Ocean | Download
CLI für Microsoft Azure | Download
CLI für Amazon Web Services | Download
CLI für Google Cloud Platform | Download
- Kubernetes (von Microsoft) unterstützt (ein wenig) beim Schreiben von Manifestdateien. | Download
- TODO: Weitere Plugins rund um Kubernetes sind verfügbar, sollten mal angeschaut werden...
kubectl get [pods|namespaces|services|certificates|...]
kubectl get [RESSOURCENTYP] -o wide
kubectl get [RESSOURCENTYP] --namespace [NAMESPACE]
kubectl describe [RESSOURCETYPE] [RESSOURCENAME]
kubectl apply -f [PFAD ZU MANIFESTDATEI]
Kubernetes wird in der Regel deklarativ aufgesetzt, der Zielzustand wird in mehreren Manifesten in Form von .yaml-Files deklariert.
Es ist auch möglich via CLI die Konfiguration mit Befehlen anzupassen, z.B.:
kubectl create namespace [NAMESPACE]
(erstellt einen Namespace mit dem angegebenen Namen)
Dies ist jedoch nicht empfehlenswert!
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.0/deploy/static/provider/do/deploy.yaml`
Das Manifest ist spezifisch für Digital Ocean, es existieren aber vordefinierte Manifeste für alle grossen Plattformen.
Zertifikats-Manager installieren
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.6.1/cert-manager.yaml
- Kubernetes und Persistenz (Persistent Volumes)
- Umgang mit Credentials/Config Maps/weitere Konfigurationsparameter
- Jobs (einmalig) und Cron Jobs (periodisch)
- Authentifizierung (RBAC)
- Monitoring (Prometheus, Grafana, ...)