Deine erste App deployen
Dieser Guide nimmt ein Container-Image und bringt es als Deployment auf Kubernetes zum Laufen – anschließend machst du es mit einem Service innerhalb des Clusters erreichbar. Die Schritte funktionieren auf jedem konformen Cluster; als Beispiel dient ein PaaSbox-Cluster.
1. kubectl mit deinem Cluster verbinden
Abschnitt betitelt „1. kubectl mit deinem Cluster verbinden“Lade die kubeconfig deines Clusters herunter und prüfe, ob du ihn erreichst:
export KUBECONFIG=~/Downloads/paasbox-kubeconfig.yamlkubectl get nodesDeine Nodes sollten als Ready aufgelistet sein.
2. Namespace anlegen
Abschnitt betitelt „2. Namespace anlegen“Halte die Objekte deiner App in einem eigenen Namespace zusammen:
kubectl create namespace demo3. App deployen
Abschnitt betitelt „3. App deployen“Ein Deployment startet und überwacht deinen Container und ersetzt Pods,
die abstürzen oder neu eingeplant werden. Speichere das Folgende als
deployment.yaml:
apiVersion: apps/v1kind: Deploymentmetadata: name: web namespace: demospec: replicas: 2 selector: matchLabels: { app: web } template: metadata: labels: { app: web } spec: containers: - name: web image: nginxdemos/hello:plain-text ports: - containerPort: 80 resources: requests: { cpu: 50m, memory: 64Mi } limits: { cpu: 250m, memory: 128Mi }Wende es an und sieh zu, wie die Pods hochkommen:
kubectl apply -f deployment.yamlkubectl -n demo get pods -wSetze immer Resource-Requests. Sie sagen dem Scheduler, wie viel CPU und Speicher deine Pods brauchen – nur so kann der Cluster Workloads effizient packen. Und genau aus dieser Effizienz kommen bei PaaSbox deine Einsparungen.
4. Mit einem Service erreichbar machen
Abschnitt betitelt „4. Mit einem Service erreichbar machen“Ein Service gibt deinen Pods eine stabile Adresse innerhalb des Clusters, mit Lastverteilung über alle Replicas:
apiVersion: v1kind: Servicemetadata: name: web namespace: demospec: selector: { app: web } ports: - port: 80 targetPort: 80kubectl apply -f service.yaml5. Ausprobieren
Abschnitt betitelt „5. Ausprobieren“Leite den Service per Port-Forward auf deinen Rechner weiter und ruf ihn auf:
kubectl -n demo port-forward service/web 8080:80# in another terminal:curl localhost:8080Du solltest eine Antwort von der App bekommen. 🎉
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Betreibe mehr Kopien und lass den Cluster sie skalieren: Workloads skalieren und autoskalieren.
- Stelle sie über HTTPS ins öffentliche Internet: Deine App mit Ingress und TLS veröffentlichen – der Guide baut direkt auf der App auf, die du gerade deployt hast.
Aufräumen
Abschnitt betitelt „Aufräumen“kubectl delete namespace demo