Kubernetes(K8S) 命名空间

  • Kubernetes 命名空间

    命名空间为资源名称提供了附加限定条件。当多个团队使用同一集群并且有可能发生名称冲突时,这将很有帮助。它可以作为多个群集之间的虚拟墙。
  • 命名空间的功能

    以下是Kubernetes中命名空间的一些重要功能-
    • 命名空间使用相同的命名空间帮助Pod到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 的相同名称空间。