Rockylinux 部署 ansible
- Rockylinux基础配置
# Ubuntu
sudo apt update
sudo apt install ansible -y
# CentOS
sudo yum install epel-release -y
sudo yum install ansible -y
- 确认ansible版本
ansible --version
- 安装
pywinrm
Python包
- ansible使用
pywinrm
模块与Windows主机通信,因此需要在控制节点上安装该模块
pip install pywinrm
配置Windows受控节点
- 启用Windows Powershell 远程管理(WinRM)
- 打开 PowerShell(以管理员身份运行),并执行以下命令来配置 WinRM:
# 启用 WinRM
Enable-PSRemoting -Force
# 允许未加密的通信(仅在可信网络内使用)
Set-Item -Path WSMan:localhostServiceAllowUnencrypted -Value $true
# 设置 WinRM 服务为自动启动
Set-Service -Name WinRM -StartupType Automatic
# 配置基本身份验证
Set-Item -Path WSMan:localhostServiceAuthBasic -Value $true
# 配置防火墙
New-NetFirewallRule -Name "Ansible WinRM" -DisplayName "Ansible WinRM" -Protocol TCP -LocalPort 5985 -Action Allow
- 配置 WinRM 监听器
- 确保 WinRM 服务正在监听 HTTP (5985) 和/或 HTTPS (5986) 端口:
winrm quickconfig
配置Ansible主机清单inventory.ini
inventory.ini
文件用于定义 Ansible 的主机清单,它列出了所有要管理的主机及其相关信息。这个文件可以指定每个主机的 IP 地址、SSH 用户名、密码、连接类型等。通过这个文件,Ansible 知道如何连接到不同的主机并执行任务。
在 inventory.ini
中,你可以按照主机组进行组织,方便批量操作。例如,可以将 Windows 主机和 Linux 主机分别放在不同的组中。这样,在执行任务时,只需指定组名即可。
inventory.ini
和 /etc/ansible/hosts
都是 Ansible 的主机清单文件,但它们的用途和位置有所不同:
位置和命名:/etc/ansible/hosts
是 Ansible 默认的主机清单文件位置,文件名固定。inventory.ini
是一个用户自定义的文件名,可以放在任何位置,只要在运行 Ansible 时指定路径即可。
使用场景:/etc/ansible/hosts
通常用于简单的清单,适合小型环境或测试。inventory.ini
则更灵活,适合大规模或复杂环境,可以根据需要创建多个清单文件,便于管理和组织不同的主机组。
- 创建
inventory.ini
并更新Windows主机信息
# 创建 inventory.ini
touch inventory.ini
# 输入Windows主机信息
vim inventory.ini
---
[windows]
winsrv ansible_host=ip ansible_user='user' ansible_password='password'
[windows:vars]
ansible_port=5985
ansible_connection=winrm
ansible_winrm_transport=basic
测试链接
- 执行简单的Ansible命令,测试与Windows主机的连接
ansible -i inventory.ini windows -m win_ping
此文章为原创文章,作者:胖哥叨逼叨,如若转载,请与我联系并注明出处:https://www.pangshare.com/3111.htm