7.6. 使用 playbook

本文档中描述了一些,但不是所有 playbook。在这里,用于从云部署上的 Ansible 检索信息或检查信息的用户已描述。这些 playbook 不修改部署。

gcp_aap_health_check

此 playbook 检查 Ansible 应用是否健康。

$ docker run --rm $IMAGE command_generator_vars gcp_aap_health_check

生成以下输出:

===============================================
Playbook: gcp_aap_health_check
Description: This playbook checks if the deployment is healthy using the Ansible health service.
-----------------------------------------------
The health check consists of checking the Ansible Automation Platform from GCP Marketplace environemnt to verify it is healthy.

-----------------------------------------------
Command generator template:

docker run --rm $IMAGE command_generator gcp_aap_health_check [--ansible-config ansible_config_path>] -d <deployment_name> -c <cloud_credentials_path> --extra-vars 'gcp_compute_region=<gcp_compute_region> gcp_compute_zone=<gcp_compute_zone>'
===============================================

通过替换参数启动这个命令会生成新命令来启动和输出:

...
PLAY RECAP *********************************************************************
localhost                  : ok=29   changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

故障 不等于零表示在云部署上 Ansible 存在问题。

gcp_add_labels

此 playbook 为部署添加标签。

$ docker run --rm $IMAGE command_generator_vars gcp_add_labels

生成以下输出:

===============================================
Playbook: gcp_add_labels
Description: This playbook adds labels to the deployment.
-----------------------------------------------
Add labels to the Ansible Automation Platform from GCP Marketplace deployment.

-----------------------------------------------
Command generator template:

docker run --rm $IMAGE command_generator gcp_add_labels -d <deployment_name> -c <cloud_credentials_path> --extra-vars 'gcp_compute_region=<gcp_compute_region> gcp_compute_zone=<gcp_compute_zone> gcp_labels=<gcp_labels>'
===============================================

参数 gcp_labels 是以逗号分隔的 key=value 对列表,用于添加或更新。例如: key1=value1,key2=value2

通过替换参数启动这个命令会生成新命令来启动和输出:

...
PLAY RECAP *********************************************************************
localhost                  : ok=22   changed=2    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0

gcp_remove_labels

此 playbook 从部署中删除标签。

$ docker run --rm $IMAGE command_generator_vars gcp_remove_labels

生成以下输出:

===============================================
Playbook: gcp_remove_labels
Description: This playbook removes labels from the deployment.
-----------------------------------------------
Remove labels from the Ansible Automation Platform from GCP Marketplace deployment.

-----------------------------------------------
Command generator template:

docker run --rm $IMAGE command_generator gcp_remove_labels -d <deployment_name> -c <cloud_credentials_path> --extra-vars 'gcp_compute_region=<gcp_compute_region> gcp_compute_zone=<gcp_compute_zone> gcp_labels=<gcp_labels>'
===============================================

参数 gcp_labels 是以逗号分隔的键列表。例如: key1,key2

通过替换参数启动这个命令会生成新命令来启动和输出:

...
PLAY RECAP *********************************************************************
localhost                  : ok=22   changed=2    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0

gcp_check_aoc_version

此 playbook 检查云版本的 Ansible 是否与命令生成器容器相同。每次调用 playbook 时都会进行检查。

$ docker run --rm $IMAGE command_generator_vars gcp_check_aoc_version

生成以下输出:

===============================================
Playbook: gcp_check_aoc_version
Description: Check the operational container version matches the Ansible on Clouds version.
-----------------------------------------------
Check the operational container version matches the Ansible on Clouds version.

-----------------------------------------------
Command generator template:

docker run --rm $IMAGE command_generator gcp_check_aoc_version [--ansible-config ansible_config_path>] -c <cloud_credentials_path> -d <deployment_name>
===============================================

通过替换参数启动这个命令会生成新命令来启动和输出:

...
TASK [redhat.ansible_on_clouds.standalone_check_aoc_version : Verify operational playbook and Ansible on Clouds deployment versions] ***
ok: [localhost] => {
    "changed": false,
    "msg": "This operation playbook version and the Ansible on Clouds deployment version are identical: 2.4.20230606-00"
}

