自动化运维---ansible

news2024/9/22 5:47:19

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

特点:

部署简单

默认使用ssh进行管理,基于python里的paramiko模块开发

管理端和被管理端不需要启动服务

配置简单,功能强大,扩展性强

能过playbook(剧本)进行多个任务的编排

ansible环境搭建 

 需要三台主机,一台管理主机,两台被管理主机

主机环境:

        1.静态ip

        2.关闭防火墙

        3.关闭selinux

        4.要epel源

实验过程

第1步: 管理机上安装ansible,被管理节点必须打开ssh服务。

yum -y install ansible
ansible --version
ansible 2.9.27
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

第2步: 实现master对agent的免密登录,只在master上做。(如果这 ⼀步不做,则在后⾯操作agent时都要加-k参数传密码;或者在主机清 单⾥传密码)

ssh-keygen 
ssh-copy-id -i 192.168.1.63
ssh-copy-id -i 192.168.1.64

第3步: 在master上定义主机组,并测试连接性

vim /etc/ansible/hosts 
[group01]
192.168.1.63
192.168.1.64

[group02]
192.168.1.63
192.168.1.64
192.168.1.65

ping模块

ansible 192.168.1.63 -m ping 
192.168.1.63 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

 小结:

主机清单的作用: 服务器分组。

主机清单的常见功能:

        1. 可以通过IP范围来分, 主机名名字的范围来分

        2. 如果ssh端口不是22的,可以传入新的端⼝。

        3. 没有做免密登录,可以传密码。

 ansible模块

查看所有⽀持的模块

ansible-doc -l 

官⽹模块⽂档地址: https://docs.ansible.com/ansible/latest/modules /list_of_all_modules.html

 hostname模块

 hostname模块⽤于修改主机名(注意: 它不能修改/etc/hosts⽂件)

基本格式为: ansible 操作的机器名或组名 -m 模块名 -a "参数 1=值1 参数2=值2"

#将其中⼀远程机器主机名修改为agent1.cluster.com
ansible 192.168.1.63 -m hostname -a 'name=agent1.cluster.com'

创建⼀个⽬录

ansible group1 -m file -a 'path=/test state=directory'

创建⼀个⽂件

ansible group1 -m file -a 'path=/test/111 state=touch'

 递归修改owner,group,mode

ansible group1 -m file -a 'path=/test recurse=yes owner=bin group=daemon mode=1777'

 删除⽬录(连同⽬录⾥的所有⽂件)

ansible group1 -m file -a 'path=/test state=absent'

 创建⽂件并指定owner,group,mode等

ansible group1 -m file -a 'path=/tmp/111 state=touch owner=bin group=daemon mode=1777'

 删除⽂件

ansible group1 -m file -a 'path=/tmp/111 state=absent'

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LLM大模型论文日更】| 大型语言模型用于模拟搜索用户行为

论文:https://arxiv.org/pdf/2403.09142代码:未开源机构:中国人民大学高瓴人工智能研究院领域:信息检索发表:SIGIR2024 短文 Abstract 由于成本效益和可再现性方面的优势,用户模拟已成为信息检索系统面向用…

Python酷库之旅-第三方库Pandas(084)

目录 一、用法精讲 351、pandas.Series.str.isdigit方法 351-1、语法 351-2、参数 351-3、功能 351-4、返回值 351-5、说明 351-6、用法 351-6-1、数据准备 351-6-2、代码示例 351-6-3、结果输出 352、pandas.Series.str.isspace方法 352-1、语法 352-2、参数 3…

【 亿邦动力网-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …

钢铁百科:美标A633GrC材质分析、A633GrC正火状态、A633GrC材料性能

