Ansible是一种用于自动化任务的开源工具。它管理Linux和Windows服务器的配置。它在没有代理的情况下工作,这意味着Ansible使用SSH和当前用户SSH授权。
你可以使用Ansible自动化三种类型的任务:
配置:在基础设施中设置几个需要的服务器。
配置管理:更改应用程序、操作系统或设备的配置;启动和停止服务;安装或更新应用程式;实现安全策略或执行各种其他配置任务。
应用程序部署:通过将内部开发的应用程序的部署自动化到生产系统,使DevOps更容易。
本文将指导您完成CentOS 7上Ansible的安装和安装过程,以及在Windows服务器上运行的计算机的管理配置。
先决条件
sudo用户。
CentOS 7服务器实例。
安装
添加EPEL存储库。
sudo yum install epel-release
更新包。
sudo yum -y update
一旦包被更新,用yum安装Ansible。
sudo yum -y install ansible
要管理您的Windows服务器,您需要安装以下软件包:
-
python-pip
-
pip
-
pywinrm
安装Python包。
sudo yum -y install python-pip pip
安装WinRM (Windows远程管理)。
pip install pywinrm
通过使用以下命令检索其版本来测试Ansible安装。
ansible --version
ansible 2.5.5
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
配置Ansible用于Windows服务器管理
去Ansible目录。
cd /etc/ansible
使用您最喜欢的文本编辑器编辑hosts文件。
nano hosts
在windows组的底部添加以下代码行。
[windows]
server1.domain.local
server1.domain.local
有必要创建一个加密的保险库,其中包含Windows服务器的访问标识符。为此,我们将创建一个新的加密yml文件。文件名必须与应用它的主机组匹配。在我们的示例中,创建的组称为windows,因此文件将是windows.yml。
mkdir group_vars
cd group_vars
ansible-vault create windows.yml
在您的yml文件中,添加以下参数。
ansible_ssh_user: _your_ssh_user_
ansible_ssh_pass: _your_ssh_pass_
ansible_ssh_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore
配置Windows服务器
可以使用PowerShell脚本自动配置计算机。该脚本将自动配置WinRM (Windows远程管理)并打开防火墙。
从Github下载PowerShell脚本。
修改PowerShell脚本的执行规则,以允许执行脚本。
Set-ExecutionPolicy RemoteSigned
执行该脚本。
.\ConfigureRemotingForAnsible.ps1
您的Windows服务器现在可以用Ansible进行远程管理了。