ansible

ansible 安装与卸载软件

可紊 提交于 2020-02-17 09:04:43
1、编写playbook,卸载 tmux和lrzsz软件 ansible-playbook yum_remove_tmux_lrzsz.yaml yum info tmux|grep -i " packages" yum info lrzsz|grep -i " packages" 经查询,显示Available Packages,表示软件已卸载 2、编写playbook,安装 tmux和lrzsz软件 经查询,显示Available Packages,表示软件已卸载 来源: https://www.cnblogs.com/zhangzeyuan/p/12320230.html

ansible学习之playbook剧本编写

余生长醉 提交于 2020-02-17 06:49:10
yaml语法 hosts: web remote_user: root task: name: task1 yum: name=nginx state=present 开头必须 — 语法缩进为两个空格 所有键值对都以字典形式写,格式固定为冒号+空格 每个playbook中的play 都必须包含 hosts 和 tasks两个项 列表 使用“-”作为列表项,一个“-”代表一个任务,某项是一个动作,一个对象,或一个实体时,都加‘-’ 例1: zhangsan lisi wangwu 例2: [zhangsan,lisi,wangwu] 例3: [ “zhangsan”, “lisi”, “wangwu” ] 例4: 班名: 初中一班 人数:35 班主任:张三 字典 key: value 在playbook 中,一般“虚拟性”的内容都可以通过字典的方式书写,实体化,动作性的,对象性的内容,定义为列表 hosts: localhost #列表1 remote_user: root task: name: test1 #子列表 shell: echo /tmp/a.txt register: hi_var debug: var=hi_var.stdout #调用模块,为动作,列表 include: /tmp/nginx.yml #包含文件,即为动作 include: /tmp/mysql

sshd服务

守給你的承諾、 提交于 2020-02-16 21:53:18
sshd服务 SSH介绍 SSH的全称Secure Shell, 是 Client/Server架构 , 默认端口号为22, TCP/IP协议 SSH其实用于商业, 而 OpenSSH 即为开源的, 在Linux中默认安装 SSH有v1和v2版本 v1: 有漏洞, 容易受到攻击 v2: 通过公钥加密(数字签名和密钥交换)的方式进行, 确保服务器端的身份识别 SSH加密算法: des 对称的公钥加密算法,安全低, 数据传输速度快; 使用同一个秘钥进行加密或解密 rsa 非对称的公钥加密算法,安全,数据传输速度慢 ; SSH默认的加密算法 SSH认证方式 用户密码的认证 秘钥对的认证 1 SSHD服务配置 安装软件 #openssh 为默认安装 rpm -qa | grep openssh openssh-7.4p1-16.el7.x86_64 openssh-server-7.4p1-16.el7.x86_64 openssh-clients-7.4p1-16.el7.x86_64 查看软件列表 # rpm -ql openssh-server /etc/rc.d/init.d/sshd 服务启动脚本 /etc/ssh/sshd_config 服务的配置文件 /usr/sbin/sshd 二进制的命令(程序本身) /usr/share/man/man5/sshd_config.5

ansible常用模块实例

流过昼夜 提交于 2020-02-10 22:33:59
Command 模块: Command:在远程主机执行命令,默认模块可忽略-m。 Command:模块不支持变量,管道符,&,$,echo >等需要使用shell模块。 ansible all -m command -a 'systemctl restart network' 重启主机清单的所有主机的网络(以上是完整的写法)。 可以省略-m,因为它时默认的模块。 ansible all -a 'systemctl restart network' ansible web -a 'ls -l /tmp' (查看web组tmp目录下面有哪些文件) ansible all -a 'mkdir -p /data' (所有主机创建/data目录) ansible all -a 'df -hT' (查看所有主机的磁盘使用率) 查看命令的帮助:ansible-doc command 详细参数 ansible all -a 'removes=/data/test.txt rm -rf /data/test.txt' removes:如果这个文件不存在则不执行,文件存在则执行 ansible all -a 'ls -l /data/' (首先查看目录为空) Ansible all -a 'creates=/data/aa.txt touch /data/aa.txt' creates

Remove contents of a include_vars file using Ansible

这一生的挚爱 提交于 2020-02-08 10:02:48
问题 I have a file filedets.yml which has many IP addresses and the file details listed under each IP. Below example shows just 3 entries however, expect this file to have many more entries of IP and file details. cat filedets.yml: --- 10.9.9.111: /tmp/test.jar: hash: e6df90d38fa86f0e289f73d79cd2cfd2a29954eb /tmp/best.jar: hash: e6df90d38fa86f0e289f73d79cd2cfd2a29954eb 10.8.8.44: /tmp/conf/extra/httpd-ssl.conf: hash: 1746f03d57491b27158b0d3a48fca8b5fa85c0c2 /tmp/conf/httpd.conf: hash:

Ansible——playbook

