一. 什么是命名空间
Kubernetes中提供了命名空间(Namespaces),是Kubernetes提供的一种组织资源机制,用于给集群中的任何对象组进行分类、筛选和管理。 但是如果你的团队规模比较小并且集群规模也不大,完全可以不用Namespaces而使用labels
来区分不同的资源,随着项目增多、集群规模扩大、人员的增加,你才需要使用Namespaces,通过namespace你可以创建多个虚拟的集群。
Namespaces提供了一种在不同用户间分隔集群资源的方法,未来Kubernetes可能会提供基于命名空间的权限控制。
二. 命名空间的一些重要作用
1. 使用同一个命名空间帮助pod到pod的通信。
2. 充当驻留在同一个理集群上的虚拟集群。
3. 在团队及其环境之间提供了逻辑隔离。
三. Namespaces 的常用操作
1. 查看命名空间
songguojundeMacBook-Pro:Pod songguojun$ kubectl get namespaces NAME STATUS AGE default Active 29h kube-node-lease Active 29h kube-public Active 29h kube-system Active 29h kubernetes-dashboard Active 21h
Kubernetes默认有三个命名空间
- default: 默认的命名空间
- kube-system: 由Kubernetes系统对象组成的命名空间
- kube-public: 该空间由系统自动创建并且对所有用户可读性,做为集群公用资源的保留命名空间。