IBM Cloud Docs
Ansible

Ansible

有关 IBM Cloud Schematics 操作的常见问题的答案分为以下部分。

支持将经典 VSI 用于操作吗?

操作不支持经典 VSI 环境。 仅 IBM Cloud VPC VSI 已经过测试并且受操作支持。

建议将哪些网络配置用于操作?

作为用户,您负责确保适当的网络策略和防御主机配置适用于云环境,以允许 Schematics 通过 SSH 连接到您的环境。 请参阅 Schematics 防火墙,允许的 IP,以获取 IP 地址 Schematics 使用的详细信息,并且必须允许访问。 使用防御主机时,将使用 SSH 转发来连接到目标 VSI。 要验证是否访问命令 ssh -J bastion-ip vsi-ip

示例 as-is IBM Cloud® 具有防御主机的 VPC 配置在 Cloud-Schematics 存储库中提供。 遵循教程 发现应用程序部署的最佳实践 VPC 配置,以获取有关创建适当网络配置的指导信息。

为何使用静态库存文件进行 SSH 连接失败?

没有公共 IP 地址的专用网络上的 VSI 不支持使用短格式主机名来定义目标主机。 连接失败,消息为 Could not resolve hostname。 查看 操作文档 以了解受支持的配置。

ansible-playbook run | fatal: [worker-0]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host through ssh: ssh: Could not resolve hostname toraz3-worker-0001: Name or service not known", "unreachable": true}
2023/08/24 12:15:47 ansible-playbook run | fatal: [grid-man-0]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host through ssh: ssh: Could not resolve hostname toraz3-grid-man-01: Name or service not known", "unreachable": true}

为什么我的操作作业显示 DEPRECATION WARNING 消息?

在操作设置页面中,需要将输入变量设置为 ansible_python_interpreter = auto,如截屏中所示,以避免出现 DEPRECATION WARNING 消息。

配置输入变量以静默警告消息
配置输入变量以静默警告消息

如何解决在使用 Schematics 操作供应 WinRM 时可能不会运行操作错误的问题?

Error: 2021/12/06 10:15:49 Terraform apply | Error: Error running command 'ANSIBLE_FORCE_COLOR=true ansible-playbook ansible.yml --inventory-file='inventory.yml' --extra-vars='{"ansible_connection":"winrm","ansible_password":"password","ansible_user":"administrator","ansible_winrm_server_cert_validation":"ignore"}' --forks=15 --user='root' --ssh-extra-args='-p 22 -o ConnectTimeout=120 -o ConnectionAttempts=3 -o StrictHostKeyChecking=no'': exit status 2. Output:
 2021/12/06 10:15:49 Terraform apply | PLAY [Please wait and have a coffee! The show is about to begin....] ***********
 2021/12/06 10:15:49 Terraform apply |
 2021/12/06 10:15:49 Terraform apply | TASK [Gathering Facts] *********************************************************
 2021/12/06 10:15:49 Terraform apply | fatal: [161.156.161.7]: FAILED! => {"msg": "winrm or requests is not installed: No module named 'winrm'"}
 2021/12/06 10:15:49 Terraform apply |
 2021/12/06 10:15:49 Terraform apply | PLAY RECAP *********************************************************************
 2021/12/06 10:15:49 Terraform apply | 161.156.161.7              : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0
 2021/12/06 10:15:49 Terraform apply |
 2021/12/06 10:15:49 Terraform apply |
 2021/12/06 10:15:49 Terraform apply |
 2021/12/06 10:15:49 Terraform apply |   with null_resource.schematics_for_windows,
 2021/12/06 10:15:49 Terraform apply |   on schematics.tf line 2, in resource "null_resource" "schematics_for_windows":
 2021/12/06 10:15:49 Terraform apply |    2:   provisioner "ansible" {
 2021/12/06 10:15:49 Terraform apply |
 2021/12/06 10:15:50 Terraform APPLY error: Terraform APPLY errorexit status 1
 2021/12/06 10:15:50 Could not execute action

WinRM 不受 Schematics Terraform Ansible 配置程序支持。 或者,可以使用 Schematics 操作来运行带有 WinRM的 Ansible 运行手册。 Schematics 操作支持 WinRM

何时将新的 Terraform 和 Ansible 版本添加到 Schematics?

在社区发布新的 Terraform 和 Ansible 版本后,IBM 团队开始固化并测试 Schematics的发行版。 新版本可用性取决于这些测试的结果、社区更新、安全补丁以及版本之间的技术变更。 确保 Terraform 模板和 Ansible 运行手册与其中一个受支持的版本兼容,以便您可以在 Schematics中运行这些模板。 有关更多信息,请参阅 升级 Terraform 模板版本Schematics 运行时工具

能否使用 Schematics运行 Ansible 运行手册?

可以,可以使用 Schematics 操作或 Terraform 配置文件中的 Ansible 配置程序对 IBM Cloud 运行 Ansible 运行手册。 例如,使用 Ansible Provisioner在云资源上部署软件,或针对您的资源设置操作,例如关闭虚拟服务器实例。 更多信息,请参阅 Schematics 操作的 Ansible 样本操作手册模板