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 。