Ansible入门学习之基础元素介绍

一、Ansible目录结构介绍

        1.通过rpm   -ql   ansible获取ansible所有文件存放的目录

                有配置文件目录    /etc/ansible/

                     执行文件目录   /usr/bin/

       

                其中  /etc/ansible/ 该文件目录的主要功能是  inventory主机信息配置,ansible工具功能配置。

                ansible自身的配置文件是ansible.cfg,其中所有的配置内容均可以在命令行通过参数的形式传递或定义在playbooks中。

二、Ansible命令用法详解

        1.Ansible命令行执行的方式有Ad-Hoc(临时命令执行)、Ansible-playbook(Ad-Hoc的集合)两种方式,web化执行方式有Tower(10台以内免费)。

        2.Ansible默认使用公私钥认证。

            ssh-keygen -N " " -b 4096 -t rsa -C "test@qq.com" -f /root/.ssh/stanley.rsa

            随机生成公私钥对

             ssh-copy-id -i  /root/.ssh/stanley.rsa  root@localhost

             为本机添加密钥认证

        3.Ansible 的命令格式:ansible <host-pattern> [options](可选项)

             其中<host-pattern> 是Inventory中定义的主机或者主机组,一般可以是ip,hostname等

             例如:ansible  all  -m  ping -u test        表示以test用户的身份执行ping命令

                       ansible  all  -m ping  -u test  --sudo        表示以test的身份sudo到root身份执行ping存活检测

                       ansible  all -m ping  -u test  -b        表示以test身份至root身份执行ping进行存活检测,上面的同效果命令的操作在新版本中已经被-b所替换

三、Ansible命令使用场景介绍

        1.ansible一般用在非固化或者临时一次性的操作的命令中(非固化/临时一次性操作:没有规律或者是临时要做的任务)

            例如:ansible web1  -m ping  检查服务器web1的存活情况

        2.ansible-galaxy 为github的pip功能

              命令格式如下:

                

        3.ansible-pull(默认使用push模式)

         适用的场景是:数量巨大的机器需要配置;在刚启动没有网络的主机上运行ansible

        4.ansible-doc 模块名        用来查看文档的用法说明

        5.ansible-playbook             通过读取预先编写的playbook文件实现批量管理,是ansible的任务集

        例如:ansible-playbook        playbook.yml                表示执行playbook.yml中所有的任务集合

        6.ansible-vault                用于配置文件加密

        例如:ansible-vault     encrypt  a.yml        加密a.yml

        7.ansible-console                用来虚拟一个终端

四、Ansible Inventory配置及详解

        1.定义主机和组

        [组名],支持将同一个主机归并到多个不同的组中且以行作为单位分割配置

        2.定义主机变量

        

        上述示例是修改web服务的端口为808

        3.自定义组变量

        

4.其他inventory参数列表

五、Ad-Hoc命令集

        1.使用场景:

                空闲时期关闭所有不必要的服务器并对其进行健康检测

                临时更新Apache和Nginx的配置文件并将其分发到所有需要更新该配置的web服务器

                需要使用Ansible-playbook的场景

                对新的服务器进行安装完系统之后的一些列固化的初始工作

                定期对生产环境发布更新程序代码

        2.Ad-Hoc命令集用法介绍

                

        例如:ansible web --list                表示列出web组所有的主机列表

                    ansible  10.20.40.61  -B 5  -P 2 -T 2 -m command  -a 'sleep  20'  -u  root

                   上述命令表示以root执行sleep 20,设置最大连接超时时长为2且为后台运行的模式,执行过程中每2秒输出依次进度如果5s还没有还未执行完就终止该任务。

                     为所有的服务器安装ntp服务并设置为开机启动

                     ansible  apps  -s -m yum  -a  ''name=ntp state=present''

                     ansible apps  -m  service  -a  "name=ntpd  state=started  enabled=yes"

                     上述这两条命令分别表示给所有主机安装ntp服务然后启动ntp服务并设置为开机启动

六、Ad-Hoc组管理和特定主机变更

        1.一般我们需要会将负责相同场景应用的主机划分为一个组便于统一管理,这是就需要组管理并且可以对组中特定的主机进行变更。

        2.组配置需要编辑/etc/ansible/hosts,下图是简化后的web服务架构:

        

        3.配置Proxy和web servers实践

            ansible  proxy  -m yum -a "name=nginx  state=present"        利用ansible安装nginx

            ansible  app  -m  yum -a "name=nginx  state=present"           

            ansible   app  -m  yum  -a  "name=php  state=present"        安装nginx和php

             ……                    同上述命令安装  mysql-python  python-setuptools依赖包

            ansible   app  -m  pip   -a  "name=django  state=present"         安装Django

            同上述安装nginx命令安装后端的数据库redis

             以下命令为安装mariadb的命令:

        以上配置命令即可配置完所有主机的应用需求

        4.Ad-Hoc特定主机变更

        通过limit参数限定主机做变更

        ansible  app  -m  command  -a  "service  ntpd  status"  --limit  "192.168.37.158"

            上述命令的作用是在app组中查看192.168.37.158的状态

        ansible  "192.168.37.158:192.168.37.159"  -m  command  -a  "service  ntpd  status"

            上述命令的作用是查看上述两个ip地址对应的主机的ntp服务的状态

