Kubernetes 授权最佳实践与 GitOps 部署指南
1. 授权模块最佳实践
在对集群上配置的授权模块进行更改之前,需要考虑以下最佳实践:
- 避免在多控制平面集群中使用 ABAC :ABAC 策略需要放置在每个控制平面主机的文件系统中并保持同步,因此通常不建议在多控制平面集群中使用 ABAC。对于 Webhook 模块也是如此,因为其配置基于文件和相应的标志。此外,对这些文件中的策略进行更改需要重启 API 服务器才能生效,这在单控制平面集群中实际上是控制平面停机,在多控制平面集群中则会导致配置不一致。因此,建议仅使用 RBAC 模块进行用户授权,因为规则是在 Kubernetes 本身中配置和存储的。
- 不使用 Webhook 模块 :Webhook 模块虽然强大,但可能非常危险。由于每个请求都要经过授权过程,Webhook 服务的故障对集群来说将是毁灭性的。因此,通常不建议使用外部授权模块,除非你完全审查并适应了 Webhook 服务不可达或不可用时的集群故障模式。
2. 什么是 GitOps
GitOps 由 Weaveworks 的团队推广开来,其理念和基础基于他们在生产环境中运行 Kubernetes 的经验。GitOps 将软件开发生命周期的概念应用于运维。通过 GitOps,你的 Git 存储库成为单一事实来源,集群会与配置的 Git 存储库同步。例如,如果你更新了 Kubernetes Deployment 清单,这些配置更改会自动反映在 Git 中的集群状态中。
构建 GitOps 工作流时,应考虑 OpenGitOps 项目定义的
超级会员免费看
订阅专栏 解锁全文
1256

被折叠的 条评论
为什么被折叠?



