02 – Ansible及Windows基本配置

Rockylinux 部署 ansible

  1. Rockylinux基础配置
# Ubuntu
sudo apt update
sudo apt install ansible -y

# CentOS
sudo yum install epel-release -y
sudo yum install ansible -y
  1. 确认ansible版本
ansible --version
Pasted image 20241023165349
  1. 安装pywinrm Python包
  • ansible使用pywinrm 模块与Windows主机通信,因此需要在控制节点上安装该模块
pip install pywinrm

配置Windows受控节点

  1. 启用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
  1. 配置 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

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2024年10月23日 下午5:28
下一篇 2024年10月25日 下午10:18

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注