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

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



