当前位置: 首页>前端>正文

ansible core升级 ansible window

1.ansible简介

ansible是新出现的自动化运维工具,能够实现批量系统配置、批量程序部署、批量运行命令等功能。减少运维人员工作量。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。

ansible优点

1.跨平台支持
不仅可以再linux下部署,也可以再windows下部署。

2.可读性比较强的自动化工具:
ansible提供linux,Windows,unix和网络设备的无代理支持,适用于物理、虚拟、云和容器环境。

3.完美描述应用:
可以通过playbook完美描述我们要做的事情。

4.轻松管理版本控制:playbook是纯文本,可视作源代码

5.支持动态清单

6.编排可与其他系统轻松集成:puppet、jenkins

7.基础架构即代码

8.减少人为错误
任务、play和playbook设计为具有幂等性,所以在运行playbook时,
如果目标主机处于正确状态,则不会进行任何更改。

2.ansible的安装

dnf install ansible -y

查看ansible版本信息

ansible --version

ansible core升级 ansible window,ansible core升级 ansible window_ansible core升级,第1张

使用setup模块验证python

ansible core升级 ansible window,ansible core升级 ansible window_主机名_02,第2张

3.ansible的部署

1.构建ansible清单
什么是清单? --> 定义了ansible将要管理的一批主机
2. 静态清单
配置文件/etc/ansible/hosts(一台主机可以存在于多个主机组)

# vim /etc/ansible/hosts

查看
每行一个,填写主机名或ip:

ansible core升级 ansible window,ansible core升级 ansible window_vim_03,第3张

定义嵌套组

ansible core升级 ansible window,ansible core升级 ansible window_vim_04,第4张

通过范围简化主机规格

可以指定主机名称或ip范围或者数字和字母范围

语法:[START:END]

172.25.[0:4].[0:254] 匹配172.25.0.0/24,172.25.1.0/24 …

server[01:10].example.com 匹配server01.example.com到server20.example.com所有主机,此方式不匹配server1,之匹配server01

验证清单
可以使用ansible 管理主机主机名 --list-hosts列出所管理的主机

ansible all -i inventory --list-hosts 查看清单

ansible core升级 ansible window,ansible core升级 ansible window_ansible core升级_05,第5张

ansible dbservers -i inventory --list-hosts
ansible webservers -i inventory --list-hosts

ansible core升级 ansible window,ansible core升级 ansible window_自定义_06,第6张

默认清单位置:/etc/ansible/hosts

一般不使用,如果各个组的运维人员都使用此清单会造成混乱及造成误操作,不易管理。

若没有自己定义清单位置,默认使用此清单。

ansible core升级 ansible window,ansible core升级 ansible window_主机名_07,第7张

自定义清单

首先建立自定义的目录:mkdir /etc/ansible/test-inventory

在所建立的自定义目录建立清单:vim inventory

ansible core升级 ansible window,ansible core升级 ansible window_linux_08,第8张

ansible all -i inventory --list-hosts 查看清单

ansible core升级 ansible window,ansible core升级 ansible window_vim_09,第9张

4.运行临时命令

1格式
ansible host-pattern -m module [-a ‘module arguments’] [-i inventory]
2检查能否在受管主机上运行python模块

ansible -m ping all

ansible core升级 ansible window,ansible core升级 ansible window_vim_10,第10张

3使用临时命令通过模块执行任务

ansible-doc -l  列出所有模块
ansible-doc ping 查看ping模块的帮助文档

系统模块:
-firewalld:使用firewalld管理任意端口和服务
-reboot:重启
-service:管理服务
-user:添加、删除和管理用户账户
Net Tools模块 :
-get_url:通过http、https、或者ftp下载文件
-nmcli:管理网络
-uri:与web服务交互

4使用user模块确保westos用户存在于servera.westos.com且uid为1000

ansible -m user -a 'name=westos uid=1000 state=present' servera.westos.com

ansible core升级 ansible window,ansible core升级 ansible window_vim_11,第11张

ansible servera.westos.com  -m command -a /usr/bin/hostname -o  
command模块允许执行远程命令,但这些命令不是shell处理,所以无法访问shell环境变量,所以不能执行重定向、传送等操作

ansible core升级 ansible window,ansible core升级 ansible window_主机名_12,第12张

使用command模块执行临时命令

ansible localhost -m command -a 'id' -u westos 使用用户连接执行id命令,执行命令是需要在自定义目录中

ansible core升级 ansible window,ansible core升级 ansible window_主机名_13,第13张

使用copy模块

ansible localhost -m copy -a 'content="hello westos\n" dest=/etc/motd' -u westos --become
以root身份去执行

ansible core升级 ansible window,ansible core升级 ansible window_ansible core升级_14,第14张

ansible core升级 ansible window,ansible core升级 ansible window_vim_15,第15张



https://www.xamrdz.com/web/2zq1962391.html

相关文章: