This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.4.5.2. 本地测试 Kubernetes Collection
operator 开发人员可以从其本地机器运行 Ansible 代码,而不是每次运行和重建 Operator。
先决条件
- 初始化基于 Ansible 的 Operator 项目,并使用 Operator SDK 创建具有生成 Ansible 角色的 API
- 安装 Kubernetes Collection for Ansible
流程
在基于 Ansible 的 Operator 项目目录中,使用您想要的 Ansible 逻辑来修改
roles/<kind> /tasks/main.yml
文件。在创建 API 时,当使用--generate-role
标志时,会创建roles/<kind> /
目录。<kind>
可替换与您为 API 指定的类型匹配。以下示例根据名为
state
的变量值创建并删除配置映射:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修改
roles/<kind> /defaults/main.yml
文件,将默认state
设置为present
:--- state: present
--- state: present
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过在项目目录的顶层创建一个
playbook.yml
文件来创建一个 Ansible playbook,其中包含您的<kind>
角色:--- - hosts: localhost roles: - <kind>
--- - hosts: localhost roles: - <kind>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 playbook:
ansible-playbook playbook.yml
$ ansible-playbook playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证配置映射是否已创建:
oc get configmaps
$ oc get configmaps
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME DATA AGE example-config 0 2m1s
NAME DATA AGE example-config 0 2m1s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新运行 playbook,设置
state
为absent
:ansible-playbook playbook.yml --extra-vars state=absent
$ ansible-playbook playbook.yml --extra-vars state=absent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证配置映射是否已删除:
oc get configmaps
$ oc get configmaps
Copy to Clipboard Copied! Toggle word wrap Toggle overflow