七、Ad-Hoc用户与组管理

        1.ansible系统用户模块

            linux系统用户管理:user

            windows系统用户管理:win_user

        2.与用户相关的应用场景

        新增用户:增加test用户并为其创建家目录

            ansibledb -m user -a "name=test  shell=/bin/bash  groups=admins,testgroup append=yes  home=/home/test/  state=present" 

        修改用户属组

             ansibledb  -m user  -a  "name=test  groups=testgroup  append=no"

        修该用户的属性

             ansibledb  -m user -a "name=test  expires=19999999"

        删除用户

              ansibledb  -m user  -a "name=test  state=absent  remove=yes"

        变更用户密码

              ansible -m user -a "name=test  shell=/bin/bash  password=igrjiFDF  update_password=lovexiao"             

              password后面的密码是加密后的密文

八、应用层用户管理

        1.新增mysql用户test

             ansible  db -m  mysql_user  -a 'login_host=localhost  login_password=xiao  login_user=root  name=test  password=testxiao priv=zabbix.*:ALL state=present'

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7519.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git Bash通过SSH key 登录github的详细步骤

1 问题 通过在windows 终端中的通过git登录github 不再是通过密码登录了&#xff0c;需要本地生成一个密钥&#xff0c;配置到gihub中才能使用 2 步骤 &#xff08;1&#xff09;首先配置用户名和邮箱 git config --global user.name "用户名"git config --global…

矩阵的秩在机器学习中具有广泛的应用

矩阵的秩在机器学习中具有广泛的应用&#xff0c;主要体现在以下几个方面&#xff1a; 一、数据降维与特征提取 主成分分析&#xff08;PCA&#xff09;&#xff1a; PCA是一种常用的数据降维技术&#xff0c;它通过寻找数据中的主成分&#xff08;即最大方差方向&#xff09…

Windows Defender添加排除项无权限的解决方法

目录 起因Windows Defender添加排除项无权限通过管理员终端添加排除项管理员身份运行打开PowerShell添加/移除排除项的命令 起因 博主在打软件补丁时&#xff0c;遇到 Windows Defender 一直拦截并删除文件&#xff0c;而在 Windows Defender 中无权限访问排除项。尝试通过管理…

IDEA工具下载、配置和Tomcat配置

1. IDEA工具下载、配置 1.1. IDEA工具下载 1.1.1. 下载方式一 官方地址下载 1.1.2. 下载方式二 官方地址下载&#xff1a;https://www.jetbrains.com/idea/ 1.1.3. 注册账户 官网地址&#xff1a;https://account.jetbrains.com/login 1.1.4. JetBrains官方账号注册…

计算机网络之应用层

本文章目录结构出自于《王道计算机考研 计算机网络_哔哩哔哩_bilibili》 05 应用层 在网上看到其他人做了相关笔记&#xff0c;就不再多余写了&#xff0c;直接参考着学习吧。 王道考研 计算机网络笔记 第六章&#xff1a;应用层_王道考研 应用层 笔记-CSDN博客 DNS&#x…

微信小程序date picker的一些说明

微信小程序的picker是一个功能强大的组件&#xff0c;它可以是一个普通选择器&#xff0c;也可以是多项选择器&#xff0c;也可以是时间、日期、省市区选择器。 官方文档在这里 这里讲一下date picker的用法。 <view class"section"><view class"se…

Pyecharts图表交互功能提升

在数据可视化中&#xff0c;交互功能可以极大地提升用户体验&#xff0c;让用户能够更加深入地探索数据。Pyecharts 提供了多种强大的交互功能&#xff0c;本篇将重点介绍如何使用缩略轴组件、配置图例交互&#xff0c;让我们的数据可视化作品更加生动有趣。 一、缩略轴组件使…

奇怪的单词(快速扩张200个单词)

这是一些非常奇怪的单词&#xff1a; screw n.螺丝&#xff1b;螺丝钉 screwdriver n.起子&#xff0c;螺丝刀&#xff0c;改锥 copulation n.连接 copulate a.配合的 bonk n.撞击&#xff1b;猛击 v.轻击&#xff1b;碰撞ebony n.黑檀couple n.夫妇blonde n.金发女郎intimacy…