那年仲夏 提交于 2020-02-08 09:44:03
1.ansible-playbook命令行参数 [root@ansible PlayBook]# ansible-playbook -h #ansible-playbook常用选项: –check or -C #只检测可能会发生的改变,但不真正执行操作 –list-hosts #列出运行任务的主机 –list-tags #列出playbook文件中定义所有的tags –list-tasks #列出playbook文件中定义的所以任务集 –limit #主机列表 只针对主机列表中的某个主机或者某个组执行 -f #指定并发数,默认为5个 -t #指定tags运行,运行某一个或者多个tags。(前提playbook中有定义tags) -v #显示过程 -vv -vvv更详细 2.playbook系统元素 hosts、remote_user、tasks、name、 sudo_user、sudo、handlers、notify、tags、template、when、with_items hosts 执行的远程主机列表,hosts 行的内容是一个或多个组或主机的 patterns,以逗号为分隔符。 hosts: 192.168.1.71,master,webs remote_use 可以在hosts下,定义远程执行用户,也可以在某一个tasks中定义要执行该任务的远程用户 tasks、name

ansible安装及模块的管理

本小妞迷上赌 提交于 2020-02-07 11:18:19
简介 1、ansible安装部署过程特别简单,学习曲线很平坦; 2、不需要单独安装客户端,知识利用现有的SSHD服务(协议)即可。 3、基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible 特点 1、部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作; 2、默认使用SSH协议对设备进行管理; 3、有大量常规运维操作模块,可实现日常绝大部分操作; 4、配置简单、功能强大、扩展性强; 5、支持API及自定义模块,可通过Python轻松扩展; 6、通过Playbooks来定制强大的配置、状态管理; 7、轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可; 8、提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台。 架构图 Ansible:Ansible核心程序。 HostInventory:记录由Ansible管理的主机信息,包括端口、密码、ip等。 Playbooks:“剧本”YAML格式文件,多个任务定义在一个文件中,定义主机需要调用哪些模块来完成的功能。 CoreModules:核心模块,主要操作是通过调用核心模块来完成管理任务。 CustomModules:自定义模块,完成核心模块无法完成的功能

Ansible安装与模块管理

感情迁移 提交于 2020-02-07 10:18:31
Ansible简介 Ansible可以同时管理Redhat系的Linux,Debian系的Linux,以及Windows主机。管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以断电等异常一般不会影响ansbile。 Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,Ansible只是提供一种框架。主要包括: 1、连接插件connection plugins:负责和被监控端实现通信; 2、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机; 3、各种模块核心模块、command模块、自定义模块; 4、借助于插件完成记录日志邮件等功能; 5、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。 Ansible的架构:连接其他主机默认使用ssh协议 Ansible环境安装部署 服务器角色 IP地址 Ansible管理端 192.168.142.120 Ansible被管理端01 192.168.142.121 Ansible被管理端02 192.168.142.122

Ansible角色管理-Roles(实例演示!!!)

夙愿已清 提交于 2020-02-07 10:17:57
Ansible角色管理 Roles的概述 Roles能够根据层次型结构自动装载变量文件、task以及handlers等。 简单来讲,Roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们。 Roles一般用于基于主机构建服务的场景中,但也可以用于构建守护进程等场景中。 Roles的目录 目录名称 具体含义 files 用来存放由copy模块或script模块调用的文件 templates 用来存放j正则模板,template模块会自动在此目录中寻找正则模板文件 tasks 此目录应当包含一个main.yml文件,用于定义此角色的任务列表,此文件可以使用include包含其它的位于此目录的task文件 handlers 此目录应当包含一个main.yml文件,用于定义此角色中触发条件时执行的动作 vars 此目录应当包含一个main.yml文件,用于定义此角色用到的变量 defaults 此目录应当包含一个main.yml文件,用于为当前角色设定默认变量 meta 此目录应当包含一个main.yml文件,用于定义此角色的特殊设定及其依赖关系 在playbook中使用Roles的步骤 创建以roles命令的目录 #yum装完默认就有 mkdir /etc/ansible/roles/ -p 创建全局变量目录 mkdir /etc

Ansible剧本管理(实例解释!!!)

橙三吉。 提交于 2020-02-07 10:17:21
Ansible剧本管理 inventory主机清单 ansible默认的主机清单是/etc/ansible/hosts文件,主机清单可以手动设置,也可以通过Dynamic Inventory动态生成,一般主机名使用FQDN vim /etc/ansible/hosts [ webserver ] #方括号设置组名 www1.example.org #定义被监控主机,这边可以是主机名也可以是IP地址,主机名需要修改/etc/hosts文件 www2.example.org:2222 #冒号后定义远程连接端口,默认是ssh的22端口 如果是名称类似的主机,可以使用列表的方式标识各个主机 [ webserver ] www [ 01:50 ] .example.org ansible_ssh_user = root ansible_ssh_pass = 123456 [ dbbservers ] db- [ a:f ] .example.org inventory变量 主机变量 [ webserver ] www1.magedu.com http_port = 80 maxRequestsChild = 808 www2.magedu.com http_port = 8080 maxRequestsChild = 909 组变量 [ servers:vars ] ntp_server =