写点什么

10 K8S 之名称空间

  • 2021 年 11 月 10 日
  • 本文字数:862 字

    阅读完需:约 3 分钟

10 K8S之名称空间

Kubernetes 使用“名称空间”来帮助降低这种复杂性:通过一个抽象组件将存在关联关系的对象组织成一个逻辑单元进行统一管控,可用于对集群中的任意对象组进行分类、筛选和管理


Kubernetes 的名称空间不同于 Linux 系统的名称空间,它们是各自独立的概念。另外,Kubernetes 名称空间并不能实现 Pod 间的通信隔离,它仅用于限制资源对象名称的作用域。


名称空间的核心功能在于限制集群上对象名称的作用域:同一类型的资源对象名称在同一个名称空间中必须唯一,但不同名称空间却可为同一类型的资源使用相同的名称。


名称空间本身并不具有网络隔离和访问限制等功能,但它可以作为网络访问控制策略(NetworkPolicy)、授权策略(RBAC)、资源限制策略(ResourceQuota)和 Pod 安全策略(PodSecurityPolicy)等管理逻辑的承载组件,这也是支撑集群“多租户”机制的基础组件。


kube-system:用于部署与 Kubernetes 系统自身相关的组件,例如 kube-proxy、CNI 网络插件,甚至是 kube-apiserver、kube-controller-manager 和 kube-scheduler 等控制平面组件的静态 Pod 等;不建议在该名称空间中运行与系统无关的工作负载。


kube-node-lease:目前是专用于放置 kubelet lease 对象的名称空间,这些对象对于 Kubernetes 系统自身健康运行至关重要;因而同样不建议在该名称空间中运行与系统无关的工作负载。


命令式命令的管理通常是针对集群上的活动对象直接进行,用户或管理员针对指定的资源运行 create、get、describe、edit 和 delete 命令即能完成资源的创建、查看、编辑和删除等基础管理操作。


命令式对象配置管理机制,是将资源操作命令作用于资源对象的配置清单进行的管理操作,常用的命令有 create、delete、replace、get 和 describe 等。与命令式命令的格式不同,这些命令都要使用-f FILENAME 选项从配置清单中读取资源对象的相关信息,这也是将它称为命令式对象配置的主要原因。


声明式对象配置操作在管理资源对象时会把配置信息保存在目标对象的注解中,并通过比较活动对象的当前配置、前一次管理操作时保存于注解中的配置,以及当前命令提供配置生成更新补丁从而完成活动对象的补丁式更新操作。


发布于: 2021 年 11 月 10 日阅读数: 11
用户头像

InfoQ签约作者 2018.11.30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
10 K8S之名称空间