2025,每天10分钟,跟我学K8S(二十一)- 对象属性 - namespace

        在前面的文章里面提到过,Pod、Deployment这些对象有许多的属性值,可以用来对自身做诸多限制,从本章开始,我们来一起学习下这些属性。先从最基础的namespace开始学习。

什么是Namespace?

        在 ‌Kubernetes‌ 中,‌Namespace(命名空间)‌ 是一种将集群资源划分为多个逻辑组的机制。它主要用于在同一个 Kubernetes 集群中隔离不同项目、团队或环境(如开发、测试、生产)的资源,避免命名冲突,并简化权限和资源的管理。

  1. 隔离资源: 通过Namespace,可以将集群中的资源(如Pod、Service、Volume等)进行逻辑上的隔离,避免命名冲突和资源干扰。
  2. 权限控制: Namespace也是一种权限控制的手段,允许不同的团队或用户在同一个集群中使用独立的Namespace,从而实现资源的独立管理和权限控制。
  3. 环境隔离: 在开发、测试和生产环境中,可以使用不同的Namespace,确保各个环境之间的资源不会互相影响。

Namespace 的核心作用

  1. 资源隔离

    • 不同 Namespace 中的资源(如 Pod、Service、Deployment 等)是相互隔离的,同名资源可以在不同 Namespace 中存在而不会冲突。
    • 例如:dev 和 prod 两个 Namespace 中都可以有一个名为 nginx 的 Deployment。
  2. 权限控制

    • 通过 Kubernetes 的 ‌RBAC(基于角色的访问控制)‌,可以为不同 Namespace 分配不同的权限,限制用户或团队的操作范围。
  3. 资源配额(Resource Quota)

    • 可以为每个 Namespace 设置资源配额(如 CPU、内存、存储等),防止某个团队或项目占用过多资源。
  4. 逻辑分组

    • 方便按业务场景(如开发、测试、生产)、团队或应用划分资源,简化管理和监控。

默认 Namespace

Kubernetes 集群初始会自带几个默认的 Namespace:

  • default‌:未指定 Namespace 时,资源默认创建在此处。
  • kube-system‌:存放 Kubernetes 系统组件(如 kube-proxykube-dns)。
  • kube-public‌:存放需要全局访问的公共资源。
  • kube-node-lease‌:存放节点租约信息(用于节点心跳检测)。

常见使用场景

  1. 多团队协作
    不同团队(如前端、后端)使用各自的 Namespace,避免资源冲突。

  2. 多环境管理
    同一应用的不同环境(如 devstagingprod)通过 Namespace 隔离。

  3. 资源配额限制
    限制测试环境的资源使用量,确保生产环境资源充足。

  4. 权限隔离
    开发人员只能访问 dev Namespace,运维人员管理 prod Namespace。

基本操作示例

  • 查看所有 Namespace‌:

    kubectl get namespaces
  • 创建一个名为dev的 Namespace‌:

    kubectl create namespace dev

  • 在指定 Namespace 中部署资源‌:

    kubectl create deployment nginx --image=m.daocloud.io/docker.io/nginx --namespace=dev
    

  • 查看某个 Namespace 的资源‌:

    kubectl get pods --namespace=dev

注意事项

  1. 跨 Namespace 的通信
    不同 Namespace 中的服务可以通过 ‌<service-name>.<namespace-name>.svc.cluster.local‌ 格式的 DNS 名称互相访问。例如,nginx.dev.svc.cluster.local 表示访问 dev Namespace 中的 nginx Service。

  2. 资源不跨 Namespace
    Namespace 隔离的是资源对象(如 Pod、Service),但物理资源(如节点、存储卷)是集群全局共享的。

  3. 并非完全隔离
    Namespace 主要解决逻辑隔离,而不是安全隔离。需结合 RBAC 和网络策略(Network Policies)实现更严格的隔离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值