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. 常见 Operator Framework 术语 Expand section "2.2.1. 常见 Operator Framework 术语" Collapse section "2.2.1. 常见 Operator Framework 术语" 2.2.1.1. 捆绑包(Bundle) 2.2.1.2. 捆绑包镜像 2.2.1.3. 目录源 2.2.1.4. 目录镜像 2.2.1.5. 频道 2.2.1.6. 频道头 2.2.1.7. 集群服务版本 2.2.1.8. 依赖项 2.2.1.9. 索引镜像 2.2.1.10. 安装计划 2.2.1.11. operator 组 2.2.1.12. 软件包 2.2.1.13. 容器镜像仓库(Registry) 2.2.1.14. Subscription 2.2.1.15. 更新图表 2.3. Operator Framework 打包格式 Expand section "2.3. Operator Framework 打包格式" Collapse section "2.3. Operator Framework 打包格式" 2.3.1. Bundle Format Expand section "2.3.1. Bundle Format" Collapse section "2.3.1. Bundle Format" 2.3.1.1. 清单 2.3.1.2. 注解 2.3.1.3. 依赖项文件 2.3.1.4. 关于 opm 2.3.2. Package Manifest Format 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. 目录源 2.4.1.2.3. 订阅 2.4.1.2.4. 安装计划 2.4.1.2.5. 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. 依赖项文件 2.4.4.3. 依赖项首选项 Expand section "2.4.4.3. 依赖项首选项" Collapse section "2.4.4.3. 依赖项首选项" 2.4.4.3.1. 目录优先级 2.4.4.3.2. 频道排序 2.4.4.3.3. 频道中的顺序 2.4.4.3.4. 其他限制 Expand section "2.4.4.3.4. 其他限制" Collapse section "2.4.4.3.4. 其他限制" 2.4.4.3.4.1. 订阅约束 2.4.4.3.4.2. 软件包约束 2.4.4.4. CRD 升级 2.4.4.5. 依赖项最佳实践 2.4.4.6. 依赖项注意事项 2.4.4.7. 依赖项解析方案示例 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 管理的限制 Expand section "2.4.5.10. 多租户 Operator 管理的限制" Collapse section "2.4.5.10. 多租户 Operator 管理的限制" 2.4.5.10.1. 其它资源 2.4.5.11. 对 Operator 组进行故障排除 2.4.6. Operator Lifecycle Manager 指标数据 Expand section "2.4.6. Operator Lifecycle Manager 指标数据" Collapse section "2.4.6. Operator Lifecycle Manager 指标数据" 2.4.6.1. 公开的指标 2.4.7. Operator Lifecycle Manager 中的 Webhook 管理 Expand section "2.4.7. Operator Lifecycle Manager 中的 Webhook 管理" Collapse section "2.4.7. Operator Lifecycle Manager 中的 Webhook 管理" 2.4.7.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. CRD Expand section "2.7. CRD" Collapse section "2.7. CRD" 2.7.1. 使用自定义资源定义来扩展 Kubernetes API Expand section "2.7.1. 使用自定义资源定义来扩展 Kubernetes API" Collapse section "2.7.1. 使用自定义资源定义来扩展 Kubernetes API" 2.7.1.1. 自定义资源定义 2.7.1.2. 创建自定义资源定义 2.7.1.3. 为自定义资源定义创建集群角色 2.7.1.4. 通过文件创建自定义资源 2.7.1.5. 检查自定义资源 2.7.2. 管理自定义资源定义中的资源 Expand section "2.7.2. 管理自定义资源定义中的资源" Collapse section "2.7.2. 管理自定义资源定义中的资源" 2.7.2.1. 自定义资源定义 2.7.2.2. 通过文件创建自定义资源 2.7.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.2. 升级安装的 Operator Expand section "4.2. 升级安装的 Operator" Collapse section "4.2. 升级安装的 Operator" 4.2.1. 更改 Operator 的更新频道 4.2.2. 手动批准待处理的 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. 覆盖 Operator 的代理设置 4.4.2. 注入自定义 CA 证书 4.5. 查看 Operator 状态 Expand section "4.5. 查看 Operator 状态" Collapse section "4.5. 查看 Operator 状态" 4.5.1. operator 订阅状况类型 4.5.2. 使用 CLI 查看 Operator 订阅状态 4.5.3. 使用 CLI 查看 Operator 目录源状态 4.6. 允许非集群管理员安装 Operator Expand section "4.6. 允许非集群管理员安装 Operator" Collapse section "4.6. 允许非集群管理员安装 Operator" 4.6.1. 了解 Operator 安装策略 Expand section "4.6.1. 了解 Operator 安装策略" Collapse section "4.6.1. 了解 Operator 安装策略" 4.6.1.1. 安装场景 4.6.1.2. 安装工作流 4.6.2. 限定 Operator 安装范围 Expand section "4.6.2. 限定 Operator 安装范围" Collapse section "4.6.2. 限定 Operator 安装范围" 4.6.2.1. 细粒度权限 4.6.3. 故障排除权限失败 4.7. 管理自定义目录 Expand section "4.7. 管理自定义目录" Collapse section "4.7. 管理自定义目录" 4.7.1. 使用捆绑格式(Bundle Format)的自定义目录 Expand section "4.7.1. 使用捆绑格式(Bundle Format)的自定义目录" Collapse section "4.7.1. 使用捆绑格式(Bundle Format)的自定义目录" 4.7.1.1. 先决条件 4.7.1.2. 创建索引镜像 4.7.1.3. 从索引镜像创建目录 4.7.1.4. 更新索引镜像 4.7.1.5. 修剪索引镜像 4.7.2. 使用 Package Manifest Format 的自定义目录 Expand section "4.7.2. 使用 Package Manifest Format 的自定义目录" Collapse section "4.7.2. 使用 Package Manifest Format 的自定义目录" 4.7.2.1. 构建软件包清单格式目录镜像 4.7.2.2. 对 Package Manifest Format 目录镜像进行镜像(mirror) 4.7.2.3. 更新软件包清单格式目录镜像 4.7.2.4. 测试软件包清单格式目录镜像 4.7.3. 禁用默认的 OperatorHub 源 4.7.4. 删除自定义目录 4.8. 在受限网络中使用 Operator Lifecycle Manager Expand section "4.8. 在受限网络中使用 Operator Lifecycle Manager" Collapse section "4.8. 在受限网络中使用 Operator Lifecycle Manager" 4.8.1. 先决条件 4.8.2. 禁用默认的 OperatorHub 源 4.8.3. 修剪索引镜像 4.8.4. 对 Operator 目录进行镜像(mirror) 4.8.5. 从索引镜像创建目录 4.8.6. 更新索引镜像 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. 通过 GitHub 发行版本安装 Operator SDK CLI 5.2.2. 通过 Homebrew 安装 Operator SDK CLI 5.2.3. 从源编译并安装 Operator SDK CLI 5.3. 创建基于 Go 的 Operator Expand section "5.3. 创建基于 Go 的 Operator" Collapse section "5.3. 创建基于 Go 的 Operator" 5.3.1. 使用 Operator SDK 创建基于 Go 的 Operator 5.3.2. 运行 Operator Expand section "5.3.2. 运行 Operator" Collapse section "5.3.2. 运行 Operator" 5.3.2.1. 在集群外本地运行 5.3.2.2. 作为部署运行 5.3.3. 创建自定义资源 5.3.4. 其他资源 5.4. 创建基于 Ansible 的 Operator Expand section "5.4. 创建基于 Ansible 的 Operator" Collapse section "5.4. 创建基于 Ansible 的 Operator" 5.4.1. Operator SDK 中的 Ansible 支持 Expand section "5.4.1. Operator SDK 中的 Ansible 支持" Collapse section "5.4.1. Operator SDK 中的 Ansible 支持" 5.4.1.1. 自定义资源文件 5.4.1.2. watches.yaml file Expand section "5.4.1.2. watches.yaml file" Collapse section "5.4.1.2. watches.yaml file" 5.4.1.2.1. 高级选项 5.4.1.3. 发送至 Ansible 的额外变量 5.4.1.4. Ansible Runner 目录 5.4.2. 使用 Operator SDK 来构建基于 Ansible 的 Operator 5.4.3. 使用 k8s Ansible 模块来管理应用程序生命周期 Expand section "5.4.3. 使用 k8s Ansible 模块来管理应用程序生命周期" Collapse section "5.4.3. 使用 k8s Ansible 模块来管理应用程序生命周期" 5.4.3.1. 安装 k8s Ansible 模块 5.4.3.2. 在本地测试 k8s Ansible 模块 5.4.3.3. 在 Operator 内测试 k8s Ansible 模块 Expand section "5.4.3.3. 在 Operator 内测试 k8s Ansible 模块" Collapse section "5.4.3.3. 在 Operator 内测试 k8s Ansible 模块" 5.4.3.3.1. 本地测试基于 Ansible 的 Operator 5.4.3.3.2. 在集群上测试基于 Ansible 的 Operator 5.4.4. 使用 operator_sdk.util Ansible 集合来管理自定义资源状态 5.4.5. 其他资源 5.5. 创建基于 Helm 的 Operator Expand section "5.5. 创建基于 Helm 的 Operator" Collapse section "5.5. 创建基于 Helm 的 Operator" 5.5.1. Operator SDK 中的 Helm Chart 支持 5.5.2. 使用 Operator SDK 来构建基于 Helm 的 Operator 5.5.3. 其他资源 5.6. 生成集群服务版本(CSV) Expand section "5.6. 生成集群服务版本(CSV)" Collapse section "5.6. 生成集群服务版本(CSV)" 5.6.1. CSV 生成的工作方式 5.6.2. CSV 组成配置 5.6.3. 手动定义的 CSV 字段 Expand section "5.6.3. 手动定义的 CSV 字段" Collapse section "5.6.3. 手动定义的 CSV 字段" 5.6.3.1. Operator 元数据注解 5.6.4. 生成 CSV 5.6.5. 为受限网络环境启用 Operator 5.6.6. 为多个架构和操作系统启用您的 Operator Expand section "5.6.6. 为多个架构和操作系统启用您的 Operator" Collapse section "5.6.6. 为多个架构和操作系统启用您的 Operator" 5.6.6.1. Operator 的架构和操作系统支持 5.6.7. 设置建议的命名空间 5.6.8. 定义 webhook Expand section "5.6.8. 定义 webhook" Collapse section "5.6.8. 定义 webhook" 5.6.8.1. 针对 OLM 的 Webhook 注意事项 5.6.9. 了解您的自定义资源定义(CRD) Expand section "5.6.9. 了解您的自定义资源定义(CRD)" Collapse section "5.6.9. 了解您的自定义资源定义(CRD)" 5.6.9.1. 拥有的 CRD 5.6.9.2. 必需的 CRD 5.6.9.3. CRD 升级 Expand section "5.6.9.3. CRD 升级" Collapse section "5.6.9.3. CRD 升级" 5.6.9.3.1. 添加新版 CRD 5.6.9.3.2. 弃用或删除 CRD 版本 5.6.9.4. CRD 模板 5.6.9.5. 隐藏内部对象 5.6.9.6. 初始化所需的自定义资源 5.6.10. 了解您的 API 服务 Expand section "5.6.10. 了解您的 API 服务" Collapse section "5.6.10. 了解您的 API 服务" 5.6.10.1. 拥有的 API 服务 Expand section "5.6.10.1. 拥有的 API 服务" Collapse section "5.6.10.1. 拥有的 API 服务" 5.6.10.1.1. API 服务资源创建 5.6.10.1.2. API service serving 证书 5.6.10.2. 所需的 API 服务 5.7. 使用捆绑包镜像 Expand section "5.7. 使用捆绑包镜像" Collapse section "5.7. 使用捆绑包镜像" 5.7.1. 构建捆绑包镜像 5.7.2. 其它资源 5.8. 使用 scorecard 验证 Operator Expand section "5.8. 使用 scorecard 验证 Operator" Collapse section "5.8. 使用 scorecard 验证 Operator" 5.8.1. 关于 scorecard 工具 5.8.2. Scorecard 配置 Expand section "5.8.2. Scorecard 配置" Collapse section "5.8.2. Scorecard 配置" 5.8.2.1. 配置文件 5.8.2.2. 命令参数 5.8.2.3. 配置文件选项 Expand section "5.8.2.3. 配置文件选项" Collapse section "5.8.2.3. 配置文件选项" 5.8.2.3.1. 基本和 OLM 插件 5.8.3. 执行的测试 Expand section "5.8.3. 执行的测试" Collapse section "5.8.3. 执行的测试" 5.8.3.1. Basic 插件 5.8.3.2. OLM 插件 5.8.4. 在 scorecard 中运行 5.8.5. 使用 OLM 管理的 Operator 运行 scorecard 5.9. 使用 Prometheus 配置内置监控 Expand section "5.9. 使用 Prometheus 配置内置监控" Collapse section "5.9. 使用 Prometheus 配置内置监控" 5.9.1. Prometheus Operator 支持 5.9.2. 指标帮助函数 Expand section "5.9.2. 指标帮助函数" Collapse section "5.9.2. 指标帮助函数" 5.9.2.1. 修改指标端口 5.9.3. 服务监控器 Expand section "5.9.3. 服务监控器" Collapse section "5.9.3. 服务监控器" 5.9.3.1. 创建服务监控器 5.10. 配置领导选举机制 Expand section "5.10. 配置领导选举机制" Collapse section "5.10. 配置领导选举机制" 5.10.1. Operator 领导选举示例 Expand section "5.10.1. Operator 领导选举示例" Collapse section "5.10.1. Operator 领导选举示例" 5.10.1.1. leader-for-life 选举机制 5.10.1.2. Leader-with-lease 选举机制 5.11. Operator SDK CLI 参考 Expand section "5.11. Operator SDK CLI 参考" Collapse section "5.11. Operator SDK CLI 参考" 5.11.1. alpha Expand section "5.11.1. alpha" Collapse section "5.11.1. alpha" 5.11.1.1. scorecard 5.11.2. build 5.11.3. bundle Expand section "5.11.3. bundle" Collapse section "5.11.3. bundle" 5.11.3.1. validate 5.11.4. cleanup Expand section "5.11.4. cleanup" Collapse section "5.11.4. cleanup" 5.11.4.1. packagemanifests 5.11.5. completion 5.11.6. create Expand section "5.11.6. create" Collapse section "5.11.6. create" 5.11.6.1. api 5.11.6.2. webhook 5.11.7. generate Expand section "5.11.7. generate" Collapse section "5.11.7. generate" 5.11.7.1. bundle 5.11.7.2. kustomize Expand section "5.11.7.2. kustomize" Collapse section "5.11.7.2. kustomize" 5.11.7.2.1. 清单 5.11.7.3. packagemanifests 5.11.8. init 5.11.9. new 5.11.10. olm Expand section "5.11.10. olm" Collapse section "5.11.10. olm" 5.11.10.1. install 5.11.10.2. status 5.11.10.3. uninstall 5.11.11. run Expand section "5.11.11. run" Collapse section "5.11.11. run" 5.11.11.1. packagemanifests 5.12. 附录 Expand section "5.12. 附录" Collapse section "5.12. 附录" 5.12.1. Operator 项目构建布局 Expand section "5.12.1. Operator 项目构建布局" Collapse section "5.12.1. Operator 项目构建布局" 5.12.1.1. 基于 Ansible 的项目 5.12.1.2. 基于 Helm 的项目 6. 红帽 Operator Expand section "6. 红帽 Operator" Collapse section "6. 红帽 Operator" 6.1. Cloud Credential Operator 6.2. Cluster Authentication Operator 6.3. Cluster Autoscaler Operator 6.4. Cluster Image Registry Operator 6.5. Cluster Monitoring Operator 6.6. Cluster Network Operator 6.7. OpenShift Controller Manager Operator 6.8. Cluster Samples Operator 6.9. Cluster Storage Operator 6.10. Cluster Version Operator 6.11. Console Operator 6.12. DNS Operator 6.13. etcd 集群 Operator 6.14. Ingress Operator 6.15. Kubernetes API Server Operator 6.16. Kubernetes Controller Manager Operator 6.17. Kubernetes Scheduler Operator 6.18. Machine API Operator 6.19. Machine Config Operator 6.20. Marketplace Operator 6.21. Node Tuning Operator 6.22. Operator Lifecycle Manager Operators 6.23. OpenShift API Server Operator 6.24. Prometheus Operator 6.25. Windows Machine Config Operator Settings Close Language: 한국어 简体中文 日本語 English Language: 한국어 简体中文 日本語 English Format: Multi-page Single-page Format: Multi-page Single-page Language and Page Formatting Options Language: 한국어 简体中文 日本語 English Language: 한국어 简体中文 日本語 English Format: Multi-page Single-page Format: Multi-page Single-page 6.20. Marketplace Operator 用途 Marketplace Operator 是一个将非集群 Operator 放置到集群中的机制。 project operator-marketplace Previous Next