5.4.4.2. watches.yaml 文件
group/version/kind (GVK) 是 Kubernetes API 的唯一标识符。watches.yaml
文件包含从自定义资源(CR)中标识的自定义资源(CR)到 Ansible 角色或 playbook 的映射列表。Operator 期望这个映射文件位于 /opt/ansible/watches.yaml
的预定义位置。
表 5.3. watches.yaml
文件映射
字段 | 描述 |
---|---|
| 要监视的 CR 组。 |
| 要监视的 CR 版本。 |
| 要监视的 CR 类型 |
|
添加至容器中的 Ansible 角色的路径。例如:如果您的 |
|
添加至容器中的 Ansible playbook 的路径。期望这个 playbook 作为一种调用角色的方法。该字段与 |
| 给定 CR 的协调间隔,角色或 playbook 运行的频率。 |
|
如果设置为 |
watches.yaml
文件示例
- version: v1alpha1 1 group: test1.example.com kind: Test1 role: /opt/ansible/roles/Test1 - version: v1alpha1 2 group: test2.example.com kind: Test2 playbook: /opt/ansible/playbook.yml - version: v1alpha1 3 group: test3.example.com kind: Test3 playbook: /opt/ansible/test3.yml reconcilePeriod: 0 manageStatus: false
5.4.4.2.1. 高级选项
高级功能可通过添加至每个 GVK 的 watches.yaml
文件中来启用。它们可放在 group
、version
、kind
和 playbook
或 role
字段下方。
可使用 CR 上的注解覆盖每个资源的一些功能。可覆盖的选项会指定以下注解。
表 5.4. 高级的 watches.yaml 文件选项
功能 | YAML 密钥 | 描述 | 覆盖注解 | 默认值 |
---|---|---|---|---|
协调周期 |
| 特定 CR 的协调运行间隔时间。 |
|
|
管理状态 |
|
允许 Operator 管理每个 CR |
| |
监视依赖资源 |
| 支持 Operator 动态监视由 Ansible 创建的资源。 |
| |
监控集群范围内的资源 |
| 支持 Operator 监视由 Ansible 创建的集群范围的资源。 |
| |
最大运行程序工件 |
| 管理 Ansible Runner 在 Operator 容器中为每个单独资源保存的构件目录的数量。 |
|
|
带有高级选项的 watches.yml 文件示例
- version: v1alpha1 group: app.example.com kind: AppService playbook: /opt/ansible/playbook.yml maxRunnerArtifacts: 30 reconcilePeriod: 5s manageStatus: False watchDependentResources: False