Ansible自动化运维实战

一、abstract简介

        ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric) 的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能.无客户端。我们要学一些Ansible的安装和一些基本概念,然后我们会开始研究一些真正有意思的东西 - plavbook,配置管理,部署以及语法编排.我们将会学习如何使用/usr/bin/ansible执行ad-hoc并行命令,我们还会学习ansible的核心有什么样的模块可供使用.当然以后你也可以写你自己的模块。

Ansible自动化运维实战_第1张图片

二、install部署

1. dns resolve

环境:

        ansible服务器:

                192.168.64.2

        ansible客户机:

                192.168.64.3

                192.168.64.4

                192.168.64.5

ansible服务器

        域名解析

                vim  /etc/hosts

                192.168.64.2   ansible

                192.168.64.3   host1

                192.168.64.4   host2

                192.168.64.5   host3

ansible客户机

        无需配置 

                IP

                YUM源

2.install  ansible

yum  install  -y  epel-release   可配置阿里的

yum  install  -y  ansible

检测是否安装成功

rpm  -ql  ansible                列出ansible所有文件

rpm  -qc  ansible               查看配置文件

ansible  --help                   查看ansible帮助

ansible-doc   -l                  看所有模块

ansible-doc  -s  yum          看yum模块

三、ssh-key可选

1.免密码ssh-key的方式

2.ssh-keygen的方式

3.ssh-copy-id  IP地址     推送密钥

四、ansible基础

1.定义主机清单

vim  /etc/ansible/hosts

host1

host2

host3

没有host4注意

2.测试连通性

ansible  localhost  -m  ping    -m指定模块,ping只是其中的一个模块,还有shell,yum等

3.简洁输出

ansible  localhost  -m  ping  -o

4.know_hosts

 ansible  host1 -m  ping  成功,因为有免密

ansible  host2 -m  ping   失败,没有免密

ansible  host2 -m  ping  -u  root  -k   -o     增加用户名选项,和密码选项

去掉(yes/no选项)的询问

vim  /etc/ssh/ssh_config

StrictHostKeyChecking  no

systemctl  restart  sshd

5.错误示范

ansible  host4 -m  ping  -u  root  -k   -o    失败,主机清单未配置主机

6.请注意ping和ssh

ping    ICMP:网络消息管理协议

关闭host2主机的sshd进程,进行ping连通性测试

再使用ansible对host2进行连通性测试,却是失败的

结论:ansible的ping,是餐车ssh程序是否连接,不是icmp协议

ansible  host2 -m  ping  -u  root  -k   -o 

五、inventory主机清单

六、Ad-Hoc点对点模式

七、YMAL-YMAL Aint't Markup Language 非标记语言

八、Role 角色扮演

九、Homework

你可能感兴趣的:(运维,ansible,自动化)