06 | 如何使用命名空间隔离团队及应用环境?
王炜
你好,我是王炜。今天是我们 K8s 极简实战模块的第一课,我们一起来看看如何使用命名空间隔离团队及应用环境。
随着团队和应用规模的扩大,我们部署的 K8s 资源会越来越多,管理和组织这些资源成为了首先要面对的问题。另外,当我们对同一个应用有多套环境诉求时,需要有一种隔离机制能让我们在同一个集群内部署多个相同名字的工作负载。而且,不同业务的工作负载会相互竞争资源,这进一步增加了集群管理的难度。
要解决上面的这些问题,我们需要有一个更高维度的抽象。无论是在同一个集群隔离多套环境,还是隔离不同团队的资源,本质上都是将集群虚拟成几个隔离的“子集群”来使用。这种在同一个集群中提供的虚拟“子集群”的隔离能力,我们称为命名空间(Namespace)。
这节课,我还是从实战的角度出发,为你详细介绍 K8s 极简实战模块中的第一个概念:命名空间。
初识命名空间
架构图
为了方便你理解命名空间,我们一开始可以把 K8s 的命名空间比作是“子集群”。事实上,命名空间是集群的一种“软隔离”机制,它通过这种隔离机制,为我们管理和组织集群资源提供了便利。集群和命名空间的关系如图所示:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Kubernetes命名空间是一个重要的概念,本文深入介绍了K8s命名空间的概念及其用法。文章首先解释了命名空间的概念,将其比作集群的“子集群”,并详细介绍了命名空间的创建、删除和使用方法。此外,还介绍了命名空间的隔离特性,资源控制、权限控制以及如何规划命名空间。文章还分享了业务应用如何跨命名空间进行通信的方法。最后,通过两个实际的例子说明了在不同规模的组织下如何对命名空间进行分配和管理。总的来说,本文通过实际操作的方式,详细介绍了K8s命名空间的相关概念和操作方法,对于想要了解K8s命名空间的读者来说,是一篇很有价值的文章。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《云原生架构与 GitOps 实战》,新⼈⾸单¥59
《云原生架构与 GitOps 实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(9)
- 最新
- 精选
- includestdio.h我们团队规模采用命名空间区分各种环境是完全足够的,但是我们的集群可能会经常进行一些业务应用和容器的新特性调试,考虑命名空间只能提供软隔离,以及dev环境不能影响线上环境的原则,我们预发布和生产是同一个集群,通过命名空间隔离,dev则是单独的小集群
作者回复: 非常棒的环境隔离实践!开发环境硬隔离是很有必要的,因为它的变动最频繁,并且大部分成员都有访问权限,容易出现人为故障。
2022-12-21归属地:广东8 - Jack He我们是ns命名规则:【环境】-【业务线】
作者回复: 把关键信息写到命名空间的名字里,这也是一种不错的实践👍🏻
2022-12-21归属地:广东1 - $侯kuebctl apply -f deploy -n dev kubectl 打成了 kuebctl
作者回复: 感谢指正~
2023-01-18归属地:浙江 - 郑海成我们团队虽然比较小,但是环境的隔离还是使用不同的集群,单个集群内采用命名空间来区分不同的业务线
作者回复: 这也是一种非常好的实践👍🏻
2023-01-14归属地:北京 - 褔將我们的业务线对数据非常敏感 每个版本的数据都需要测试 每一次都要准备多份数据 更适合按数据的版本分配命名空间 能得到更高的复用
作者回复: 看起来是和业务很匹配的一种分配方式。
2022-12-30归属地:广东 - 烟火不坠我们是不同的环境不同的集群,集群里面按照业务线划分 ns 。
作者回复: 也是一种非常不错的实践👍🏻
2022-12-26归属地:广东 - GAC·DU老师前端项目(VUE框架)如何制作容器镜像啊?我尝试了先编译,然后挂在到Nginx容器html目录下,有很多问题。
作者回复: 这部分内容在13讲中有详细介绍。 一共有两种方式,第一种是在镜像里 build 之后用 http server 启动 dist 目录。第二种是你提到的 Nginx 的方式,需要用到多阶段构建。
2022-12-21归属地:广东2 - Lugyedo每年组织架构和团队都要调整,用团队区分命名空间不合适2022-12-28归属地:北京3
- 庄生 • 晓梦 • 蝴蝶kube-node-lease 是记录节点租期的,不是集群扩展2024-01-04归属地:上海
收起评论