Ansible如何安装部署

小编给大家分享一下Ansible如何安装部署,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

成都创新互联公司专注于商河企业网站建设,自适应网站建设,成都商城网站开发。商河网站建设公司,为商河等地区提供建站服务。全流程按需网站策划,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

一、Ansible原理

1.1 什么是Ansible

Ansible一种集成IT系统的配置管理、应用部署、执行特定任务的开源平台/框架。基于Python语言实现,核心模块包括:jinja2、PyYAML和paramiko。Ansible允许重复执行而不出错,客户端无agent,服务端无deamon进程。Ansible特点:

  • Ansible支持API接口调用,例如通过CMDB调用或公有云接口调用

  • Ansible是一个框架,基于模块、插件工作

  • 基于SSH工作,即被管理端要支持SSH管理

  • 通过playbooks来编写强大的配置、状态管理,实现自动化

1.2 Ansible重要组件说明

  • 模块:Ansible由多种功能模块组成

  • playbook:Ansible剧本,使用yml语法调用不同功能模块完成特定的功能

  • roles:Ansbiel角色,可以使用ansible-galaxy命令下载第3方的roles角色。

  • ansible-vault:文件加密工具

  • ansilbe-console:基于console与用户进行交互

  • ansible-doc:帮助文档,-l所有模块,-s简要帮助

     

1.3 Ansible执行过程及原理说明

  1. 加载配置文件,默认是/etc/ansible/ansible.cfg

  2. 加载对应模块

  3. 生产临时py文件,并传输到目标机器的~/.ansible/tmp目录下

  4. 给py文件加上+x权限,执行并返回结果

  5. 删除py文件并sleep 0 退出

1.4 Ansible执行状态说明

  • 绿色:执行成功,不需要做改变

  • 黄色:执行成功,对目标主机做变更

  • 红色:执行失败

二、Ansible安装与配置

2.1 安装Ansible

安装Ansible,以CentOS 7.6为例:

    [root@ansible ~]# cat /etc/redhat-release     CentOS Linux release 7.6.1810 (Core)     [root@ansible ~]# uname -a    Linux ansible 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux#配置epel源    [root@ansible ~]# cat /etc/yum.repos.d/epel-7.repo     [epel]name=Extra Packages for Enterprise Linux 7 - $basearch    baseurl=http://mirrors.aliyun.com/epel/7/$basearch    failovermethod=priority    enabled=1    gpgcheck=0    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7    [epel-debuginfo]name=Extra Packages for Enterprise Linux 7 - $basearch - Debug    baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug    failovermethod=priority    enabled=0    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7    gpgcheck=0    [epel-source]name=Extra Packages for Enterprise Linux 7 - $basearch - Source    baseurl=http://mirrors.aliyun.com/epel/7/SRPMS    failovermethod=priority    enabled=0    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7    gpgcheck=0#安装Ansible    [root@ansible ~]# yum install ansible -y#查看已安装Ansible版本    [root@ansible ~]# ansible --version    ansible 2.8.2      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)]    [root@ansible yum.repos.d]#     ansible-2.8.2-1.el7.noarch查看Ansible相关文件
yum info ansiblerpm -qa ansiblerpm -ql ansibel | less

2.2 Ansible配置文件

Ansible主要配置文件及作用说明如下:

    /etc/ansible/    ├── ansible.cfg  # Ansible主配置文件    ├── hosts  #用来定义被管理的机器清单    └── roles  #该目录用于定义角色

Ansible配置文件
/etc/ansible/ansible.cfg主要参数说明

    #关闭过时参数告警deprecation_warnings=False    #关闭command告警command_warnings=False    #首次连接不检查,配合下面的playbook实现免密码ssh登录host_key_checking=False    #设置并行数量forks=40    #开启日志log_path = /var/log/ansible.log    #ssh超时时间timeout = 30

2.3 hosts主机清单

默认hosts文件/etc/ansible/hosts,被操作的主机必须在hosts主机清单中。

cd /etc/ansiblevim hosts    #分组[mons]    #设置主机别名ceph-node-1 ansible_ssh_host=172.16.93.1[client]172.16.93.1:2222    #同时也支持域名和主机名,最终解释到IP    #支持正则表达式[kvm_node_all]172.16.93.[6:9]    #设置分组主机变量[kvm_node_all:vars]ansible_ssh_user=rootansible_ssh_pass=Efly1234ansible_ssh_port=22    #自动义变量my_name=zhangsan    #主机的继承关系,会继承父的所有变量[kvm_node_all:children]client

2.4 Ansible管理机与被管理机做秘钥认证(可选)

# 生成秘钥    ssh-keygen#生成后会得到下面2个文件    [root@ansible ~]# tree /root/.ssh/    /root/.ssh/    ├── id_rsa    └── id_rsa.pub# 将公钥写入被管理机    ssh-copy-id 192.168.199.52#或    ssh-copy-id -i /root/.ssh/id_rsa.pub -p 22 root@192.168.199.52

以上是“Ansible如何安装部署”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


名称栏目:Ansible如何安装部署
文章网址:http://pwwzsj.com/article/jijegc.html