Skip to navigation Skip to main content

Utilities

  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
Red Hat Customer Portal
  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
  • Products & Services

    Products

    Support

    • Production Support
    • Development Support
    • Product Life Cycles

    Services

    • Consulting
    • Technical Account Management
    • Training & Certifications

    Documentation

    • Red Hat Enterprise Linux
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenStack Platform
    • Red Hat OpenShift Container Platform
    All Documentation

    Ecosystem Catalog

    • Red Hat Partner Ecosystem
    • Partner Resources
  • Tools

    Tools

    • Troubleshoot a product issue
    • Packages
    • Errata

    Customer Portal Labs

    • Configuration
    • Deployment
    • Security
    • Troubleshoot
    All labs

    Red Hat Insights

    Increase visibility into IT operations to detect and resolve technical issues before they impact your business.

    Learn More
    Go to Insights
  • Security

    Red Hat Product Security Center

    Engage with our Red Hat Product Security team, access security updates, and ensure your environments are not exposed to any known security vulnerabilities.

    Product Security Center

    Security Updates

    • Security Advisories
    • Red Hat CVE Database
    • Security Labs

    Keep your systems secure with Red Hat's specialized responses to security vulnerabilities.

    View Responses

    Resources

    • Security Blog
    • Security Measurement
    • Severity Ratings
    • Backporting Policies
    • Product Signing (GPG) Keys
  • Community

    Customer Portal Community

    • Discussions
    • Private Groups
    Community Activity

    Customer Events

    • Red Hat Convergence
    • Red Hat Summit

    Stories

    • Red Hat Subscription Value
    • You Asked. We Acted.
    • Open Source Communities
Or troubleshoot an issue.

Select Your Language

  • English
  • 한국어
  • 日本語
  • 中文 (中国)

Infrastructure and Management

  • Red Hat Enterprise Linux
  • Red Hat Satellite
  • Red Hat Subscription Management
  • Red Hat Insights
  • Red Hat Ansible Automation Platform

Cloud Computing

  • Red Hat OpenShift
  • Red Hat OpenStack Platform
  • Red Hat OpenShift Container Platform
  • Red Hat OpenShift Data Science
  • Red Hat OpenShift Dedicated
  • Red Hat Advanced Cluster Security for Kubernetes
  • Red Hat Advanced Cluster Management for Kubernetes
  • Red Hat Quay
  • OpenShift Dev Spaces
  • Red Hat OpenShift Service on AWS

Storage

  • Red Hat Gluster Storage
  • Red Hat Hyperconverged Infrastructure
  • Red Hat Ceph Storage
  • Red Hat OpenShift Data Foundation

Runtimes

  • Red Hat Runtimes
  • Red Hat JBoss Enterprise Application Platform
  • Red Hat Data Grid
  • Red Hat JBoss Web Server
  • Red Hat Single Sign On
  • Red Hat support for Spring Boot
  • Red Hat build of Node.js
  • Red Hat build of Quarkus

Integration and Automation

  • Red Hat Application Foundations
  • Red Hat Fuse
  • Red Hat AMQ
  • Red Hat 3scale API Management
All Products

Table of contents

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

1.2. 对于管理员

作为集群管理员,您可以执行以下 Operator 任务:

  • 管理自定义目录
  • 允许非集群管理员安装 Operator
  • 从 OperatorHub 安装 Operator
  • 查看 Operator 状态。
  • 管理 Operator 条件
  • 升级安装的 Operator
  • 删除安装的 Operator
  • 配置代理支持
  • 在受限网络中使用 Operator Lifecycle Manager

要了解红帽提供的所有集群 Operator,请参阅 Cluster Operator 参考。

  1. Previous
  2. Next
Red Hat

Quick Links

  • Downloads
  • Subscriptions
  • Support Cases
  • Customer Service
  • Product Documentation

Help

  • Contact Us
  • Customer Portal FAQ
  • Log-in Assistance

Site Info

  • Trust Red Hat
  • Browser Support Policy
  • Accessibility
  • Awards and Recognition
  • Colophon

Related Sites

  • redhat.com
  • developers.redhat.com
  • connect.redhat.com
  • cloud.redhat.com

About

  • Red Hat Subscription Value
  • About Red Hat
  • Red Hat Jobs
Copyright © 2023 Red Hat, Inc.
  • Privacy Statement
  • Terms of Use
  • All Policies and Guidelines
We've updated our Privacy Policy effective July 1st, 2023.
Red Hat Summit Red Hat Summit
Twitter