Ansichten:
Profilanwendbarkeit: Stufe 1
Benutzer-Pods sollten nicht in kube-system oder kube-public platziert werden, da diese für Clusterdienste reserviert sind.
Benutzer-Pods in einen anderen als den kube-system-Namespace bereitstellen.

Prüfung

Führen Sie den folgenden Befehl aus und überprüfen Sie die Namespaces der Benutzerressourcen für jeden Ressourcentyp:
kubectl get pods -n kube-system
Wiederholen Sie für deployments, services, replicasets, statefulsets, daemonsets, jobs, cronjobs. Stellen Sie sicher, dass keine Benutzerressourcen den kube-system Namespace verwenden.

Wiederherstellung

Erstellen Sie Benutzernamensräume und rekonstruieren Sie Benutzerressourcen innerhalb dieser Namensräume. Pods und Dienste in verschiedenen Namensräumen können weiterhin miteinander kommunizieren, es sei denn, es wird eine zusätzliche Trennung erzwungen.
Im folgenden Beispiel kann für jedes Team oder jede Benutzergruppe ein Kubernetes-Namespace entweder mit einem kubectl-Befehl oder einer YAML-Datei erstellt werden. Jeder Name mit dem Präfix kube- sollte vermieden werden, da er mit den von Kubernetes reservierten System-Namespaces in Konflikt geraten könnte.
Erstellen Sie einen Namespace mit einem kubectl-Befehl:
kubectl create namespace <insert-namespace-name-here>
Namespace mit YAML-Datei erstellen:
  1. Erstellen Sie eine neue Datei mit dem Namen my-namespace.yaml mit folgendem Inhalt:
    apiVersion: v1
    kind: Namespace
    metadata:
    name: <insert-namespace-name-here>
  2. Wenden Sie den Namensraum an mit:
    kubectl create –f ./my-namespace.yaml
  3. Um neue Pods in einem bestehenden Namespace zu erstellen, wechseln Sie mit folgendem Befehl in den gewünschten Namespace:
    kubectl config use-context <insert-namespace-here>
  4. Neue Bereitstellung anwenden mit:
    kubectl apply -f deployment.yaml
  5. Alternativ kann der Namespace dem kubectl-Befehl hinzugefügt werden mit:
    kubectl apply -fvdeployment.yaml --namespace=<insert-namespace-here>
    Oder geben Sie den Namespace an: <insert-namespace-here> unter Metadaten in der YAML-Deklaration.
Einmal erstellt, können Ressourcen nicht zwischen Namespaces verschoben werden. Die Ressource muss gelöscht und dann im neuen Namespace erstellt werden.