Tutorials  /  Container & Cloud

Verwendung von Befehlen und Argumenten in einem Kubernetes-Pod

Ccentron Redaktion · Januar 2024 ·4 Min. Lesezeit ·Container & Cloud, Tutorial

Hallo, Leser! Verwendung von Befehlen und Argumenten in einem Kubernetes-Pod

Dieser Artikel behandelt die Verwendung von Befehlen und Argumenten in einem Kubernetes-Pod anhand verschiedener Szenarien für ein besseres Verständnis.

Also, lasst uns beginnen!! :)

Verwendung von Befehlen und Argumenten - Prozessausführung

Wenn wir sagen, dass eine Anwendung innerhalb eines Kubernetes-Pods läuft, meinen wir eigentlich, dass der Container als Pod verpackt und präsentiert wird.

Ein Container bündelt alle notwendigen Abhängigkeiten und Befehle zur Ausführung von Prozessen und befindet sich innerhalb eines Pods. Bei der Erstellung eines Pods können wir Befehle und Argumente definieren, die innerhalb des Containers ausgeführt werden.

Normalerweise überschreiben die von uns in benutzerdefinierter Form definierten Befehle und Argumente den Standardbefehl und die Standardargumente des Basiscontainer-Images.

In diesem Zusammenhang werden wir uns mit Möglichkeiten befassen, Befehle und Argumente für einen Container zu erstellen und zu definieren, der als Anwendungs-Pod läuft.

K8

Passende Infrastruktur bei centron

Vom Container zum Cluster: Managed Kubernetes mit cStack gibt es ab 29,99 € im Monat – Control Plane, AutoScaler und Traffic inklusive. Managed Kubernetes ansehen →

Befehle und Argumente für einen Kubernetes-Pod definieren

Um ein Argument innerhalb eines Containers zu definieren, können wir das Befehlsfeld verwenden. Sobald wir Befehle definieren, benötigen wir Argumente, die an sie übergeben werden. Diese Argumente können wir dem Befehl mit dem args-Feld übergeben.

Im folgenden Beispiel haben wir den Befehl printenv an den Container übergeben, damit er die Werte für die Umgebungsvariable KUBECONFIG als Argument ausgibt.

Beispiel: pod.yaml

YAML
apiVersion: v1
kind: Pod
metadata:
  name: demo-cmd
spec:
  containers:
  - name: cmd-arg-demo
    image: debian
    command: ["printenv"]
    args: ["KUBECONFIG"]
  restartPolicy: OnFailure

Lassen Sie uns nun die obige Datei anwenden und einen Pod erstellen.

Konsole
kubectl apply -f pod.yaml

Nachdem wir einen Pod erstellt haben, können wir die Logs des Pods und des spezifischen Containers abrufen, um das Ergebnis der Befehlsausführung zu sehen.

Konsole
kubectl logs -f demo-cmd

Output:

Der Output gibt den Wert für die Befehlsausführung zurück. Das heißt, sie zeigt den Pfad der KUBECONFIG-Datei als Wert an.

Code
/home/.kube

1. Verwendung von Umgebungsvariablen zur Definition von Argumenten

Als Variante können wir Umgebungsvariablen verwenden, um den Wert der Argumente für die Befehle zu übergeben. Schauen wir uns den folgenden Abschnitt des Codes an-

Beispiel: Beispielcode

YAML
env:
- name: data
  value: "002234-willkommensnachricht"
command: ["/bin/data"]
args: ["$(data)"]

Mit dem oben stehenden Codeblock können wir den Wert der Argumente mithilfe einer Umgebungsvariablen übergeben. Hier übergeben wir den Wert des Arguments an den Befehl in Form einer Variablen namens data, deren Wert als Umgebungsvariable angegeben ist.

Neben Umgebungsvariablen können wir den Wert auch in Form einer ConfigMap und eines Secrets auf ähnliche Weise übergeben.

2. Ausführen von Befehlen innerhalb einer Shell

Manchmal, wenn wir mehrere Befehle gleichzeitig ausführen möchten, benötigen wir eine Shell, die innerhalb des Containers für die Ausführung läuft.

Dies kann durch das Ausführen einer virtuellen Shell zur Laufzeit erreicht werden.

Dafür definieren wir einen Befehl, um alle angegebenen Befehle innerhalb des Pods in der Shell auszuführen, wie unten gezeigt-

Code
command: ["/bin/sh"]
args: ["-c", "while true; do echo Willkommen bei JournalDev; sleep 100; done"]

Als umfassender Leitfaden haben wir in diesem Beispiel den Pod angewiesen, eine Shell zu verwenden, um ein BASH-Skript auszuführen, das mehrere Befehle gleichzeitig ausführt, wie z.B. die Ausführung einer while-Loop.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Container & Cloud
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren