Ansible是近年越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为的失误。
特点:
(1)基于Python开发,运维工程师对其二次开发相对较容易。
(2)丰富的内置模块,基本可以满足一切需求。
(3)管理模式非常简单,一条命令可以影响上千台机器。
(4)无客户端模式,底层通过SSH通信。
创建本地yum仓库,将提供的ansiblerepo文件夹上传至Linux本地目录
[root@node1 /]# ls -l
总用量 30
drwxr-xr-x 3 root root 8192 3月 14 15:15 ansiblerepo修改yum源配置文件
[root@node1 /]# vim /etc/yum.repos.d/local.repo[dvd]
name=dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0[ansible]
name=ansible
baseurl=file:///ansiblerepo
enabled=1
gpgcheck=0安装Ansible
[root@node1 ~]# yum -y install ansible
验证安装结果
[root@node1 ~]# ansible --version
ansible 2.3.1.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
生成密钥对
[root@node1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): //密钥存放路径
Enter passphrase (empty for no passphrase): //输入私钥保护密码,回车则表示无密码
Enter same passphrase again: //再次输入密码
//···省略信息···复制公钥到远端
[root@node1 ~]# ssh-copy-id root@192.168.136.20
[root@node1 ~]# ssh-copy-id root@192.168.136.30
修改管理主机信息的配置文件
[root@node1 ~]# cat /etc/ansible/hosts
[web1]
192.168.136.20[web2]
192.168.136.30编写执行配置文件
[root@node1 ~]# cd /etc/ansible/
[root@node1 ansible]# vim install_httpd.yml---
- hosts: web
remote_user: root
tasks:
- name: copy yum file
copy: src=/opt/local.repo dest=/etc/yum.repos.d/local.repo
- name: mount DVD
command: mount /dev/cdrom /mnt/
- name: install httpd
yum: name=httpd state=present
- name: copy index.html
copy: src=/opt/index.html dest=/var/www/html/
- name: start httpd server
command: systemctl enable httpd --now语法检查命令
[root@node1 ansible]# ansible-playbook --syntax-check install_httpd.yml
预测试命令
[root@node1 ansible]# ansible-playbook -C /etc/ansible/install_httpd.yml
测试无误直接执行
[root@node1 ansible]# ansible-playbook install_httpd.yml
查看远端httpd的安装启动情况
[root@node1 ~]# ansible web1 -m command -a 'systemctl status httpd'
192.168.136.20 | SUCCESS | rc=0 >>
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since 五 2024-03-15 09:00:36 CST; 1min 37s ago
更多【前端-Ansible自动化运维】相关视频教程:www.yxfzedu.com