Kubernetes - 命名空间

命名空间为资源名称提供了额外的限定条件.当多个团队使用相同的群集并且可能存在名称冲突时,这很有用.它可以作为多个集群之间的虚拟墙.

命名空间的功能

以下是Kubernetes和minus中命名空间的一些重要功能;

  • 命名空间使用相同的命名空间帮助进行pod-to-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 的相同名称空间.