PLAY RECAP *********************************************************************
localhost                  : ok=8    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

失败 为零表示 Clouds 部署版本的 Ansible 与 command_generator 容器不匹配,而命令生成器需要不同的版本来管理该部署。

gcp_get_aoc_version

此 playbook 在云部署中检索 Ansible 的版本。

$ docker run --rm $IMAGE command_generator_vars gcp_get_aoc_version

生成以下输出:

===============================================
Playbook: gcp_get_aoc_version
Description: Get the current Ansible on Clouds version.
-----------------------------------------------
Get the current Ansible on Clouds version.

-----------------------------------------------
Command generator template:

docker run --rm $IMAGE command_generator gcp_get_aoc_version [--ansible-config ansible_config_path>] -c <cloud_credentials_path> -d <deployment_name>
===============================================

通过替换参数启动这个命令会生成新命令来启动和输出:

...
TASK [Print version] ***********************************************************
ok: [localhost] => {
    "msg": "The AOC version is 2.4.20230606-00"
}

PLAY RECAP *********************************************************************
localhost                  : ok=5    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

gcp_health_check

此 playbook 检查节点和 Ansible 应用是否健康。

$ docker run --rm $IMAGE command_generator_vars gcp_health_check

生成以下输出:

===============================================
Playbook: gcp_health_check
Description: This playbook checks if the Ansible Automation Platform from GCP Marketplace deployment is healthy.
-----------------------------------------------
The health check consists of checking the Ansible Automation Platform from GCP Marketplace heatlh checks
and the health of the monitoring exporter.

-----------------------------------------------
Command generator template:

docker run --rm $IMAGE command_generator gcp_health_check [--ansible-config ansible_config_path>] -c <cloud_credentials_path> -d <deployment_name> --extra-vars 'gcp_compute_region=<gcp_compute_region> gcp_compute_zone=<gcp_compute_zone>'
===============================================

通过替换参数启动此命令将生成新命令以启动并将输出:

...
PLAY RECAP *********************************************************************
localhost                  : ok=47   changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

故障 不等于零表示节点或云部署上的 Ansible 存在问题。

gcp_list_deployments

此 playbook 列出部署,地区和区域是可选的。

$ docker run --rm $IMAGE command_generator_vars gcp_list_deployments

生成以下输出:

===============================================
Playbook: gcp_list_deployments
Description: This playbook generates a list of available Ansible Automation Platform from GCP Marketplace deployments.
-----------------------------------------------
This playbook is used to generate a list of available Ansible Automation Platform from GCP Marketplace deployments.

-----------------------------------------------
Command generator template:

docker run --rm $IMAGE command_generator gcp_list_deployments -c <cloud_credentials_path> --extra-vars '[gcp_compute_region=<gcp_compute_region>] [gcp_compute_zone=<gcp_compute_zone>]'
===============================================

通过替换参数启动这个命令会生成新命令来启动和输出:

...
TASK [Show deployment list] ****************************************************
ok: [localhost] => {
    "msg": [
        "Deployment list: ['dep1', 'dep2', 'dep3']"
    ]
}

PLAY RECAP *********************************************************************
localhost                  : ok=7    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

gcp_nodes_health_check

此 playbook 检查节点是否健康。

$ docker run --rm $IMAGE command_generator_vars gcp_nodes_health_check

生成以下输出:

===============================================
Playbook: gcp_nodes_health_check
Description: This role runs a health check on a group of nodes in the Ansible Automation Platform from GCP Marketplace deployment
-----------------------------------------------
The playbook checks if the Ansible Automation Platform from GCP Marketplace monitoring exporter is up and running.

-----------------------------------------------
Command generator template:

docker run --rm $IMAGE command_generator gcp_nodes_health_check [--ansible-config ansible_config_path>] -d <deployment_name> -c <cloud_credentials_path> --extra-vars 'check_monitoring=True'
===============================================

通过替换参数启动这个命令会生成新命令来启动和输出:

...
PLAY RECAP *********************************************************************
localhost                  : ok=47   changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

故障 不等于零表示部署中的节点存在问题。