A633GrC钢板是一种美国ASTM标准的高强度低合金结构钢板,字母"A"代表钢(Steel),数字"633"表示该材料的牌号,而"GrC"表示该材料为高强度低合金钢(High Strength Low Alloy&…

wtv-next 宝塔更新教程

数据库升级办法 输入用户名密码,点执行 程序升级办法 文件后缀看清楚,是amd64、arm64。etc 目录下是配置文件,按照格式往下加就行。 回到刚才那个页面 先点停止,再点启动

【大模型部署及其应用 】RAG检索技术和生成模型的应用程序架构:RAG 使用 Meta AI 的 Llama 3

目录 RAG检索技术和生成模型的应用程序架构1. **基本概念**2. **工作原理**3. **RAG的优势**4. **常见应用场景**5. **RAG的挑战**6. **技术实现**参考RAG 使用 Meta AI 的 Llama 3亲自尝试运行主笔记本与文档应用聊天关键架构组件1. 自定义知识库2. 分块3. 嵌入模型4. 矢量数据…

GAMES104:08游戏引擎的动画技术基础-学习笔记

文章目录 一,动画技术简介动画技术的挑战 二,2D游戏动画技术2.1 精灵动画(sprite animation)2.2 Live2D 三,3D游戏动画技术3.1 基于层次的刚体动画3.2 顶点动画3.3 Morph Target Animation3.4 蒙皮动画3.4.1 2D蒙皮动画…

房产系统源码开发

一、开发需求: 信息录入与管理:系统需要支持各种数据的录入,这包括但不限于客户信息、房源信息、员工信息、合同信息和财务信息等。这些数据是房产系统的基础,对于后续的信息查询、分析和共享至关重要。信息查询与检索&#xff1…

Ports Number of field profile samples 参数设置

Ports Number of field profile samples 参数设置 正文正文 在进行 Port 仿真时,通常我们会对 port 端口中的光束模式进行设定,很多时候我们会遇到一个名为 Number of field profile samples 的参数,如下图所示: 如果去官方论坛查看解释,往往会被搞得云里雾里。这个参数…

什么是AR、VR、MR、XR?

时代背景 近年来随着计算机图形学、显示技术等的发展,视觉虚拟化技术得到了广泛的发展,并且越来越普及化,慢慢的也走入人们的视野。目前市场上视觉虚拟化技术的主流分为这几种 VR、AR、MR、XR。这几项技术并不是最近才出现的,VR的…

RabbitMQ 的工作原理

下面是rabbitmq 的工作原理图解 1、客户端连接到消息队列服务器,打开一个channel。 2、客户端声明一个exchange,并设置相关属性。 3、客户端声明一个queue,并设置相关属性。 4、客户端使用routing key, 在exchange和queue 之间…

FreeBSD 针对OpenSSH 高危漏洞发布紧急补丁

近日,FreeBSD 项目的维护者针对OpenSSH 高危漏洞发布了紧急补丁。该漏洞被追踪为 CVE-2024-7589,CVSS 得分为 7.4(最高分为 10.0)。通过利用该漏洞,黑客能够在权限提升的情况下远程执行任意代码。 根据上周发布的一份…

Hive3:常用的虚拟列(Virtual Columns)

一、作用 虚拟列是Hive内置的可以在查询语句中使用的特殊标记,可以查询数据本身的详细参数。 Hive目前可用3个虚拟列: INPUT__FILE__NAME:显示数据行所在的具体文件BLOCK__OFFSET__INSIDE__FILE:显示数据行所在文件的偏移量ROW…

HarmonyOS开发:跨应用数据共享详解

目录 前言跨应用数据共享的重要性HarmonyOS的数据共享能力相关的基本概念跨应用数据共享的数据管理具体实现跨应用数据共享延伸:数据共享的安全和隐私结语 前言 现在的移动操作系统中,应用之间的数据共享已成为提升用户体验和实现功能互补的重要手段&a…

机器学习——第十四章 概率图模型

目录 14.1 隐马尔可夫模型 14.2 马尔可夫随机场 14.3 条件随机场 14.4学习与推断 14.4.1 变量消去 14.4.2 信念传播 14.5 近似推断 14.5.1 MCMC采样 14.5.2 变分推断 14.6 话题模型 14.1 隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model&#x…

入门 MySQL 数据库:基础指南

简介 MySQL 是一个非常流行的开源关系型数据库管理系统(RDBMS),广泛用于 Web 应用、企业应用和数据仓库。本博客将引导你从零开始,学习 MySQL 数据库的基础知识。 什么是 MySQL? MySQL 是一个基于 SQL(Str…

秒懂Linux之制作简易shell

目录 一.全部代码 二.自定义shell 一.全部代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h>#define SIZE 1024 #define MAX_ARGC 64 #define SEP &…

pnpm【实用教程】2024最新版

pnpm 简介 pnpm 全称 performant npm&#xff0c;即高性能的 npm&#xff0c;由 npm/yarn 衍生而来&#xff0c;解决了 npm/yarn 内部潜在的 bug&#xff0c;极大的优化了性能&#xff0c;扩展了使用场景&#xff0c;被誉为 最先进的包管理工具 安装 pnpm npm i -g pnpm使用 pn…

安全基础学习-SM4加密算法

SM4 是一种中国国家密码标准(GB/T 32907-2016)中定义的分组加密算法,又称为“中国商用密码算法SM4”。它是由中国国家密码管理局发布的,并广泛应用于金融、电子商务和其他需要数据加密的场景。 1、SM4 算法概述 SM4 是一种对称加密算法,意味着加密和解密使用相同的密钥。…

升级 kubeadm 部署的 k8s 集群

文章目录 一、环境二、注意事项1、备份数据2、跨版本升级3、支持的版本偏差3.1、kube-apiserver3.2、kubeklet3.3、kube-proxy3.4、kube-controller-manager、kube-scheduler 和 cloud-controller-manager3.5、kubectl 4、升级流程 三、版本升级&#xff08;补丁版本升级&#…