Kubernetes-名前空間

名前空間は、リソース名に追加の修飾を提供します。これは、複数のチームが同じクラスターを使用していて、名前が衝突する可能性がある場合に役立ちます。複数のクラスター間の仮想壁として使用できます。

名前空間の機能

以下は、Kubernetesの名前空間の重要な機能の一部です-

  • 名前空間は、同じ名前空間を使用したポッド間の通信に役立ちます。

  • 名前空間は、同じ物理クラスターの上に配置できる仮想クラスターです。

  • これらは、チームとその環境を論理的に分離します。

名前空間を作成する

次のコマンドを使用して、名前空間を作成します。

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