#vim /etc/ansible/hosts
#web1
#devstack
192.168.116.129
192.168.116.130
[webservers]
#web1
#devsack
192.168.116.129
192.168.116.130
对单台机器ping操作:
#ansible 192.168.116.130 -m ping
对组器进行ping操作:
-m是加载模块参数。这里我们加载的是ping模块来尝试与机器ping。
在这里测试时在控制主机与被管理节点之间配置了SSH证书信任。如果没有用证书认证,则需要执行ansible命令时添加-k参数,在提示“SSH password:”时输入root(默认)账号密码。实际生产环境中,大多数更倾向于使用Linux普通用户账户进行连接并通过sudo命令实现root权限,格式为:
ansible webservers -m ping -u ansible -sudo
在被管理节点上批量执行命令
在用户home目录下创建一个资源清单文件inventory.cfg内容如下:
# cat inventory.cfg
[webservers]
192.168.116.129
192.168.116.130
用ansible的shell模块在webservers组的个服务器上显示“hello ansible!”命令如下:
# ansible webservers -m shell -a '/bin/echo hello ansible!' -i inventory.cfg
用ansible的command模块实现同样的结果
#ansible webservers -m command -a '/bin/echo hello ansible!' -i inventory.cfg
配置Ansible环境note:在这之后博主的实验环境都是使用源码包安装的Ansible环境。1.配置文件优先级在运行ansible命令时,命令将会按照预先设定的顺序查找配置文件。 (1)ANSIBLE_CONFIG:首先,ansible命令会检查环境变量,及这个环境变量将指向的配置文件。可以通过导入环境变量的方式来做修改,例如:export ANSIBLE_CONFIG=/directory_p
01ansible基础
标签(空格分隔): ansible后
文章目录01ansible基础环境部署修改主机名配置yum源自动补齐安装tab什么是ansible
环境部署
被管理主机几乎不用做任何操作,只要开启ssh服务,允许远程登录
修改主机名
03修改主机名
exit 退出重新登录一次 可以显示修改完成
配置yum源
先挂载光盘
再配置源
vi /etc/fstab
04挂载光盘
05挂载光盘
06yum两个软件包位置
07配置两个yum源
自动补齐安装tab
tab更多命令
ansible-vsphere-management
此存储库的目的是使用Ansible提供vSphere环境的自动化。 此存储库中的大多数任务最初将作为win_shell任务编写,这需要Powershell和PowerCLI 。 有许多特定于Ansible模块,但是其中大多数缺少功能或根本无法使用。 我的目标是能够从头开始构建具有许多用于定义基础结构的不同选项的vSphere环境。 另一个重点是使用win_shell模块,我想确保任务具有幂等性,以便win_shell一堆Powershell和PowerCLI命令。 而是建立逻辑,使其仅在确实需要完成某些操作时才执行操作。 当前的问题是,某些(如果不是大多数) win_shell任务显示为更改,但是,如果您观看vSphere主机任务,除非需要进行某些更改,否则您不会看到任何更改。 此仓库将持续不断地进行中,因此不要指望完美。
注意:随着这一进程的进行,您将注意到围绕严格策略执行的关注日益增长。 其背后的原因是因为目标应该是将环境中的几乎所有内容都定义为代码。 如果在代码之外进行了手动更改,则可能导致无法管理的环境。 通过执行严格的
ansible-role-vcsa
使用ovftool部署VMware Platform Service Controller或vCenter Server Appliance。
该角色需要以下(Pip)模块。
pyVmomi
这个角色正在大力发展中,因此变量可能经常更改。 目前,以下变量是通过defaults / main.yml设置的,否则是必需的。
注意:在调用此角色之前,必须由vars文件或其他机制设置非默认变量download_site。 download_site必须提供URL基础(例如 ),从中可以获取下载文件(例如ISO文件或类似文件)。 有关感兴趣的文件,请参见defaults / main.yml。
the_one_task_template
the_one_task
vcenter_host
vcenter_user
vcenter_p
Ansible剧本和模块,用于在ESXi和VyOS上部署Mirantis OpenStack实验室。
git clone https://github.com/ianunruh/ansible-mos-lab.git
cd ansible-mos-lab
# Install Ansible and Python vSphere client
pip install -r requirements.txt
# Copy and customize sample variables to your environment
cp vars.yml.sample vars-MYENV.yml
vim vars-MYENV.yml
# Deploy environment
./run-playbook.sh vars-MYENV.yml deploy.yml
安装包含以下文件:
2018/10/10 17:11 11,775,406 ansible-2.7.0rc4.tar.gz
2018/10/12 17:18 104,964 asn1crypto-0.24.0.tar.gz
2018/10/15 08:58 42,575 bcrypt-3.1.4.tar.gz
2018/10/12 16:46 438,498 cffi-1.11.5.tar.gz
2018/10/12 16:42 449,577 cryptography-2.3.1.tar.gz
2018/10/11 09:26 55,579 ecdsa-0.13.tar.gz
2018/10/12 17:08 40,048 enum34-1.1.6.tar.gz
2018/10/16 10:16 0 files.lst
2018/10/12 17:21 172,698 idna-2.7.tar.gz
2018/10/12 16:58 33,051 ipaddress-1.0.22.tar.gz
2018/10/15 16:31 378,470 Jinja2-2.7.3.tar.gz
2018/10/11 09:22 14,356 MarkupSafe-1.0.tar.gz
2018/10/11 09:27 1,207,299 paramiko-2.4.2.tar.gz
2018/10/12 16:32 118,725 pyasn1-0.4.4.tar.gz
2018/10/12 16:52 158,295 pycparser-2.19.tar.gz
2018/10/11 09:16 446,240 pycrypto-2.6.1.tar.gz
2018/10/12 17:27 3,351,016 PyNaCl-1.3.0.tar.gz
2018/10/11 14:11 17,496,336 Python-2.7.15.tgz
2018/10/11 09:18 270,607 PyYAML-3.13.tar.gz
2018/10/11 09:15 854,871 setuptools-40.4.3.zip
2018/10/11 09:28 81,203 simplejson-3.16.0.tar.gz
2018/10/12 17:13 29,860 six-1.11.0.tar.gz
2018/10/11 14:52 599,727 yaml-0.2.1.tar.gz
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接...
本系列记录使用ansible初始化部署生产环境主机的各项过程
本系列生产主机使用《CentOS6实验机模板搭建部署》和《CentOS6重置网卡克隆后的自适应脚本(二)》预部署,CentOS7系统类似
本系列环境需要一台Gitlab服务器保存ansible代码和生产项目代码
本系列环境需要一台Nginx服务器作为文件共享服务器
操纵主机简单部署:
依据《CentOS7实验机模板搭建部署》克隆一台CentOS7作为操纵主机,部署安装ansible
HOSTNAME=ansible_ops
对于配置 Windows 主机,Ansible 提供了一些模块和功能,使管理和配置变得更加简单。下面是一些在 Ansible 中配置 Windows 的步骤:
1. 确保 Ansible 控制节点已经安装并配置好。Ansible 控制节点可以是 Linux 或 macOS 系统。
2. 在 Ansible 控制节点上安装 `pywinrm` 模块,它是与 Windows 进行远程管理的关键模块。可以使用以下命令安装它:
pip install pywinrm
3. 在 Ansible 控制节点上创建一个 `inventory` 文件,用于定义要管理的 Windows 主机。在该文件中,您可以列出 Windows 主机的 IP 地址或主机名。
4. 配置 Ansible 的 `ansible.cfg` 文件,指定 `inventory` 文件的路径和其他相关配置。
5. 创建一个 Playbook 文件(通常使用 YAML 格式),定义要在 Windows 主机上执行的任务。Playbook 文件中可以使用 Ansible 提供的多个模块来安装软件、配置服务等。
6. 在 Playbook 文件中,可以使用 `winrm_connection` 模块来指定与 Windows 主机建立连接的认证方式和其他连接参数。
7. 运行 Ansible 命令,使用 `-i` 参数指定 inventory 文件的路径,并指定要运行的 Playbook 文件。例如:
ansible-playbook -i inventory playbook.yml
这些步骤只是一个概述,具体的配置和任务取决于您的需求和环境。您可以根据实际情况调整和扩展这些步骤。您可以参考 Ansible 的官方文档和示例 Playbook 来获得更详细的指导和示例代码。