Kubernetes - 名稱空間



名稱空間為資源名稱提供了額外的限定符。當多個團隊使用同一個叢集並且存在名稱衝突的可能性時,這非常有用。它可以作為多個叢集之間的虛擬牆。

名稱空間的功能

以下是 Kubernetes 中名稱空間的一些重要功能:

  • 名稱空間幫助使用相同名稱空間的 Pod 之間的通訊。

  • 名稱空間是可以在同一物理叢集之上存在的虛擬叢集。

  • 它們為團隊及其環境提供了邏輯隔離。

建立名稱空間

以下命令用於建立名稱空間。

apiVersion: v1
kind: Namespce
metadata
   name: elk

控制名稱空間

以下命令用於控制名稱空間。

$ 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>

在上面的程式碼中,

  • 我們使用該命令來建立名稱空間。
  • 這將列出所有可用的名稱空間。
  • 這將獲取在命令中指定名稱的特定名稱空間。
  • 這將描述有關服務的完整詳細資訊。
  • 這將刪除叢集中存在的特定名稱空間。

在服務中使用名稱空間 - 示例

以下是使用名稱空間在服務中的示例檔案。

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

在上面的程式碼中,我們在服務元資料下使用相同的名稱空間,名稱為elk

廣告