Namespace
命名空间(Namespace)是 Kubernetes 中的一种逻辑隔离机制,它把集群资源划分为不同的区域,让多个团队或项目可以共享同一个集群而互不干扰。
🧩 命名空间的作用
- 资源隔离
👉 不同命名空间中的 Pod、Service、ConfigMap、Secret 等互相独立。 - 权限控制
👉 可以基于命名空间设置 RBAC(角色访问控制),实现多租户管理。 - 资源配额
👉 可以为命名空间设置 CPU、内存等资源限制,避免某个团队占用过多资源。 - 简化管理
👉 把集群划分为多个逻辑空间,方便组织和管理。
📌 类比理解
- Namespace = 公司里的不同部门
- 每个部门(命名空间)有自己的员工(Pod)、工具(Service)、文件柜(ConfigMap/Secret)。
- 部门之间互不干扰,但都在同一栋大楼(集群)里工作。
- 管理层可以给不同部门分配预算(资源配额),并设置权限。
📝 常见命名空间
- default:默认命名空间,未指定时资源会放在这里。
- kube-system:存放 Kubernetes 系统组件(如 CoreDNS、kube-proxy)。
- kube-public:公开可访问的资源,通常用于集群信息。
- 自定义命名空间:团队或项目可以创建自己的命名空间。
📝 示例命令
-
查看命名空间
kubectl get namespaces -
创建命名空间
kubectl create namespace dev-team -
在命名空间中操作资源
kubectl get pods -n dev-team kubectl apply -f app.yaml -n dev-team
⚠️ 注意事项
- 命名空间只隔离 逻辑资源,不隔离节点或网络。
- 不适合小型集群,通常在多团队或多项目场景下使用。
- Pod 与 Service 必须在同一命名空间才能直接通信。
💡 总结
- 命名空间是 Kubernetes 的 部门划分机制。
- 它提供资源隔离、权限控制和配额管理。
- 常用于多团队共享集群的场景。

浙公网安备 33010602011771号