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.