Kubernetes · 4 min read · Nov 03, 2025
Wie man Namespaces in Kubernetes erstellt

Ein Namespace ist hilfreich, wenn mehrere Teams denselben Cluster verwenden. Dies wird verwendet, wenn die Möglichkeit einer Namenskonkurrenz besteht. Es kann eine virtuelle Wand zwischen mehreren Clustern sein. Zum Beispiel können wir keine Pods mit demselben Namen in einem Kubernetes-Cluster haben, aber mit einem Namespace können wir den Cluster virtuell aufteilen und Pods mit demselben Namen haben.
Einige der wichtigen Funktionen eines Namespaces sind wie folgt.
- Es hilft der Pod-zu-Pod-Kommunikation innerhalb desselben Namespaces.
- Es fungiert als virtueller Cluster, der über demselben physischen Cluster sitzen kann.
- Es bietet eine logische Trennung zwischen den Teams und ihren Umgebungen.
In diesem Artikel werden wir einen Namespace erstellen und einen Pod im neu erstellten Namespace erstellen. Wir werden auch sehen, wie ein Namespace als Standardnamespace festgelegt werden kann.
Voraussetzungen
- Kubernetes-Cluster mit mindestens 1 Arbeitsknoten.
Wenn Sie lernen möchten, wie man ein Kubernetes-Cluster erstellt, klicken Sie hier. Dieser Leitfaden hilft Ihnen, ein Kubernetes-Cluster mit 1 Master und 2 Knoten auf AWS Ubuntu 18.04 EC2-Instanzen zu erstellen.
Was wir tun werden
- Namespaces erstellen
Namespaces erstellen
Um alle im Kubernetes-Cluster verfügbaren Namespaces aufzulisten, führen Sie den folgenden Befehl aus. Sie können mehrere Namespaces haben, und Namespaces können Metadaten haben.
kubectl get namespace #Alle Namespaces im Cluster abrufen
Jetzt versuchen wir, einen Pod in einem bestimmten Namespace zu erstellen, der nicht existiert.
Um einen Pod im Namespace “test-env” zu erstellen, führen Sie den folgenden Befehl aus.
kubectl run nginx --image=nginx --namespace=test-env #Versuchen Sie, einen Pod im Namespace zu erstellen, der nicht existiert.Der Pod wird im Namespace, der nicht existiert, nicht erstellt, daher müssen wir zuerst einen Namespace erstellen.
Um einen Namespace “test-env” zu erstellen, führen Sie den folgenden Befehl aus (k8s Namespace erstellen).
kubectl create namespace test-env #Einen Namespace erstellenkubectl get namespace #Eine Liste der Namespaces abrufen
Jetzt haben wir einen Namespace, in dem wir einen Pod erstellen möchten.
Um einen Pod im Namespace zu erstellen, den wir erstellt haben, übergeben Sie die Option –namespace=test-env an den Befehl.
kubectl run nginx --image=nginx --namespace=test-env #Einen Pod im Namespace erstellen.Wenn Sie versuchen, Pods abzurufen, ohne den Namespace anzugeben, erhalten Sie keine Details zum Pod.
kubectl get pods #Eine Liste der Pods abrufenUm Details des Pods, der zum Namespace “test-env” gehört, zu erhalten, verwenden Sie den folgenden Befehl.
kubectl get pods --namespace=test-env #Eine Liste der Pods im angegebenen Namespace abrufen
Wenn Sie Ihren Namespace als Standardnamespace festlegen möchten, sodass es nicht erforderlich ist, die Namespace-Option im Befehl anzugeben, verwenden Sie den folgenden Befehl.
kubectl config set-context --current --namespace=test-env #Standardnamespace festlegenJetzt ist es nicht mehr notwendig, den Namespace im Befehl anzugeben, um Details des Pods abzurufen.
kubectl get pods #Eine Liste der Pods aus dem Standardnamespace abrufenUm zum Standardnamespace zu wechseln, verwenden Sie den folgenden Befehl.
kubectl config set-context --current --namespace=default #Namespace auf Standard zurücksetzenkubectl get pods #Eine Liste der Pods abrufenUm zu überprüfen, welches das Standardnamespace ist, verwenden Sie die folgenden Befehle.
kubectl config view --minify | grep namespace: #Namespace aus der Kubernetes-Konfigurationsdatei extrahieren.kubectl config set-context --current --namespace=test-env #Standardnamespace in der Konfigurationsdatei festlegen.kubectl config view --minify | grep namespace:
Überprüfen Sie, welche Kubernetes-Ressourcen ein Namespace sind, führen Sie den folgenden Befehl aus.
kubectl api-resources --namespaced=true #Kubernetes-Objekte abrufen, die in einem Namespace sein können
Um zu sehen, welche Kubernetes-Ressourcen nicht in einem Namespace sind, verwenden Sie den folgenden Befehl.
kubectl api-resources --namespaced=false #Eine Liste von Kubernetes-Objekten abrufen, die niemals in einem Namespace sein können
Sie können Details des Namespaces mit dem folgenden Befehl abrufen.
kubectl get namespaces #Eine Liste der Namespaces abrufen.kubectl describe namespace test-env #Details eines Namespaces abrufen.
Ein Namespace kann auch mit einer .yml-Datei erstellt werden.
vim namespace-using-file.yml #Eine Namespace-Definitionsdatei erstellen
Führen Sie den folgenden Befehl aus, um einen Namespace zu erstellen, der in der Objektdefinitionsdatei angegeben ist.
kubectl create -f namespace-using-file.yml #Einen Namespace mit einer .yml-Datei erstellenkubectl get namespaces #Eine Liste der Namespaces abrufen
Wenn Sie Ihren Namespace nicht mehr benötigen, kann er einfach mit dem folgenden Befehl gelöscht werden.
kubectl get namespaces #Eine Liste der Namespaces abrufenkubectl delete namespaces env-prod test-env #Einen Namespace löschenkubectl get namespaces #Eine Liste der Namespaces abrufen
Verwenden Sie den Befehl “kubectl change namespace”, um zu einem anderen Namespace zu wechseln.
Fazit
In diesem Artikel haben wir über Namespaces, das Erstellen eines Namespaces und das Ändern des Standardnamespaces gelernt, sowie über die Überprüfung der Kubernetes-Ressourcen, die sich in einem Namespace befinden und die nicht. Wir haben auch gesehen, wie ein Kubernetes-Objekt, hier ein Pod, in einem Namespace unserer Wahl erstellt werden kann.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.