Kubernetes - 命名空间
Namespce 命名空间为资源名称提供了额外的限定条件。 当多个团队使用同一个集群并且存在名称冲突的可能性时,这很有帮助。 它可以作为多个集群之间的虚拟墙。
命名空间的功能
以下是 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。