Linux系统自动化之ansible初始配置

Posted 江湖有缘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统自动化之ansible初始配置相关的知识,希望对你有一定的参考价值。

Linux系统自动化之ansible初始配置

一、ansible介绍

1.ansible含义

Ansible是一个IT自动化工具。 它能配置系统、部署软件、编排更复杂的IT任务,如连续部署或零停机时间滚动更新。

2.ansible介绍

Ansible用python编写,尽管市面上已经有很多可供选择的配置管理解决方案(例如Saltstack ,Puppet, Chef等) ,但它们各有优劣,而Ansible的特点在于它的简洁。让Ansible在主流的配置管理系统中.与众不同的一-点便是,它并不需要你在想要配置的每个节点上安装自己的组件。

二、配置yum仓库

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

三、安装软件包

1.安装epel包

yum -y install epel-release

2.安装ansible包

yum -y install ansible

3.安装python

yum -y install python3

4.检查ansible版本

[root@192 yum.repos.d]# ansible --version
ansible 2.9.27
  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, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

四、配置inventory文件

1.编辑/etc/asnible/hosts

[root@192 ~]# grep -Ev '^#|^$'   /etc/ansible/hosts 
[webserver]
192.168.200.133
192.168.200.135
192.168.200.136

2.编辑ansible配置文件

使用默认的root权限测试即可,实际生产示例:

[student@workstation ansible]$ vim ansible.cfg 
[defaults] 
inventory = /home/student/ansible/inventory 
remote_user = devops 
roles_path = /home/student/ansible/roles 
[privilege_escalation] 
become=True 
become_method=sudo
become_user=root 
become_ask_pass=False

五、一台控制节点三台被控节点免密

1.ssd免密

ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.200.135
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.200.133
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.200.136

2.配置hosts文件

[root@192 ansible]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.133  node3
192.168.200.135  node1
192.168.200.136  node2
[root@192 ansible]# 

3.所有节点配置相同的hosts

[root@192 ansible]# scp /etc/hosts root@192.168.200.135:/etc/hosts
hosts                                                                                                                                                   100%  227   263.8KB/s   00:00    
[root@192 ansible]# scp /etc/hosts root@192.168.200.136:/etc/hosts
hosts                                                                                                                                                   100%  227   468.8KB/s   00:00    
[root@192 ansible]# scp /etc/hosts root@192.168.200.133:/etc/hosts
hosts                                                                                                                                                   100%  227   331.6KB/s   00:00    
[root@192 ansible]# 

六、测试ansible连通性

[root@192 ansible]# ansible all -m ping
192.168.200.136 | SUCCESS => 
    "ansible_facts": 
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    , 
    "changed": false, 
    "ping": "pong"

192.168.200.135 | SUCCESS => 
    "ansible_facts": 
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    , 
    "changed": false, 
    "ping": "pong"

192.168.200.133 | SUCCESS => 
    "ansible_facts": 
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    , 
    "changed": false, 
    "ping": "pong"

以上是关于Linux系统自动化之ansible初始配置的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统之Ansible的基本介绍

Ansible-01-基础

大型架构及配置技术之Ansible

linux之Ansible快速入门

自动化运维工具Ansible详细部署

ansible实战应用之——自动化系统上线