IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 自动化运维工具Ansible -> 正文阅读

[系统运维]自动化运维工具Ansible

01Ansible介绍与安装


1. 介绍Ansible


1.1什么是Ansible

Ansible是一款自动化运维工具,基于Python开发,拥有众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

Ansible基于paramiko(python中作为远程控制用的模块)工具开发而成,Ansible基于模块工作,本身没有批量部署的能力,真正有能力的是Ansible里所运行的模块,ansible只是提供一种框架。ansible不需要再远程主机上安装client/agents,因为它们是基于ssh和远程主机通讯的

1.2 ansible特点

  1. 部署简单,只需在主控制端部署Ansible环境,被控节点无需操作
  2. 默认使用SSH协议对设备进行管理
  3. 配置简单、功能 强大、扩展性强
  4. 提供一个功能强大、操作性强的web管理界面和rest apl接口—awx平台

1.3 Ansible优点

  • 跨平台支持:Ansible提供Linux、windows、Unix和网络设备的无代理支持,适用于物理、虚拟、云和容器环境
  • 人类可读的自动化: Ansible playbook采用yaml文本文件编写,易于阅读,有助于理解
  • 完美描述应用:可以通过Ansible playbook进行每种更改 ,并描述和记录应用环境的每一个方面
  • 轻松管理版本控制:Ansible playbook和项目是纯文本。他们可以视为源代码,放在现有版本控制系统中
  • 支持动态清单:可以从外部来源动态更新 Ansible 管理的计算机列表,随时获取所有受管服务器的当前正确列表,不受基础架构或位置的影响。
  • 编排可与其他系统轻松集成:能够利用环境中现有的HP SA、Puppet、jenkins、红帽卫星和其他系统,并且集成Ansible工作流中

Ansible架构图:
在这里插入图片描述
在这里插入图片描述

1.4Ansible的主要模块有

  • Ansible:核心程序
  • hostlnventory:记录由ansible管理的主机信息,包括端口,密码以及ip等
  • playbook:剧本,多个任务定义在一个文件中,定义主机需要调用哪些模块来完成
  • coremodules:核心模块,主要通过核心模块来完成管理任务
  • custommodules:自定义模块,完成核心模块无法完成的功能,支持多种语言
  • connectionplugins:连接插件,ansible和host通信使用

2. 安装Ansible

2.1 控制节点

ansible易于安装,ansible软件只需要安装到要运行它的一个(或多个)控制节点上。由ansible管理的主机不需要安装ansible。
控制节点应是Linux或Unix系统,不支持将windows用作控制节点,但可以是受控节点

2.2 受控节点

ansible的优点是受控节点不需要安装特殊代理,。ansible控制节点使用标准的网络协议连接受管主机,从而确保系统处于指定的状态
受控主机可能要满足一些要求取决于控制节点连接他们的方式以及他们要运行的模块

2.3 安装

//在redhat8中我们默认带有python3,所以只需要输入

yum  -y  install ansible

完成安装
//如果系统仓库中没有ansible则执行以下命令,再安装

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  //将epel仓库启用
//查看版本
[root@my ~]# ansible --version
ansible 2.9.23
  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, Dec  5 2019, 15:45:45) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
  [root@my ~]# ansible localhost -m ping
localhost | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
//创建用户
[root@my ~]# ansible localhost -m user -a "name=my"
localhost | SUCCESS => {
    "append": false,
    "changed": false,
    "comment": "",
    "group": 1002,
    "home": "/home/my",
    "move_home": false,
    "name": "my",
    "shell": "/bin/bash",
    "state": "present",
    "uid": 1002
}
[root@my ~]# 

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 23:19:00  更:2021-07-14 23:20:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 0:23:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码