使用自定义资源和操作符扩展Kubernetes
1. 自定义资源与控制器基础
自定义资源是扩展Kubernetes的强大方式,能为原生Kubernetes对象提供更高级的抽象。控制器会检查组内是否还有用户,若没有则删除命名空间,若该命名空间中还有其他资源,这些资源也会被删除。
控制器代码需要考虑管理员可能在未意识到资源由控制器管理的情况下删除它们,因此用户控制器应监控Secrets、服务账户和命名空间,以便重新创建在控制器进程外被删除的任何资源。
更复杂的控制器可能会部署自己的RBAC规则以限制干扰,并支持跨多个Pod运行以实现高可用性。例如,cert - manager项目就为Kubernetes添加了TLS证书管理功能,可请求证书并应用到Web应用中。
2. 操作符管理第三方组件
操作符使用自定义资源和控制器为应用程序提供完整的生命周期管理,适用于复杂应用,特别是那些操作任务超出标准Kubernetes功能集的应用,如有状态应用。以在Kubernetes中运行数据库为例,升级数据库服务器可能需要先将数据库设为只读模式并进行备份。
标准Kubernetes资源无法表达这类需求,虽然可以使用Helm安装钩子实现类似功能,但逻辑通常较为复杂,且需要更多控制。操作符的目标是通过控制器和自定义资源实现所有这些操作需求,用简单的资源(如数据库对象和备份对象)抽象复杂性。
3. 使用NATS操作符部署消息队列
以下是使用NATS操作符部署消息队列的步骤:
1. 部署CRDs和RBAC规则 :
超级会员免费看
订阅专栏 解锁全文
21

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



