Zum Hauptinhalt springen

Blogs

Imperativ vs. Deklarativ in Kubernetes

Imperativ

Beschreibung 

  • Was zu tun ist - Schritt für Schritt

Einfaches Beispiel in Kubernetes 

kubectl run testpod --image=busybox

Fortgeschrittenes Beispiel in Kubernetes

kubectl run my-pod --image=busybox --restart=Never --overrides='{ "spec": { "containers": [ { "name": "my-container", "command": [ "/bin/sh", "-c", "echo 'Hello, World!' && sleep 3600" ] } ] } }'

Was sind die Vorteile?

  • es sind keine tieferen Kenntnisse der YAML-Dateistruktur erforderlich, um den imperativen Weg zu verstehen und zu nutzen
  • es ist schnell und einfach zu erledigen

Wofür ist es am besten geeignet?

  • Wofür ist es am besten geeignet? für Zertifizierungen wie CKA, bei denen man schnell sein muss
  • Kurzfristige Prüfungen
  • Wissen erwerben
  • Schnupperkurse

 

Deklarativ

Beschreibung 

  • Was wollen Sie erreichen - was ist das Ziel?

Einfaches Beispiel in Kubernetes

Kubectl apply -f testpod.yaml
Testpod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: testpod
spec:
  containers:
  - name: busybox
    image: busybox

Fortgeschrittenes Beispiel in Kubernetes

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  restartPolicy: Never
  containers:
  - name: my-container
    image: busybox
    command: ["/bin/sh", "-c", "echo 'Hello, World!' && sleep 3600"]

 

  • gibt einen besseren Überblick über das, was gemacht wird
  • Die Datei ist wie ein Bauplan, der leicht auf eine andere Instanz übertragen werden kann.

What is it best for?

  • Produktionsumgebungen, um einen besseren Überblick darüber zu erhalten, was und wer es getan hat
  • Komplexe Konfiguration
  • Beständigkeit