k8s namespace 可以将 k8s 资源分组,比如 pod、service、rc 等。不同 namespace 中的资源可以有同个名字,比如可以有同样的名为 "helloworld" 的 pod。默认的命名空间为 "default"。
namespace 用于:
- 在大集群中分隔开不同团队的使用
- 给不同用户分配不同的资源(resource quota)
namespace 不会:
- 隔离 pod 间的网络请求
创建 service 时会建立一个相应的 DNS 条目 <service-name>.<namespace-name>.svc.cluster.local
。其中 <namespace-name>
部分如果省略则表示同个命名空间。
并不是所有资源都有命名空间,如 node、persistentVolumes。