Ubuntu20.04 深度学习环境配置(持续完善)

文章目录 常用的一些命令安装 Anaconda创建conda虚拟环境查看虚拟环境大小 安装显卡驱动安装CUDA安装cuDNN官方仓库安装 cuDNN安装 cuDNN 库验证 cuDNN 安装确认 CUDA 和 cuDNN 是否匹配&#xff1a; TensorRT下载 TensorRT安装 TensorRT 本地仓库配置 GPG 签名密钥安装 Tensor…

Android多语言开发自动化生成工具

在做 Android 开发的过程中&#xff0c;经常会遇到多语言开发的场景&#xff0c;尤其在车载项目中&#xff0c;多语言开发更为常见。对应多语言开发&#xff0c;通常都是在中文版本的基础上开发其他国家语言&#xff0c;这里我们会拿到中-外语言对照表&#xff0c;这里的工作难…

数据结构——堆(C语言)

基本概念&#xff1a; 1、完全二叉树&#xff1a;若二叉树的深度为h&#xff0c;则除第h层外&#xff0c;其他层的结点全部达到最大值&#xff0c;且第h层的所有结点都集中在左子树。 2、满二叉树&#xff1a;满二叉树是一种特殊的的完全二叉树&#xff0c;所有层的结点都是最…

const的用法

文章目录 一、C和C中const修饰变量的区别二、const和一级指针的结合const修饰的量常出现的错误是:const和一级指针的结合总结&#xff1a;const和指针的类型转换公式 三、const和二级指针的结合 一、C和C中const修饰变量的区别 C中&#xff1a;const必须初始化&#xff0c;叫常…

机器学习-线性回归(参数估计之经验风险最小化)

给定一组包含 &#x1d441; 个训练样本的训练集 我们希望能够 学习一个最优的线性回归的模型参数 &#x1d498; 现在我们来介绍线性回归的一种模型参数估计方法&#xff1a;经验风险最小化。 我们前面说过&#xff0c;对于标签 &#x1d466; 和模型输出都为连续的实数值&…

appium自动化环境搭建

一、appium介绍 appium介绍 appium是一个开源工具、支持跨平台、用于自动化ios、安卓手机和windows桌面平台上面的原生、移动web和混合应用&#xff0c;支持多种编程语言(python&#xff0c;java&#xff0c;Ruby&#xff0c;Javascript、PHP等) 原生应用和混合应用&#xf…

视频多模态模型——视频版ViT

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细解读多模态论文《ViViT: A Video Vision Transformer》&#xff0c;2021由google 提出用于视频处理的视觉 Transformer 模型&#xff0c;在视频多模态领域有…

使用Cline+deepseek实现VsCode自动化编程

不知道大家有没有听说过cursor这个工具&#xff0c;类似于AIVsCode的结合体&#xff0c;只要绑定chatgpt、claude等大模型API&#xff0c;就可以实现对话式自助编程&#xff0c;简单闲聊几句便可开发一个软件应用。 但cursor受限于外网&#xff0c;国内用户玩不了&#xff0c;…

【Linux】Linux编译器-g++、gcc、动静态库

只要积极创造&#xff0c;机遇无时不有&#xff1b;只要善于探索&#xff0c;真理无处不在。&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;Linux编译器-g、gcc •&#x1f330;1. 背景知识 •&#x1f330;2. gcc如何完成 •…

Spring整合Mybatis、junit纯注解

如何创建一个Spring项目 错误问题 不知道什么原因&#xff0c;大概是依赖版本不兼容、java版本不对的问题&#xff0c;折磨了好久就是搞不成。 主要原因看pom.xml配置 pom.xml配置 java版本 由于是跟着22年黑马视频做的&#xff0c;java版本换成了jdk-11&#xff0c;用21以…

【架构面试】二、消息队列和MySQL和Redis

MQ MQ消息中间件 问题引出与MQ作用 常见面试问题&#xff1a;面试官常针对项目中使用MQ技术的候选人提问&#xff0c;如如何确保消息不丢失&#xff0c;该问题可考察候选人技术能力。MQ应用场景及作用&#xff1a;以京东系统下单扣减京豆为例&#xff0c;MQ用于交易服和京豆服…

MATLAB提供的颜色映射表colormap——伪彩色

图像处理领域的一个习惯&#xff1a;不是真实的颜色&#xff0c;一般用伪彩色。一是说明不是物体本身的颜色&#xff0c;二是彩色更容易分辨。 MATLAB陆续提供了16种颜色映射表colormap。 之前的都很丑&#xff0c;近5年新增的4种还可以。总的说来还是丑。 这是一种鸟的名字。…