1.3.9. Operator 开发


1.3.9.1. operator SDK 现在被完全支持

从 OpenShift Container Platform 4.7 开始,Operator SDK 是一个完全支持的红帽服务。随着 Operator SDK v1.3.0 的下游发行版本,现在可以可直接从红帽下载官方支持的 Operator SDK 工具。

Operator SDK CLI 可以帮助 Operator 开发人员和独立的软件供应商(ISV)合作伙伴编写 Operator,这些 Operator 可以为用户提供更好的用户体验,并与 OpenShift 发行版和 Operator Lifecycle Manager(OLM)兼容。

Operator SDK 可让具有集群管理员权限的 Operator 作者访问基于 Kubernetes 的集群(如 OpenShift Container Platform),用以开发基于 Go、Ansible 或 Helm 的自己的 Operator。对于基于 Go 的 Operator,Kubebuilder 被嵌入到 SDK 中作为构建解决方案。这意味着现有的 Kubebuilder 项目可以和 SDK 一起使用,并可以继续正常工作。

以下是 Operator SDK 的一些主要特性:

对 Operator Bundle Format 的原生支持
Operator SDK 包括对 OpenShift Container Platform 4.6 中引入的 Operator Bundle Format 的原生支持。为 OLM 打包 Operator 所需的所有元数据均会自动生成。Operator 开发人员可以使用此功能直接从 CI 管道打包并测试其 Operator 以 OLM 和 OpenShift 发行版。
Operator Lifecycle Manager 集成
Operator SDK 为开发人员提供了从其工作站使用 OLM 测试 Operator 的简洁体验。您可以使用 run bundle 子命令在集群中运行 Operator,并测试在由 OLM 管理时 Operator 的行为是否正确。
Webhook 集成
Operator SDK 支持与 OLM 集成的 webhook,简化了安装具有准入或自定义资源定义(CRD)转换 Webhook 的 Operator。此功能使集群管理员需要手动注册 webhook、添加 TLS 证书和设置证书轮转。
验证 scorecard
Operator 作者应验证其 Operator 已正确打包且没有语法错误。要验证 Operator,Operator SDK 提供的 scorecard 工具将首先创建任何相关自定义资源(CR)和 Operator 所需的所有资源。然后,scorecard 在 Operator 部署中创建代理容器,用于记录对 API 服务器的调用并运行一些测试。执行的测试还会检查 CR 中的部分参数。
升级就绪度报告
Operator 开发人员可以使用 Operator SDK 来利用代码构建对 Operator 状况的支持,包括向 OLM 报告就绪状态
触发 Operator 升级
您可以通过在 Operator SDK 中使用 OLM 集成来快速测试 Operator 升级,而无需手动管理索引镜像和目录源。run bundle-upgrade 子命令通过为以后的版本指定捆绑包镜像来自动触发已安装的 Operator 以升级到更新的版本。
注意

operator SDK v1.3.0 支持 Kubernetes 1.19。

如需有关 Operator SDK 的完整文档,请参阅 Operators

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.