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 的 部门划分机制
  • 它提供资源隔离、权限控制和配额管理。
  • 常用于多团队共享集群的场景。
posted @ 2026-05-29 11:07  Donaver  阅读(16)  评论(0)    收藏  举报