Kubernetes名称空间

Kubernetes名称空间基础

名称空间(Namespace)

  • 是Kubernetes集群提供对内部资源进行“软隔离”的机制,以方便用户管理和组织集群资源
  • 可以将其想像成虚拟的"子集群"
    image

管理名称空间

Kubernetes的名称空间可以划分为两种类型

  • 系统级名称空间:由Kubernetes集群默认创建,主要用来隔离系统级的资源对象
  • 自定义名称空间:由用户按需创建

系统级名称空间

  • default:默认的名称空间,为任何名称空间级别的资源提供的默认设定
  • kube-system:Kubernetes集群自身组件及其它系统级组件使用的名称空间,Kubernetes自身的关键组件均部署在该名称空间中
  • kube-public:公众开放的名称空间,所有用户(包括Anonymous)都可以读取内部的资源
  • kube-node-lease:节点租约资源所用的名称空间
    • 分布式系统通常使用“租约(Lease)”机制来锁定共享资源并协调集群成员之间的活动
    • Kubernetes上的租约概念由API群组coordination.k8s.io群组下的Lease资源所承载,以支撑系统级别的功能需求,例如节点心跳(node heartbeats)和组件级的领导选举等
    • Kubernetes集群的每个节点,在该名称空间下都有一个与节点名称同名的Lease资源对象
      ~# kubectl -n kube-system get lease

所有的系统级名称空间均不能进行删除操作,而且除default外,其它三个也不应该用作业务应用的部署目标

需要使用名称空间的情形

  • 环境管理
    • 需要在同一Kubernetes集群上隔离研发、预发和生产等一类的环境时,可以通过名称空间进行
  • 隔离
    • 多个团队的不同产品线需要部署于同一Kubernetes集群时,可以使用名称空间进行隔离
  • 资源控制
    • 名称空间可用作资源配额的承载单位,从而限制其内部所有应用可以使用的CPU/Memory/PV各自的资源总和
    • 需要在产品线或团队等隔离目标上分配各自总体可用的系统资源时,可通过名称空间实现
  • 权限控制
    • 基于RBAC鉴权体系,能够在名称空间级别进行权限配置
  • 提高集群性能
    • 进行资源搜索时,名称空间有利于Kubernetes API缩小查找范围,从而对减少搜索延迟和提升性能有一定的帮助
posted @   Shine、  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示