Kubernetes - Przestrzeń nazw

Przestrzeń nazw zapewnia dodatkową kwalifikację do nazwy zasobu. Jest to pomocne, gdy wiele zespołów korzysta z tego samego klastra i istnieje możliwość kolizji nazw. Może to być wirtualna ściana między wieloma klastrami.

Funkcjonalność przestrzeni nazw

Oto niektóre z ważnych funkcji przestrzeni nazw w Kubernetes -

  • Przestrzenie nazw ułatwiają komunikację między podami przy użyciu tej samej przestrzeni nazw.

  • Przestrzenie nazw to wirtualne klastry, które mogą znajdować się na szczycie tego samego klastra fizycznego.

  • Zapewniają logiczne oddzielenie zespołów i ich środowisk.

Utwórz przestrzeń nazw

Następujące polecenie służy do tworzenia przestrzeni nazw.

apiVersion: v1
kind: Namespce
metadata
   name: elk

Kontroluj przestrzeń nazw

Następujące polecenie służy do sterowania przestrzenią nazw.

$ kubectl create –f namespace.yml ---------> 1
$ kubectl get namespace -----------------> 2
$ kubectl get namespace <Namespace name> ------->3
$ kubectl describe namespace <Namespace name> ---->4
$ kubectl delete namespace <Namespace name>

W powyższym kodzie

  • Używamy polecenia, aby utworzyć przestrzeń nazw.
  • Spowoduje to wyświetlenie wszystkich dostępnych przestrzeni nazw.
  • Spowoduje to uzyskanie określonej przestrzeni nazw, której nazwa jest określona w poleceniu.
  • Opisuje pełne szczegóły dotyczące usługi.
  • Spowoduje to usunięcie określonej przestrzeni nazw obecnej w klastrze.

Korzystanie z przestrzeni nazw w usłudze - przykład

Poniżej znajduje się przykładowy plik dotyczący używania przestrzeni nazw w usłudze.

apiVersion: v1
kind: Service
metadata:
   name: elasticsearch
   namespace: elk
   labels:
      component: elasticsearch
spec:
   type: LoadBalancer
   selector:
      component: elasticsearch
   ports:
   - name: http
      port: 9200
      protocol: TCP
   - name: transport
      port: 9300
      protocol: TCP

W powyższym kodzie używamy tej samej przestrzeni nazw w metadanych usługi o nazwie elk.