ansible系列-基础篇-ansible的安装、配置和基本使用

author author     2023-04-27     372

关键词:

参考技术A

原文地址: Ansible系列-基础篇-Ansible 的安装、配置和基本使用

1、Ansible 目前支持Linux和MacOS作为控制节点,管理节点可以是Linux、MacOS、其他类Unix系统和Windows。

2、Ansible 节点主要分为两类,管理节点和被管理节点

需要主要的是 管理节点 和 被管理节点 之间需要配置好 SSH免密通道

3、如果可以的话,个人建议Python还是使用3.0以上版本,虽然系统预装了 2.7.5 但是官方都宣布不再维护该版本了,其他类似 openssl 、 git 等系统默认的版本就已经满足

4、本系列教程用到的环境

1、方式一 包管理器安装
比如 CentOS 、 Fedora 、 Redhat 等系统下使用 yum , Mac下使用 brew , Ubuntu、Debian等系统使用 apt-get ,如上说明,本系列都是在Centos系统下进行

2、方式二 源码安装

源码安装一般是为了尝鲜安装的最新版本,用的较少

3、方式三 采用Python PIP包安装

这里 建议采用方式三安装 ,Python可以通过 pyenv 来管理虚拟环境,同时后续可以通过 Ansible API 进行Python集成,方便平台化定制开发

Ansible 安装成功之后的验证

在正式聊 Ansible 配置之前,我们可以先仔细观察下上面 ansible --version 的输出结果,其中 config file 是 Ansible 配置文件存放的位置, 另外注意 jinja 和 libyaml ,其中 jinja 是 Ansible Role 中的 templates 用到的,而 libyaml 是 Ansible playbook 编写时用到的文件格式,具体我们都会在后续文章中进行详细说明。这里先了解下就行。

其实这里还有个文件格式没有展示出来,就是 Ansible Inventory 文件的格式 ,采用的是 ini 格式

好了我们正式聊聊如果配置 Ansible,其实除了上面提到的 config file 制定的配置之外。Ansible 会从以下方式按照由上到下优先级加载配置

ansible.cfg 配置文件详解

ansible.cfg 的配置项很多,实际环境中其实不会所有的配置项都配置,遵循二八法则。而且 Ansible 没有启动服务一说,说明配置文件的更改是即时生效的。

这里先看看本环境中用到的配置,然后做详细说明

Ansible 免密登录

在配置之前,先说个 运维规范 ,一般为了安全要求,Linux环境会禁用密码登录,采用公私钥对登录(特殊主机建议禁用root登录),因为通过ansible管理一般都是内网,这里默认是允许root登录的。

这里可能可能有人会问,为啥不统一也把root登录给全部禁用呢,这样岂不是更安全呢?

所以视自己实际环境而定哦

好了,我们回到正题,我们知道Ansible的调用是通过ssh远程执行,如果在配置文件中配置了 private_key_file 那么不管你使用哪个账号去执行,对应的公钥就是该私钥匹配的, 这样就会导致不同账号得使用相同的公私钥,这样不安全,也不友好

实际中,在配置文件中不配置 private_key_file , 然后新增的SA账号单独配置免密登录,员工离职清理账号也不影响其他人。

至于如果配置SSH免密登录,网上教程一大堆,这里就不啰嗦了

这里我们在 /etc/ansible/inventory/pro.hosts 配置几个测试主机,类似

这种命令执行的方式叫做 Ad-hoc , 具体 Ansible 都有哪些内置模块,可以参考 Ansible.Builtin

如果知道模块,但是不知道怎么用,可以尝试 ansible-doc -s module-name ,比如上面的 shell 模块

下一篇我们来说说工作中常用的模块及其用法

参考:

1、 https://www.cnblogs.com/yangmingxianshen/p/12655843.html
2、 https://docs.ansible.com/ansible/latest/collections/ansible/builtin/index.html

自动化运维之ansible-安装部署与基础命令篇(代码片段)

一、Ansible简介Ansible基于Python语言开发,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能。二、安装部署Ansible服务Ansible自动化运维环境由控制主机与被管理主机组成,由于Ansible是基于SSH协议... 查看详情

ansible基础理论及安装

Ansible介绍及安装一.ansible自动化运维完成的功能在运维工程中,我们部署一台使其能够在生产环境中使用大致经过一下步骤:安装主机。部署中间件,运行环境等。安装我们实际生产的应用程序。这一系列步骤如果人工一步步去... 查看详情

ansible之基础篇(代码片段)

