做响应式网站设计图是多大的,东营招聘信息网官网,wordpress优秀模板,北京做网站源代码的使用 Ansible 配置 Azure 资源的动态清单 简介1.安装pipx2.通过 pipx 安装 Ansible3.安装azure.azcollection4.安装集合所需的依赖项5.生成动态库存 简介
在主机变化不定的云环境中#xff0c;Ansible 的动态清单功能可以消除维护静态清单文件的负担
本教程将带你使用 Azure… 使用 Ansible 配置 Azure 资源的动态清单 简介1.安装pipx2.通过 pipx 安装 Ansible3.安装azure.azcollection4.安装集合所需的依赖项5.生成动态库存 简介
在主机变化不定的云环境中Ansible 的动态清单功能可以消除维护静态清单文件的负担
本教程将带你使用 Azure 的 dynamic-inventory 插件自动填充 Ansible 清单。 1.安装pipx
从 Ubuntu 23.04 开始系统默认禁止在全局环境中使用 pip install以避免与系统自带的 APT 包管理器如 python3-* 包产生冲突 所以因为我的是ubuntu版本为24 LTS 必须要用pipx来安装ansible而不能直接使用apt安装这样后面才能安装依赖不报错。 参考文档pipx–installation sudo apt update
sudo apt install pipx
pipx ensurepath2.通过 pipx 安装 Ansible
pipx install --include-deps ansible10参数--include-deps 在使用 pipx 安装 Ansible 时如果未指定 --include-deps 参数pipx 只会安装主包而不会安装其依赖项包括ansible-core 他的输出会是这样 installed package ansible 9.13.0, installed using Python 3.12.3These apps are now globally available- ansible- ansible-community- ansible-config- ansible-connection- ansible-console- ansible-doc- ansible-galaxy- ansible-inventory- ansible-playbook- ansible-pull- ansible-test- ansible-vault
done! ✨ ✨这里有个大坑从 Ansible 10 开始Ansible 官方做了一个大重构不再提供 ansible 命令入口点转而用 ansible-community 这个命令来代表 Ansible CLI 主入口。ansible 和 ansible-playbook 等命令被移除取而代之的是通过 ansible-community 调用相应的插件。所以以前直接ansible是会报错的这里降级安装 小于10的版本
装完之后需要重新打开一个bash终端然后才能ansible --version
ansible [core 2.16.14]config file Noneconfigured module search path [/home/azureuser/.ansible/plugins/modules, /usr/share/ansible/plugins/modules]ansible python module location /home/azureuser/.local/share/pipx/venvs/ansible/lib/python3.12/site-packages/ansibleansible collection location /home/azureuser/.ansible/collections:/usr/share/ansible/collectionsexecutable location /home/azureuser/.local/bin/ansiblepython version 3.12.3 (main, Feb 4 2025, 14:48:35) [GCC 13.3.0] (/home/azureuser/.local/share/pipx/venvs/ansible/bin/python)jinja version 3.1.6libyaml True如果显示出来版本证明你成功了可以进入下一步
3.安装azure.azcollection
此集合提供了一系列用于与 Azure 交互的 Ansible 模块和插件 参考文档Ansible collection for Azure ansible-galaxy collection install azure.azcollection --force输出这样就是成功了
Starting galaxy collection install process
Process install dependency map
Starting collection install process
Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/azure-azcollection-3.3.1.tar.gz to /home/azureuser/.ansible/tmp/ansible-local-2726e_5yr3jc/tmp8eixr_93/azure-azcollection-3.3.1-52eb6zq_
Installing azure.azcollection:3.3.1 to /home/azureuser/.ansible/collections/ansible_collections/azure/azcollection
azure.azcollection:3.3.1 was installed successfully4.安装集合所需的依赖项
pipx runpip ansible install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements.txt5.生成动态库存
Ansible 提供了 Azure 动态库存插件这里使用环境变量作为凭证其他配置方法请阅读参考文档 参考文档azure.azcollection.azure_rm inventory – Azure 资源管理器库存插件 创建 myazure_rm.yml 文件配置示例如下
plugin: azure.azcollection.azure_rm
include_vm_resource_groups:- ansible-inventory-test-rg
auth_source: auto在Azure的Entra ID注册一个应用使其成为一个服务主体分配其权限然后复制subscription_id、client_id、secret 和 tenant id然后使其export为环境变量 参考文档快速入门为 Ansible 创建 Azure 服务主体 export AZURE_SUBSCRIPTION_IDyour_subscription_id
export AZURE_CLIENT_IDyour_client_id
export AZURE_CLIENT_SECRETyour_client_secret
export AZURE_TENANT_IDyour_tenant_id运行命令查看资源组内的虚拟机
ansible-inventory -i myazure_rm.yml --graph运行结果示例
all:|--ungrouped:| |--linux-vm_cdb4| |--win-vm_3211这里两个虚拟机都属于 ungrouped 组ungrouped 是 all 组的子组。 Azure 动态库存插件默认返回全局唯一的虚拟机名称名称中会带有额外字符。如果想禁用此行为可以在清单文件里添加
plain_host_names: yes