ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ansible

2022-02-17 12:34:53  阅读:257  来源: 互联网

标签:Ansible -- noarch el8 ansible python3


ansible简介

Ansible目前是运维自动化工具中最简单、容易上手的一款优秀软件,能够用来管理各种资源,用户可以使用Ansible自动部署应用程序,以此实现IT基础架构的全面部署。

Ansible基于SSH远程会话协议,不需要客户端程序,只要知道受管主机的账号密码,就能直接用SSH协议进行远程控制,因此使用起来优势明显。

  Ansible服务专用术语对照表

术语 中文叫法 含义
Control node 控制节点 指的是安装了Ansible服务的主机,也被称为Ansible控制端,主要是用来发布运行任务、调用功能模块,对其他主机进行批量控制。
Managed nodes 受控节点 指的是被Ansible服务所管理的主机,也被称为受控主机或客户端,是模块命令的被执行对象。
Inventory 主机清单 指的是受控节点的列表,可以是IP地址、主机名称或者域名。
Modules 模块 指的是上文提到的特定功能代码,默认自带有上千款功能模块,在Ansible Galaxy有超多可供选择。
Task 任务 指的是Ansible客户端上面要被执行的操作。
Playbook 剧本 指的是通过YAML语言编写的可重复执行的任务列表,把常做的操作写入到剧本文件中,下次可以直接重复执行一遍。
Roles 角色 从Ansible 1.2版本开始引入的新特性,用于结构化的组织Playbook,通过调用角色实现一连串的功能。

安装ansible

RHEL 8系统的镜像文件默认不带有Ansible服务程序,需要从Extra Packages for Enterprise Linux(EPEL)扩展软件包仓库获取。EPEL软件包仓库由红帽公司提供,是一个用于创建、维护和管理企业版Linux的高质量软件扩展仓库,通用于RHEL、CentOS、Oracle Linux等多种红帽系企业版系统,目的是对于默认系统仓库软件包进行扩展。红帽红帽EPEL地址:baseurl=https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/

1.配置yum仓库添加epel源

[root@linuxprobe ~]# vim /etc/yum.repos.d/rhel.repo
[BaseOS]
name=BaseOS
baseurl=file:///media/cdrom/BaseOS
enabled=1
gpgcheck=0

[AppStream]
name=AppStream
baseurl=file:///media/cdrom/AppStream
enabled=1
gpgcheck=0

[EPEL]
name=EPEL
baseurl=https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/
enabled=1
gpgcheck=0

2.安装ansible

[root@linuxprobe ~]# dnf install -y ansible
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:01:31 ago on Sun 04 Apr 2021 02:23:32 AM CST.
Dependencies resolved.
===========================================================================================
 Package                          Arch             Version            Repository        Size
===========================================================================================
Installing:
 ansible                          noarch           2.9.18-2.el8       EPEL               17 M
Installing dependencies:
 python3-babel                    noarch           2.5.1-3.el8        AppStream         4.8 M
 python3-jinja2                   noarch           2.10-9.el8         AppStream         537 k
 python3-jmespath                 noarch           0.9.0-11.el8       AppStream          45 k
 python3-markupsafe               x86_64           0.23-19.el8        AppStream          39 k
 python3-pyasn1                   noarch           0.3.7-6.el8        AppStream         126 k
 libsodium                        x86_64           1.0.18-2.el8       EPEL              162 k
 python3-bcrypt                   x86_64           3.1.6-2.el8.1      EPEL               44 k
 python3-pynacl                   x86_64           1.3.0-5.el8        EPEL              100 k
 sshpass                          x86_64           1.06-9.el8         EPEL               27 k
Installing weak dependencies:
 python3-paramiko                 noarch           2.4.3-1.el8        EPEL              289 k

Transaction Summary
===========================================================================================
Install  11 Packages

………………省略部分输出信息…………

Installed:
  ansible-2.9.18-2.el8.noarch            python3-paramiko-2.4.3-1.el8.noarch
  python3-babel-2.5.1-3.el8.noarch       python3-jinja2-2.10-9.el8.noarch
  python3-jmespath-0.9.0-11.el8.noarch   python3-markupsafe-0.23-19.el8.x86_64
  python3-pyasn1-0.3.7-6.el8.noarch      libsodium-1.0.18-2.el8.x86_64                  
  python3-bcrypt-3.1.6-2.el8.1.x86_64    python3-pynacl-1.3.0-5.el8.x86_64
  sshpass-1.06-9.el8.x86_64                         

Complete!

3.检查安装信息

安装完毕后,Ansible服务便默认已经启动。使用--version参数可以看到Ansible服务的版本及配置信息。

[root@linuxprobe ~]# ansible --version
ansible 2.9.18
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.6.8 (default, Jan 11 2019, 02:17:16) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)]

设置主机清单

Ansible服务的主配置文件存在优先级的顺序关系,默认存放在/etc/ansible目录中的主配置文件优先级最低。如果在当前目录或用户家目录中也存放着一份主配置文件,则以当前目录或用户家目录中的主配置文件为主。同时存在多个Ansible服务主配置文件时,具体优先级顺序如表所示。 

Ansible服务主配置文件优先级顺序 

优先级 文件位置
./ansible.cfg
~/.ansible.cfg
/etc/ansible/ansible.cfg

inventory主机清单的配置文件为/etc/ansible/hosts,将受控主机加入主机清单从而实现集中控制。设置主机清单时可以根据实际环境设置不同的分组,从而实现分组控制。

[root@superwu ~]# vim /etc/ansible/hosts
[dev]              //名称为dev的组
192.168.10.20
[test]
192.168.10.21
[prod]            //名称为prod的组
192.168.10.22
192.168.10.23
[balancers]
192.168.10.24
[all:vars]       //all表示所有主机,vars表示变量(以下设置对所有主机生效),表示使用ansible时默认使用的用户和密码(自动验证)
ansible_user=root     //登录使用的账号
ansible_password=111111   //账号密码
[root@superwu ~]# ansible-inventory --graph  //已结构化的方式显示受管的主机信息
@all:
  |--@balancers:
  |  |--192.168.10.24
  |--@dev:
  |  |--192.168.10.20
  |--@prod:
  |  |--192.168.10.22
  |  |--192.168.10.23
  |--@test:
  |  |--192.168.10.21
  |--@ungrouped:

  

  

 

标签:Ansible,--,noarch,el8,ansible,python3
来源: https://www.cnblogs.com/wushuai2018/p/15899653.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有