...(`present‘or`installed‘,`latest‘),orremove(`absent‘or`removed‘)epansibleweb-myum-a‘name=wget‘#安装wgetansibleweb-myum-a‘name=python2-pip‘#安装py 查看详情

ansible基础(代码片段)

Ansible基础学习一、Ansible概述什么是AnsibleAnsible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,... 查看详情

ansible系列(安装和使用)(代码片段)

ansible的安装和使用介绍:ansible是一个自动化运维工具,通过SSH协议管理服务器,基于模块来完成自动化任务,ansible完成批量性任务,自动部署各种服务和环境.安装使用python3的pip工具安装:pip3installansible开始使用:管理的前提条件:管控... 查看详情

ansible基础知识(代码片段)

1、Ansible自动化配置管理安装配置启动nginxredhat红帽(收购ansible-->Ansible自动化运维配置管理专家)2、Ansible介绍及配置#1.什么是ansible?可以通过一个命令行完成一系列的操作。#2.ansible优点特点?#3.ansible基础架构?控制端被控端inventor... 查看详情

实例学习ansible系列helloworld

知识点:Ansible安装与设定知识点:第一个Helloworld安装ansible在192.168.32.31上安装ansible[root@host31local]#yum-yinstallepel-release[root@host31local]#yum-yinstallansible12确认安装[root@host31local]#ansible--versionansible2.1.0.0configfile=/etc/ansible/ansible.cfgconfiguredm... 查看详情

ansible基础-安装与配置(代码片段)

一安装1.1ansible架构ansible是一个非常简单的自动化部署项目,由python编写并且开源。用于提供自动化云配置、配置文件管理、应用部署、服务编排和很多其他的IT自动化需求。ansible实现的自动化部署是多层次的,通过描述系统之... 查看详情

ansibletower系列二(安装tower)

文档:http://docs.ansible.com/ansible-tower/安装前检查python版本为2.6保持网络畅通内存预留充足安装用户为root软件下载下载地址:http://releases.ansible.com/ansible-tower/setup/含有包文件的版本:http://releases.ansible.com/ansible-tower/setup-bundle/ 查看详情

ansible基础—安装与常用模块

ansible介绍: ansible是一个基于python开发的轻量级自动化运维管理工具,可以用来批量执行命令,安装程序,支持playbook编排。它通过ssh协议来连接主机,省去了在每一台主机安装客户端的麻烦,相对比puppet和saltstack,显得更... 查看详情

ansible专题整理

Ansible专题文章总览Ansible小手册,仅供参考文章如未明确说明实验环境,默认如下:OS:Centos6.7x86_64Ansible:2.1.2.0Python:2.6.6 Ansible小手册系列一(介绍)Ansible小手册系列二(安装)Ansible小手册系列三(命令介绍)Ansible小手册系... 查看详情

ansible基础

一、Ansible简介Ansible是一个开源的配置管理引擎,使用Python编写,是一个无代理的解决方案,通过默认的OpenSSH连接到一个受控节点。由Cobbler的作者和Func框架的合作者MichaelDeHaan开发。Ansible于2015年10月被开源巨头RedHat收购,希望... 查看详情

ansible学习记录基础介绍

Ansible的优点:  Agentless(去中心化)  StupiedSimple  SSHbydefault  YAMLnocode Ansible使用场景:  文件传输,  (1)scpmvcprsync  命令执行:  (2)  剩下的其他命令    安装http服务:    安装()  ... 查看详情

ansible---基础

ansible特点:不需要安装客户端,通过sshd去通信基于模块工作,模块可以由任何语言开发不仅支持命令行使用模块,也支持编写yaml格式的playbook支持sudo安装:yuminstall-yepel-releaseyuminstall-yansible配置文件:vi/etc/ansible/hosts//增加[test]1... 查看详情

原创运维基础之ansible简介安装和使用

官方:https://www.ansible.com/一简介AnsibleisaradicallysimpleITautomationenginethatautomatescloudprovisioning,configurationmanagement,applicationdeployment,intra-serviceorchestration,andmanyotherITneeds.Itusesnoagentsandnoadditionalcustomsecurityinfrastructure,soit‘seasytodeploy-andmostimpor... 查看详情

ansible-基础(代码片段)

 第一章Ansible介绍1.1如何学习ansible?1.看官方文档2.帮助文档3.别人写好的,注意甄别4.不要自己发明创造5.尽量少使用shell模块,当想使用shell模块的时候,停下来,想一想有没有专有的模块干这个事6.遇到报错做好记录,截图... 查看详情

ansible概述安装命令基础

ansible概述Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署Ansible收购协议。其是基于Python研发,糅合了很多老运维工具的优点。实现了批量操作系统配置,批量程序的部署,批量运行命令等功能。 为什么要选择ansib... 查看详情

自动化运维三贱客之ansible的安装和命令应用基础(代码片段)

ansible简介:ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible基本框架:ansible是基于模块工作... 查看详情