Jump To Close Expand all Collapse all Table of contents Operator 1. Operator 概述 Expand section "1. Operator 概述" Collapse section "1. Operator 概述" 1.1. 对于开发人员 1.2. 对于管理员 1.3. 后续步骤 2. 了解 Operator Expand section "2. 了解 Operator" Collapse section "2. 了解 Operator" 2.1. 什么是 Operator? Expand section "2.1. 什么是 Operator?" Collapse section "2.1. 什么是 Operator?" 2.1.1. 为什么要使用 Operator? 2.1.2. Operator Framework 2.1.3. Operator 成熟度模型 2.2. Operator Framework 打包格式 Expand section "2.2. Operator Framework 打包格式" Collapse section "2.2. Operator Framework 打包格式" 2.2.1. 捆绑包格式 Expand section "2.2.1. 捆绑包格式" Collapse section "2.2.1. 捆绑包格式" 2.2.1.1. 清单 2.2.1.2. 注解 2.2.1.3. 依赖项 2.2.1.4. 关于 opm CLI 2.2.2. 基于文件的目录 Expand section "2.2.2. 基于文件的目录" Collapse section "2.2.2. 基于文件的目录" 2.2.2.1. 目录结构 2.2.2.2. 模式 Expand section "2.2.2.2. 模式" Collapse section "2.2.2.2. 模式" 2.2.2.2.1. olm.package schema 2.2.2.2.2. olm.channel schema 2.2.2.2.3. olm.bundle schema 2.2.2.3. 属性 Expand section "2.2.2.3. 属性" Collapse section "2.2.2.3. 属性" 2.2.2.3.1. olm.package 属性 2.2.2.3.2. olm.gvk 属性 2.2.2.3.3. olm.package.required 2.2.2.3.4. olm.gvk.required 2.2.2.4. 目录示例 2.2.2.5. 指南 Expand section "2.2.2.5. 指南" Collapse section "2.2.2.5. 指南" 2.2.2.5.1. 不可变捆绑包 2.2.2.5.2. 源控制 2.2.2.6. CLI 用法 2.2.2.7. 自动化 2.2.3. RukPak (技术预览) Expand section "2.2.3. RukPak (技术预览)" Collapse section "2.2.3. RukPak (技术预览)" 2.2.3.1. 捆绑包(Bundle) Expand section "2.2.3.1. 捆绑包(Bundle)" Collapse section "2.2.3.1. 捆绑包(Bundle)" 2.2.3.1.1. 捆绑包不可变 2.2.3.1.2. 普通捆绑包规格 2.2.3.1.3. registry 捆绑包规格 2.2.3.2. BundleDeployment 2.2.3.3. Provisioner 2.3. Operator Framework 常用术语表 Expand section "2.3. Operator Framework 常用术语表" Collapse section "2.3. Operator Framework 常用术语表" 2.3.1. 常见 Operator Framework 术语 Expand section "2.3.1. 常见 Operator Framework 术语" Collapse section "2.3.1. 常见 Operator Framework 术语" 2.3.1.1. 捆绑包(Bundle) 2.3.1.2. 捆绑包镜像 2.3.1.3. 目录源 2.3.1.4. Channel 2.3.1.5. 频道头 2.3.1.6. 集群服务版本 2.3.1.7. 依赖项 2.3.1.8. 索引镜像 2.3.1.9. 安装计划 2.3.1.10. 多租户 2.3.1.11. operator 组 2.3.1.12. 软件包 2.3.1.13. 容器镜像仓库(Registry) 2.3.1.14. Subscription 2.3.1.15. 更新图表 2.4. Operator Lifecycle Manager (OLM) Expand section "2.4. Operator Lifecycle Manager (OLM)" Collapse section "2.4. Operator Lifecycle Manager (OLM)" 2.4.1. Operator Lifecycle Manager 概念和资源 Expand section "2.4.1. Operator Lifecycle Manager 概念和资源" Collapse section "2.4.1. Operator Lifecycle Manager 概念和资源" 2.4.1.1. Operator Lifecycle Manager 是什么? 2.4.1.2. OLM 资源 Expand section "2.4.1.2. OLM 资源" Collapse section "2.4.1.2. OLM 资源" 2.4.1.2.1. 集群服务版本 2.4.1.2.2. 目录源 Expand section "2.4.1.2.2. 目录源" Collapse section "2.4.1.2.2. 目录源" 2.4.1.2.2.1. 自定义目录源的镜像模板 2.4.1.2.2.2. 目录健康要求 2.4.1.2.3. 订阅 2.4.1.2.4. 安装计划 2.4.1.2.5. operator 组 2.4.1.2.6. Operator 条件 2.4.2. Operator Lifecycle Manager 架构 Expand section "2.4.2. Operator Lifecycle Manager 架构" Collapse section "2.4.2. Operator Lifecycle Manager 架构" 2.4.2.1. 组件职责 2.4.2.2. OLM Operator 2.4.2.3. Catalog Operator 2.4.2.4. Catalog Registry 2.4.3. Operator Lifecycle Manager 工作流 Expand section "2.4.3. Operator Lifecycle Manager 工作流" Collapse section "2.4.3. Operator Lifecycle Manager 工作流" 2.4.3.1. OLM 中的 Operator 安装和升级工作流 Expand section "2.4.3.1. OLM 中的 Operator 安装和升级工作流" Collapse section "2.4.3.1. OLM 中的 Operator 安装和升级工作流" 2.4.3.1.1. 升级路径示例 2.4.3.1.2. 跳过升级 2.4.3.1.3. 替换多个 Operator 2.4.3.1.4. Z-stream 支持 2.4.4. Operator Lifecycle Manager 依赖项解析 Expand section "2.4.4. Operator Lifecycle Manager 依赖项解析" Collapse section "2.4.4. Operator Lifecycle Manager 依赖项解析" 2.4.4.1. 关于依赖项解析 2.4.4.2. Operator 属性 Expand section "2.4.4.2. Operator 属性" Collapse section "2.4.4.2. Operator 属性" 2.4.4.2.1. 任意属性 2.4.4.3. Operator 依赖项 2.4.4.4. 通用限制 Expand section "2.4.4.4. 通用限制" Collapse section "2.4.4.4. 通用限制" 2.4.4.4.1. 常见表达式语言(CEL)约束 2.4.4.4.2. Compound 约束 (all, any, not) 2.4.4.4.3. 嵌套复合限制 2.4.4.5. 依赖项首选项 Expand section "2.4.4.5. 依赖项首选项" Collapse section "2.4.4.5. 依赖项首选项" 2.4.4.5.1. 目录优先级 2.4.4.5.2. 频道排序 2.4.4.5.3. 频道中的顺序 2.4.4.5.4. 其他限制 Expand section "2.4.4.5.4. 其他限制" Collapse section "2.4.4.5.4. 其他限制" 2.4.4.5.4.1. 订阅约束 2.4.4.5.4.2. 软件包约束 2.4.4.5.5. 其他资源 2.4.4.6. CRD 升级 2.4.4.7. 依赖项最佳实践 2.4.4.8. 依赖项注意事项 2.4.4.9. 依赖项解析方案示例 2.4.5. operator 组 Expand section "2.4.5. operator 组" Collapse section "2.4.5. operator 组" 2.4.5.1. 关于 Operator 组 2.4.5.2. Operator 组成员 2.4.5.3. 目标命名空间选择 2.4.5.4. operator 组 CSV 注解 2.4.5.5. 所提供的 API 注解 2.4.5.6. 基于角色的访问控制 2.4.5.7. 复制的 CSV 2.4.5.8. 静态 Operator 组 2.4.5.9. operator 组交集 2.4.5.10. 多租户 Operator 管理的限制 2.4.5.11. 对 Operator 组进行故障排除 2.4.6. 多租户和 Operator 共处 Expand section "2.4.6. 多租户和 Operator 共处" Collapse section "2.4.6. 多租户和 Operator 共处" 2.4.6.1. 命名空间中的 Operator 共处 2.4.7. Operator 条件 Expand section "2.4.7. Operator 条件" Collapse section "2.4.7. Operator 条件" 2.4.7.1. 关于 Operator 条件 2.4.7.2. 支持的条件 Expand section "2.4.7.2. 支持的条件" Collapse section "2.4.7.2. 支持的条件" 2.4.7.2.1. Upgradeable(可升级)条件 2.4.7.3. 其他资源 2.4.8. Operator Lifecycle Manager 指标数据 Expand section "2.4.8. Operator Lifecycle Manager 指标数据" Collapse section "2.4.8. Operator Lifecycle Manager 指标数据" 2.4.8.1. 公开的指标 2.4.9. Operator Lifecycle Manager 中的 Webhook 管理 Expand section "2.4.9. Operator Lifecycle Manager 中的 Webhook 管理" Collapse section "2.4.9. Operator Lifecycle Manager 中的 Webhook 管理" 2.4.9.1. 其他资源 2.5. 了解 OperatorHub Expand section "2.5. 了解 OperatorHub" Collapse section "2.5. 了解 OperatorHub" 2.5.1. 关于 OperatorHub 2.5.2. OperatorHub 架构 Expand section "2.5.2. OperatorHub 架构" Collapse section "2.5.2. OperatorHub 架构" 2.5.2.1. OperatorHub 自定义资源 2.5.3. 其他资源 2.6. 红帽提供的 Operator 目录 Expand section "2.6. 红帽提供的 Operator 目录" Collapse section "2.6. 红帽提供的 Operator 目录" 2.6.1. 关于 Operator 目录 2.6.2. 关于红帽提供的 Operator 目录 2.7. 多租户集群中的 Operator Expand section "2.7. 多租户集群中的 Operator" Collapse section "2.7. 多租户集群中的 Operator" 2.7.1. 默认 Operator 安装模式和行为 2.7.2. 多租户集群的建议解决方案 2.7.3. Operator 共处和 Operator 组 2.8. CRD Expand section "2.8. CRD" Collapse section "2.8. CRD" 2.8.1. 使用自定义资源定义来扩展 Kubernetes API Expand section "2.8.1. 使用自定义资源定义来扩展 Kubernetes API" Collapse section "2.8.1. 使用自定义资源定义来扩展 Kubernetes API" 2.8.1.1. 自定义资源定义 2.8.1.2. 创建自定义资源定义 2.8.1.3. 为自定义资源定义创建集群角色 2.8.1.4. 通过文件创建自定义资源 2.8.1.5. 检查自定义资源 2.8.2. 管理自定义资源定义中的资源 Expand section "2.8.2. 管理自定义资源定义中的资源" Collapse section "2.8.2. 管理自定义资源定义中的资源" 2.8.2.1. 自定义资源定义 2.8.2.2. 通过文件创建自定义资源 2.8.2.3. 检查自定义资源 3. 用户任务 Expand section "3. 用户任务" Collapse section "3. 用户任务" 3.1. 从已安装的 Operator 创建应用程序 Expand section "3.1. 从已安装的 Operator 创建应用程序" Collapse section "3.1. 从已安装的 Operator 创建应用程序" 3.1.1. 使用 Operator 创建 etcd 集群 3.2. 在命名空间中安装 Operator Expand section "3.2. 在命名空间中安装 Operator" Collapse section "3.2. 在命名空间中安装 Operator" 3.2.1. 先决条件 3.2.2. 关于使用 OperatorHub 安装 Operator 3.2.3. 使用 Web 控制台从 OperatorHub 安装 3.2.4. 使用 CLI 从 OperatorHub 安装 3.2.5. 安装 Operator 的特定版本 4. 管理员任务 Expand section "4. 管理员任务" Collapse section "4. 管理员任务" 4.1. 在集群中添加 Operator Expand section "4.1. 在集群中添加 Operator" Collapse section "4.1. 在集群中添加 Operator" 4.1.1. 关于使用 OperatorHub 安装 Operator 4.1.2. 使用 Web 控制台从 OperatorHub 安装 4.1.3. 使用 CLI 从 OperatorHub 安装 4.1.4. 安装 Operator 的特定版本 4.1.5. 为多租户集群准备多个 Operator 实例 4.1.6. 在自定义命名空间中安装全局 Operator 4.1.7. Operator 工作负载的 Pod 放置 4.1.8. 控制安装 Operator 的位置 4.2. 更新安装的 Operator Expand section "4.2. 更新安装的 Operator" Collapse section "4.2. 更新安装的 Operator" 4.2.1. 准备 Operator 更新 4.2.2. 更改 Operator 的更新频道 4.2.3. 手动批准待处理的 Operator 更新 4.3. 从集群中删除 Operator Expand section "4.3. 从集群中删除 Operator" Collapse section "4.3. 从集群中删除 Operator" 4.3.1. 使用 Web 控制台从集群中删除 Operator 4.3.2. 使用 CLI 从集群中删除 Operator 4.3.3. 刷新失败的订阅 4.4. 配置 Operator Lifecycle Manager 功能 Expand section "4.4. 配置 Operator Lifecycle Manager 功能" Collapse section "4.4. 配置 Operator Lifecycle Manager 功能" 4.4.1. 禁用复制的 CSV 4.5. 在 Operator Lifecycle Manager 中配置代理支持 Expand section "4.5. 在 Operator Lifecycle Manager 中配置代理支持" Collapse section "4.5. 在 Operator Lifecycle Manager 中配置代理支持" 4.5.1. 覆盖 Operator 的代理设置 4.5.2. 注入自定义 CA 证书 4.6. 查看 Operator 状态 Expand section "4.6. 查看 Operator 状态" Collapse section "4.6. 查看 Operator 状态" 4.6.1. operator 订阅状况类型 4.6.2. 使用 CLI 查看 Operator 订阅状态 4.6.3. 使用 CLI 查看 Operator 目录源状态 4.7. 管理 Operator 条件 Expand section "4.7. 管理 Operator 条件" Collapse section "4.7. 管理 Operator 条件" 4.7.1. 覆盖 Operator 条件 4.7.2. 更新 Operator 以使用 Operator 条件 Expand section "4.7.2. 更新 Operator 以使用 Operator 条件" Collapse section "4.7.2. 更新 Operator 以使用 Operator 条件" 4.7.2.1. 设置默认值 4.7.3. 其他资源 4.8. 允许非集群管理员安装 Operator Expand section "4.8. 允许非集群管理员安装 Operator" Collapse section "4.8. 允许非集群管理员安装 Operator" 4.8.1. 了解 Operator 安装策略 Expand section "4.8.1. 了解 Operator 安装策略" Collapse section "4.8.1. 了解 Operator 安装策略" 4.8.1.1. 安装场景 4.8.1.2. 安装工作流 4.8.2. 限定 Operator 安装范围 Expand section "4.8.2. 限定 Operator 安装范围" Collapse section "4.8.2. 限定 Operator 安装范围" 4.8.2.1. 细粒度权限 4.8.3. Operator 目录访问控制 4.8.4. 故障排除权限失败 4.9. 管理自定义目录 Expand section "4.9. 管理自定义目录" Collapse section "4.9. 管理自定义目录" 4.9.1. 先决条件 4.9.2. 基于文件的目录 Expand section "4.9.2. 基于文件的目录" Collapse section "4.9.2. 基于文件的目录" 4.9.2.1. 创建基于文件的目录镜像 4.9.2.2. 更新或过滤基于文件的目录镜像 4.9.3. 基于 SQLite 的目录 Expand section "4.9.3. 基于 SQLite 的目录" Collapse section "4.9.3. 基于 SQLite 的目录" 4.9.3.1. 创建基于 SQLite 的索引镜像 4.9.3.2. 更新基于 SQLite 的索引镜像 4.9.3.3. 过滤基于 SQLite 的索引镜像 4.9.4. 目录源和 pod 安全准入 Expand section "4.9.4. 目录源和 pod 安全准入" Collapse section "4.9.4. 目录源和 pod 安全准入" 4.9.4.1. 将 SQLite 数据库目录迁移到基于文件的目录格式 4.9.4.2. 重建 SQLite 数据库目录镜像 4.9.4.3. 配置目录以使用升级的权限运行 4.9.5. 在集群中添加目录源 4.9.6. 从私有 registry 访问 Operator 的镜像 4.9.7. 禁用默认的 OperatorHub 目录源 4.9.8. 删除自定义目录 4.10. 在受限网络中使用 Operator Lifecycle Manager Expand section "4.10. 在受限网络中使用 Operator Lifecycle Manager" Collapse section "4.10. 在受限网络中使用 Operator Lifecycle Manager" 4.10.1. 先决条件 4.10.2. 禁用默认的 OperatorHub 目录源 4.10.3. 对 Operator 目录进行镜像(mirror) 4.10.4. 在集群中添加目录源 4.11. 目录源 pod 调度 Expand section "4.11. 目录源 pod 调度" Collapse section "4.11. 目录源 pod 调度" 4.11.1. 覆盖目录源 pod 的节点选择器 4.11.2. 覆盖目录源 pod 的优先级类名称 4.11.3. 覆盖目录源 pod 的容限 4.12. 管理平台 Operator (技术预览) Expand section "4.12. 管理平台 Operator (技术预览)" Collapse section "4.12. 管理平台 Operator (技术预览)" 4.12.1. 关于平台 Operator Expand section "4.12.1. 关于平台 Operator" Collapse section "4.12.1. 关于平台 Operator" 4.12.1.1. 平台 Operator 的技术预览限制 4.12.2. 先决条件 4.12.3. 在集群创建过程中安装平台 Operator 4.12.4. 在集群创建后安装平台 Operator 4.12.5. 删除平台 Operator 5. 开发 Operator Expand section "5. 开发 Operator" Collapse section "5. 开发 Operator" 5.1. 关于 Operator SDK Expand section "5.1. 关于 Operator SDK" Collapse section "5.1. 关于 Operator SDK" 5.1.1. 什么是 Operator? 5.1.2. 开发工作流 5.1.3. 其他资源 5.2. 安装 Operator SDK CLI Expand section "5.2. 安装 Operator SDK CLI" Collapse section "5.2. 安装 Operator SDK CLI" 5.2.1. 在 Linux 上安装 Operator SDK CLI 5.2.2. 在 macOS 上安装 Operator SDK CLI 5.3. 基于 Go 的 Operator Expand section "5.3. 基于 Go 的 Operator" Collapse section "5.3. 基于 Go 的 Operator" 5.3.1. 基于 Go 的 Operator 开始使用 Operator SDK Expand section "5.3.1. 基于 Go 的 Operator 开始使用 Operator SDK" Collapse section "5.3.1. 基于 Go 的 Operator 开始使用 Operator SDK" 5.3.1.1. 先决条件 5.3.1.2. 创建并部署基于 Go 的 Operator 5.3.1.3. 后续步骤 5.3.2. 基于 Go 的 Operator 的 operator SDK 指南 Expand section "5.3.2. 基于 Go 的 Operator 的 operator SDK 指南" Collapse section "5.3.2. 基于 Go 的 Operator 的 operator SDK 指南" 5.3.2.1. 先决条件 5.3.2.2. 创建一个项目 Expand section "5.3.2.2. 创建一个项目" Collapse section "5.3.2.2. 创建一个项目" 5.3.2.2.1. PROJECT 文件 5.3.2.2.2. 关于 Manager 5.3.2.2.3. 关于多组 API 5.3.2.3. 创建 API 和控制器 Expand section "5.3.2.3. 创建 API 和控制器" Collapse section "5.3.2.3. 创建 API 和控制器" 5.3.2.3.1. 定义 API 5.3.2.3.2. 生成 CRD 清单 Expand section "5.3.2.3.2. 生成 CRD 清单" Collapse section "5.3.2.3.2. 生成 CRD 清单" 5.3.2.3.2.1. 关于 OpenAPI 验证 5.3.2.4. 实现控制器 Expand section "5.3.2.4. 实现控制器" Collapse section "5.3.2.4. 实现控制器" 5.3.2.4.1. 控制器监视的资源 5.3.2.4.2. 控制器配置 5.3.2.4.3. 协调循环 5.3.2.4.4. 权限和 RBAC 清单 5.3.2.5. 启用代理支持 5.3.2.6. 运行 Operator Expand section "5.3.2.6. 运行 Operator" Collapse section "5.3.2.6. 运行 Operator" 5.3.2.6.1. 在集群外本地运行 5.3.2.6.2. 作为集群的部署运行 5.3.2.6.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署 Expand section "5.3.2.6.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署" Collapse section "5.3.2.6.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署" 5.3.2.6.3.1. 捆绑 Operator 5.3.2.6.3.2. 使用 Operator Lifecycle Manager 部署 Operator 5.3.2.7. 创建自定义资源 5.3.2.8. 其他资源 5.3.3. 基于 Go 的 Operator 的项目布局 Expand section "5.3.3. 基于 Go 的 Operator 的项目布局" Collapse section "5.3.3. 基于 Go 的 Operator 的项目布局" 5.3.3.1. 基于 Go 的项目布局 5.3.4. 为较新的 Operator SDK 版本更新基于 Go 的 Operator 项目 Expand section "5.3.4. 为较新的 Operator SDK 版本更新基于 Go 的 Operator 项目" Collapse section "5.3.4. 为较新的 Operator SDK 版本更新基于 Go 的 Operator 项目" 5.3.4.1. 为 Operator SDK 1.25.4 更新基于 Go 的 Operator 项目 5.3.4.2. 其他资源 5.4. 基于 Ansible 的 Operator Expand section "5.4. 基于 Ansible 的 Operator" Collapse section "5.4. 基于 Ansible 的 Operator" 5.4.1. 基于 Ansible 的 Operator 的 Operator SDK 入门 Expand section "5.4.1. 基于 Ansible 的 Operator 的 Operator SDK 入门" Collapse section "5.4.1. 基于 Ansible 的 Operator 的 Operator SDK 入门" 5.4.1.1. 先决条件 5.4.1.2. 创建并部署基于 Ansible 的 Operator 5.4.1.3. 后续步骤 5.4.2. 基于 Ansible 的 Operator 的 operator SDK 指南 Expand section "5.4.2. 基于 Ansible 的 Operator 的 operator SDK 指南" Collapse section "5.4.2. 基于 Ansible 的 Operator 的 operator SDK 指南" 5.4.2.1. 先决条件 5.4.2.2. 创建一个项目 Expand section "5.4.2.2. 创建一个项目" Collapse section "5.4.2.2. 创建一个项目" 5.4.2.2.1. PROJECT 文件 5.4.2.3. 创建 API 5.4.2.4. 修改管理者 5.4.2.5. 启用代理支持 5.4.2.6. 运行 Operator Expand section "5.4.2.6. 运行 Operator" Collapse section "5.4.2.6. 运行 Operator" 5.4.2.6.1. 在集群外本地运行 5.4.2.6.2. 作为集群的部署运行 5.4.2.6.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署 Expand section "5.4.2.6.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署" Collapse section "5.4.2.6.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署" 5.4.2.6.3.1. 捆绑 Operator 5.4.2.6.3.2. 使用 Operator Lifecycle Manager 部署 Operator 5.4.2.7. 创建自定义资源 5.4.2.8. 其他资源 5.4.3. 基于 Ansible 的 Operator 的项目布局 Expand section "5.4.3. 基于 Ansible 的 Operator 的项目布局" Collapse section "5.4.3. 基于 Ansible 的 Operator 的项目布局" 5.4.3.1. 基于 Ansible 的项目布局 5.4.4. 为较新的 Operator SDK 版本更新项目 Expand section "5.4.4. 为较新的 Operator SDK 版本更新项目" Collapse section "5.4.4. 为较新的 Operator SDK 版本更新项目" 5.4.4.1. 为 Operator SDK 1.25.4 更新基于 Ansible 的 Operator 项目 5.4.4.2. 其他资源 5.4.5. Operator SDK 中的 Ansible 支持 Expand section "5.4.5. Operator SDK 中的 Ansible 支持" Collapse section "5.4.5. Operator SDK 中的 Ansible 支持" 5.4.5.1. 自定义资源文件 5.4.5.2. watches.yaml 文件 Expand section "5.4.5.2. watches.yaml 文件" Collapse section "5.4.5.2. watches.yaml 文件" 5.4.5.2.1. 高级选项 5.4.5.3. 发送至 Ansible 的额外变量 5.4.5.4. Ansible Runner 目录 5.4.6. Kubernetes Collection for Ansible Expand section "5.4.6. Kubernetes Collection for Ansible" Collapse section "5.4.6. Kubernetes Collection for Ansible" 5.4.6.1. 为 Ansible 安装 Kubernetes 集合 5.4.6.2. 本地测试 Kubernetes Collection 5.4.6.3. 后续步骤 5.4.7. 在 Operator 中使用 Ansible Expand section "5.4.7. 在 Operator 中使用 Ansible" Collapse section "5.4.7. 在 Operator 中使用 Ansible" 5.4.7.1. 自定义资源文件 5.4.7.2. 本地测试基于 Ansible 的 Operator 5.4.7.3. 在集群上测试基于 Ansible 的 Operator 5.4.7.4. Ansible 日志 Expand section "5.4.7.4. Ansible 日志" Collapse section "5.4.7.4. Ansible 日志" 5.4.7.4.1. 查看 Ansible 日志 5.4.7.4.2. 启用完整的 Ansible 结果会包括在日志中 5.4.7.4.3. 在日志中启用详细调试 5.4.8. 自定义资源状态管理 Expand section "5.4.8. 自定义资源状态管理" Collapse section "5.4.8. 自定义资源状态管理" 5.4.8.1. 基于 Ansible 的 Operator 中的自定义资源状态 5.4.8.2. 手动跟踪自定义资源状态 5.5. 基于 Helm 的 Operator Expand section "5.5. 基于 Helm 的 Operator" Collapse section "5.5. 基于 Helm 的 Operator" 5.5.1. 开始使用基于 Helm 的 Operator 的 Operator SDK Expand section "5.5.1. 开始使用基于 Helm 的 Operator 的 Operator SDK" Collapse section "5.5.1. 开始使用基于 Helm 的 Operator 的 Operator SDK" 5.5.1.1. 先决条件 5.5.1.2. 创建并部署基于 Helm 的 Operator 5.5.1.3. 后续步骤 5.5.2. 基于 Helm 的 Operator 的 operator SDK 指南 Expand section "5.5.2. 基于 Helm 的 Operator 的 operator SDK 指南" Collapse section "5.5.2. 基于 Helm 的 Operator 的 operator SDK 指南" 5.5.2.1. 先决条件 5.5.2.2. 创建一个项目 Expand section "5.5.2.2. 创建一个项目" Collapse section "5.5.2.2. 创建一个项目" 5.5.2.2.1. 现有 Helm chart 5.5.2.2.2. PROJECT 文件 5.5.2.3. 了解 Operator 逻辑 Expand section "5.5.2.3. 了解 Operator 逻辑" Collapse section "5.5.2.3. 了解 Operator 逻辑" 5.5.2.3.1. Helm chart 示例 5.5.2.3.2. 修改自定义资源规格 5.5.2.4. 启用代理支持 5.5.2.5. 运行 Operator Expand section "5.5.2.5. 运行 Operator" Collapse section "5.5.2.5. 运行 Operator" 5.5.2.5.1. 在集群外本地运行 5.5.2.5.2. 作为集群的部署运行 5.5.2.5.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署 Expand section "5.5.2.5.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署" Collapse section "5.5.2.5.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署" 5.5.2.5.3.1. 捆绑 Operator 5.5.2.5.3.2. 使用 Operator Lifecycle Manager 部署 Operator 5.5.2.6. 创建自定义资源 5.5.2.7. 其他资源 5.5.3. 基于 Helm 的 Operator 的项目布局 Expand section "5.5.3. 基于 Helm 的 Operator 的项目布局" Collapse section "5.5.3. 基于 Helm 的 Operator 的项目布局" 5.5.3.1. 基于 Helm 的项目布局 5.5.4. 为较新的 Operator SDK 版本更新基于 Helm 的项目 Expand section "5.5.4. 为较新的 Operator SDK 版本更新基于 Helm 的项目" Collapse section "5.5.4. 为较新的 Operator SDK 版本更新基于 Helm 的项目" 5.5.4.1. 为 Operator SDK 1.25.4 更新基于 Helm 的 Operator 项目 5.5.4.2. 其他资源 5.5.5. Operator SDK 中的 Helm 支持 Expand section "5.5.5. Operator SDK 中的 Helm 支持" Collapse section "5.5.5. Operator SDK 中的 Helm 支持" 5.5.5.1. Helm chart 5.5.6. Hybrid Helm Operators Operator SDK 教程 Expand section "5.5.6. Hybrid Helm Operators Operator SDK 教程" Collapse section "5.5.6. Hybrid Helm Operators Operator SDK 教程" 5.5.6.1. 先决条件 5.5.6.2. 创建一个项目 5.5.6.3. 创建 Helm API Expand section "5.5.6.3. 创建 Helm API" Collapse section "5.5.6.3. 创建 Helm API" 5.5.6.3.1. Helm API 的 Operator 逻辑 5.5.6.3.2. 使用所提供的库 API 的自定义 Helm reconciler 配置 5.5.6.4. 创建 Go API Expand section "5.5.6.4. 创建 Go API" Collapse section "5.5.6.4. 创建 Go API" 5.5.6.4.1. 定义 API 5.5.6.4.2. 控制器实现 5.5.6.4.3. main.go 的不同 5.5.6.4.4. 权限和 RBAC 清单 5.5.6.5. 在集群外本地运行 5.5.6.6. 作为集群的部署运行 5.5.6.7. 创建自定义资源 5.5.6.8. 项目布局 5.5.7. 为较新的 Operator SDK 版本更新基于 Helm 的混合项目 Expand section "5.5.7. 为较新的 Operator SDK 版本更新基于 Helm 的混合项目" Collapse section "5.5.7. 为较新的 Operator SDK 版本更新基于 Helm 的混合项目" 5.5.7.1. 为 Operator SDK 1.25.4 更新基于 Helm 的 Operator 项目 5.5.7.2. 其他资源 5.6. 基于 Java 的 Operator Expand section "5.6. 基于 Java 的 Operator" Collapse section "5.6. 基于 Java 的 Operator" 5.6.1. 基于 Java 的 Operator 的 Operator SDK 入门 Expand section "5.6.1. 基于 Java 的 Operator 的 Operator SDK 入门" Collapse section "5.6.1. 基于 Java 的 Operator 的 Operator SDK 入门" 5.6.1.1. 先决条件 5.6.1.2. 创建并部署基于 Java 的 Operator 5.6.1.3. 后续步骤 5.6.2. 基于 Java 的 Operator 的 operator SDK 指南 Expand section "5.6.2. 基于 Java 的 Operator 的 operator SDK 指南" Collapse section "5.6.2. 基于 Java 的 Operator 的 operator SDK 指南" 5.6.2.1. 先决条件 5.6.2.2. 创建一个项目 Expand section "5.6.2.2. 创建一个项目" Collapse section "5.6.2.2. 创建一个项目" 5.6.2.2.1. PROJECT 文件 5.6.2.3. 创建 API 和控制器 Expand section "5.6.2.3. 创建 API 和控制器" Collapse section "5.6.2.3. 创建 API 和控制器" 5.6.2.3.1. 定义 API 5.6.2.3.2. 生成 CRD 清单 5.6.2.3.3. 创建自定义资源 5.6.2.4. 实现控制器 Expand section "5.6.2.4. 实现控制器" Collapse section "5.6.2.4. 实现控制器" 5.6.2.4.1. 协调循环 5.6.2.4.2. 定义 labelsForMemcached 5.6.2.4.3. 定义 createMemcachedDeployment 5.6.2.5. 运行 Operator Expand section "5.6.2.5. 运行 Operator" Collapse section "5.6.2.5. 运行 Operator" 5.6.2.5.1. 在集群外本地运行 5.6.2.5.2. 作为集群的部署运行 5.6.2.5.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署 Expand section "5.6.2.5.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署" Collapse section "5.6.2.5.3. 捆绑 Operator 并使用 Operator Lifecycle Manager 进行部署" 5.6.2.5.3.1. 捆绑 Operator 5.6.2.5.3.2. 使用 Operator Lifecycle Manager 部署 Operator 5.6.2.6. 其他资源 5.6.3. 基于 Java 的 Operator 的项目布局 Expand section "5.6.3. 基于 Java 的 Operator 的项目布局" Collapse section "5.6.3. 基于 Java 的 Operator 的项目布局" 5.6.3.1. 基于 Java 的项目布局 5.6.4. 为较新的 Operator SDK 版本更新项目 Expand section "5.6.4. 为较新的 Operator SDK 版本更新项目" Collapse section "5.6.4. 为较新的 Operator SDK 版本更新项目" 5.6.4.1. 为 Operator SDK 1.25.4 更新基于 Java 的 Operator 项目 5.6.4.2. 其他资源 5.7. 定义集群服务版本(CSV) Expand section "5.7. 定义集群服务版本(CSV)" Collapse section "5.7. 定义集群服务版本(CSV)" 5.7.1. CSV 生成的工作方式 Expand section "5.7.1. CSV 生成的工作方式" Collapse section "5.7.1. CSV 生成的工作方式" 5.7.1.1. 生成的文件和资源 5.7.1.2. 版本管理 5.7.2. 手动定义的 CSV 字段 Expand section "5.7.2. 手动定义的 CSV 字段" Collapse section "5.7.2. 手动定义的 CSV 字段" 5.7.2.1. Operator 元数据注解 5.7.3. 为受限网络环境启用 Operator 5.7.4. 为多个架构和操作系统启用您的 Operator Expand section "5.7.4. 为多个架构和操作系统启用您的 Operator" Collapse section "5.7.4. 为多个架构和操作系统启用您的 Operator" 5.7.4.1. Operator 的架构和操作系统支持 5.7.5. 设置建议的命名空间 5.7.6. 启用 Operator 条件 5.7.7. 定义 webhook Expand section "5.7.7. 定义 webhook" Collapse section "5.7.7. 定义 webhook" 5.7.7.1. 针对 OLM 的 Webhook 注意事项 5.7.8. 了解您的自定义资源定义(CRD) Expand section "5.7.8. 了解您的自定义资源定义(CRD)" Collapse section "5.7.8. 了解您的自定义资源定义(CRD)" 5.7.8.1. 拥有的 CRD 5.7.8.2. 必需的 CRD 5.7.8.3. CRD 升级 Expand section "5.7.8.3. CRD 升级" Collapse section "5.7.8.3. CRD 升级" 5.7.8.3.1. 添加新版 CRD 5.7.8.3.2. 弃用或删除 CRD 版本 5.7.8.4. CRD 模板 5.7.8.5. 隐藏内部对象 5.7.8.6. 初始化所需的自定义资源 5.7.9. 了解您的 API 服务 Expand section "5.7.9. 了解您的 API 服务" Collapse section "5.7.9. 了解您的 API 服务" 5.7.9.1. 拥有的 API 服务 Expand section "5.7.9.1. 拥有的 API 服务" Collapse section "5.7.9.1. 拥有的 API 服务" 5.7.9.1.1. API 服务资源创建 5.7.9.1.2. API service serving 证书 5.7.9.2. 所需的 API 服务 5.8. 使用捆绑包镜像 Expand section "5.8. 使用捆绑包镜像" Collapse section "5.8. 使用捆绑包镜像" 5.8.1. 捆绑 Operator 5.8.2. 使用 Operator Lifecycle Manager 部署 Operator 5.8.3. 发布包含捆绑 Operator 的目录 5.8.4. 在 Operator Lifecycle Manager 中测试 Operator 升级 5.8.5. 控制与 OpenShift Container Platform 版本的 Operator 兼容性 5.8.6. 其他资源 5.9. 遵守 pod 安全准入 Expand section "5.9. 遵守 pod 安全准入" Collapse section "5.9. 遵守 pod 安全准入" 5.9.1. 安全性上下文约束与 pod 安全标准同步 5.9.2. 确保 Operator 工作负载在命名空间中运行,设置为受限 pod 安全级别 5.9.3. 为需要升级权限的 Operator 工作负载管理 pod 安全准入 5.9.4. 其他资源 5.10. 使用 scorecard 工具验证 Operator Expand section "5.10. 使用 scorecard 工具验证 Operator" Collapse section "5.10. 使用 scorecard 工具验证 Operator" 5.10.1. 关于 scorecard 工具 5.10.2. Scorecard 配置 5.10.3. 内置 scorecard 测试 5.10.4. 运行 scorecard 工具 5.10.5. Scorecard 输出 5.10.6. 选择测试 5.10.7. 启用并行测试 5.10.8. 自定义 scorecard 测试 5.11. 验证 Operator 捆绑包 Expand section "5.11. 验证 Operator 捆绑包" Collapse section "5.11. 验证 Operator 捆绑包" 5.11.1. 关于 bundle validate 命令 5.11.2. 内置捆绑包验证测试 5.11.3. 运行 bundle validate 命令 5.12. 高可用性或单节点集群检测和支持 Expand section "5.12. 高可用性或单节点集群检测和支持" Collapse section "5.12. 高可用性或单节点集群检测和支持" 5.12.1. 关于集群高可用性模式 API 5.12.2. Operator 项目中的 API 使用量示例 5.13. 使用 Prometheus 配置内置监控 Expand section "5.13. 使用 Prometheus 配置内置监控" Collapse section "5.13. 使用 Prometheus 配置内置监控" 5.13.1. Prometheus Operator 支持 5.13.2. 为基于 Go 的 Operator 公开自定义指标 5.13.3. 为基于 Ansible 的 Operator 公开自定义指标 5.14. 配置领导选举机制 Expand section "5.14. 配置领导选举机制" Collapse section "5.14. 配置领导选举机制" 5.14.1. Operator 领导选举示例 Expand section "5.14.1. Operator 领导选举示例" Collapse section "5.14.1. Operator 领导选举示例" 5.14.1.1. leader-for-life 选举机制 5.14.1.2. Leader-with-lease 选举机制 5.15. 基于 Go 的 Operator 的对象修剪工具 Expand section "5.15. 基于 Go 的 Operator 的对象修剪工具" Collapse section "5.15. 基于 Go 的 Operator 的对象修剪工具" 5.15.1. 关于 operator-lib 修剪工具 5.15.2. 修剪工具配置 5.16. 将软件包清单项目迁移到捆绑包格式 Expand section "5.16. 将软件包清单项目迁移到捆绑包格式" Collapse section "5.16. 将软件包清单项目迁移到捆绑包格式" 5.16.1. 关于打包格式迁移 5.16.2. 迁移软件包清单项目到捆绑包格式 5.17. Operator SDK CLI 参考 Expand section "5.17. Operator SDK CLI 参考" Collapse section "5.17. Operator SDK CLI 参考" 5.17.1. bundle Expand section "5.17.1. bundle" Collapse section "5.17.1. bundle" 5.17.1.1. validate 5.17.2. cleanup 5.17.3. completion 5.17.4. create Expand section "5.17.4. create" Collapse section "5.17.4. create" 5.17.4.1. api 5.17.5. generate Expand section "5.17.5. generate" Collapse section "5.17.5. generate" 5.17.5.1. bundle 5.17.5.2. kustomize Expand section "5.17.5.2. kustomize" Collapse section "5.17.5.2. kustomize" 5.17.5.2.1. 清单 5.17.6. init 5.17.7. run Expand section "5.17.7. run" Collapse section "5.17.7. run" 5.17.7.1. bundle 5.17.7.2. bundle-upgrade 5.17.8. scorecard 6. 集群 Operator 参考 Expand section "6. 集群 Operator 参考" Collapse section "6. 集群 Operator 参考" 6.1. Cluster Baremetal Operator 6.2. 裸机事件中继 6.3. Cloud Credential Operator 6.4. Cluster Authentication Operator 6.5. Cluster Autoscaler Operator 6.6. Cluster Cloud Controller Manager Operator 6.7. Cluster CAPI Operator 6.8. Cluster Config Operator 6.9. Cluster CSI Snapshot Controller Operator 6.10. Cluster Image Registry Operator 6.11. Cluster Machine Approver Operator 6.12. Cluster Monitoring Operator 6.13. Cluster Network Operator 6.14. Cluster Samples Operator 6.15. Cluster Storage Operator 6.16. Cluster Version Operator 6.17. Console Operator 6.18. Control Plane Machine Set Operator 6.19. DNS Operator 6.20. etcd 集群 Operator 6.21. Ingress Operator 6.22. Insights Operator 6.23. Kubernetes API Server Operator 6.24. Kubernetes Controller Manager Operator 6.25. Kubernetes Scheduler Operator 6.26. Kubernetes Storage Version Migrator Operator 6.27. Machine API Operator 6.28. Machine Config Operator 6.29. Marketplace Operator 6.30. Node Tuning Operator 6.31. OpenShift API Server Operator 6.32. OpenShift Controller Manager Operator 6.33. Operator Lifecycle Manager Operators 6.34. OpenShift Service CA Operator 6.35. vSphere 问题检测器(vSphere Problem Detector) Operator 法律通告 Settings Close Language: 简体中文 한국어 日本語 English Français Language: 简体中文 한국어 日本語 English Français Format: Multi-page Single-page Format: Multi-page Single-page Language and Page Formatting Options Language: 简体中文 한국어 日本語 English Français Language: 简体中文 한국어 日本語 English Français Format: Multi-page Single-page Format: Multi-page Single-page 1.2. 对于管理员 作为集群管理员,您可以执行以下 Operator 任务: 管理自定义目录 允许非集群管理员安装 Operator 从 OperatorHub 安装 Operator 查看 Operator 状态。 管理 Operator 条件 升级安装的 Operator 删除安装的 Operator 配置代理支持 在受限网络中使用 Operator Lifecycle Manager 要了解红帽提供的所有集群 Operator,请参阅 Cluster Operator 参考。 Previous Next