运维加薪之Ansible(DevOps Salary Increase with Ansible。‌)

news2024/11/26 11:08:59

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

本人主要分享计算机核心技术:系统维护、数据库、网络安全、自动化运维、容器技术、云计算、人工智能、运维开发、算法结构、物联网、JAVA 、Python、PHP、C、C++等。
不同类型针对性训练,提升逻辑思维,剑指大厂,非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。

运维加薪技术——Ansible

简介

Ansible是一个基于Python开发的自动化运维工具,它集合了众多运维工具的优点,如批量系统配置、批量程序部署、批量运行命令等。Ansible通过SSH与远程主机通信,不需要在被控端安装客户端或代理,因此部署简单且轻量级。Ansible使用YAML格式的Playbooks来定义自动化任务,这种语言简单易学,非常适合描述自动化作业。Ansible的特点包括模块化设计、支持自定义模块、基于SSH通信、无需客户端安装等,使其成为自动化运维领域中非常受欢迎的工具之一‌。本章详细介绍Ansible。

Ansible就像是IT界的魔法棒,让管理者可以轻松编排、自动化和管理大规模的计算机系统。它不仅简化了配置管理和部署流程,还提供了可扩展性和灵活性。想象一下,不再需要手动操作大量服务器,只需轻轻一点,Ansible就会像魔术师一样完成所有工作。这不仅提高了效率,还让我们的工作更有趣!

本文主要是以一个小白的角度,从无到有安装部署Ansible软件,并执行第一条Ansible指令,让小白踏入自动化运维的门槛。

注:安装示例是以Mac电脑进行,基本适用于Linux系统,Window 需要Linux 子系统中执行(相对复杂些)。所有安装操作均在Mac电脑上执行。

Ansible架构图

上图为ansible的基本架构,从上图可以了解到其由以下部分组成:

核心: ansible
核心模块(Core Modules): 这些都是ansible自带的模块
扩展模块(Custom Modules): 如果核心模块不足以完成某种功能,可以添加扩展模块
插件(Plugins): 完成模块功能的补充
剧本(Playbooks): ansible的任务配置文件,将多个任务定义在剧本中,由ansible自动执行
连接插件(Connectior Plugins): ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个主机的,但是它还支持其他的连接方法,所以需要有连接插件
主机群(Host Inventory): 定义ansible管理的主机

环境说明

Ansible主机(控制节点):Mac电脑
测试主机(被管节点):Centos7.9 /192.168.10.180

安装Python

Python官方地址:https://www.python.org
直接下载安装对应版本的Python即可。
安装过程不在赘述。

创建Python虚拟机环境

为什么要创建Python虚拟环境?
Python虚拟环境提供了一个干净的、隔离的工作环境,使开发者能够在同一台机器上同时管理多个项目,而无需担心不同项目之间的依赖冲突。这种隔离性不仅有助于避免版本混乱和包冲突,还可以提高项目的可移植性和可维护性。同时,虚拟环境也促进了Python生态系统的健康发展,为开发者提供了更便捷、更灵活的开发体验。

在终端中输入以下命令创建环境

# 创建名为testevnv的虚拟环境
python3 -m venv testvenv
# 激活此虚拟环境
source testvenv/bin/activate

图片

后面操作均在虚拟环境中执行

升级pip

python3 -m pip install --upgrade pip

安装Ansible

pip install ansible

Ansible主机与客户端连接

Ansible主机与客户端之间可以通过一下方式实现:

  • SSH免密连接

  • 配置Ansible hosts文件输入账号密码

可根据实际情况选择。

SSH免密连接

创建私钥和公钥,一路回车即可。

ssh-keygen

默认会在用户.ssh目录下生成id_rsa和id_rsa.pub两个文件

把公钥复制到测试主机

ssh-copy-id root@192.168.10.180

测试免密登录

ssh root@192.168.10.180

图片


已成功免密登录

配置主机清单(Inventory)

vim /etc/ansible/hosts
#组名可任意
[test]
#IP地址列表(一个组下可有多个IP地址),并指定ssh用户名
192.168.10.180

图片

保存后退出即可

Ansible命令测试

ping模块测试与受管理端的e连通性

# 目标使用IP地址或者组名均可
ansible -m ping 192.168.10.180

如果看到如下输出说明已经成功。

如果看到如下输出说明已经成功。

setup 模块可以查看受管理端相关的参数

ansible -m  setup test

下图是输出详细信息

至此Ansible工具已经初步安装完成。

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

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

相关文章

微服务架构学习笔记

#1024程序员节|征文# 微服务架构作为现代软件开发中的热门技术架构,因其灵活性和可扩展性,逐渐成为许多企业系统设计的首选。以下是关于微服务的一些学习笔记,涵盖微服务的核心概念、优缺点、设计原则以及常用工具等方面。 1. 微服务是什么&…

【Docker】docker | 部署nginx

一、概述 记录下nginx的部署流程;将conf配置文件映射到宿主机 前提依赖:自行准备nginx的镜像包 二、步骤 1、运行、无映射 docker run --name nginx -p 80:80 -d nginx:1.18.0-alpine 80:80,前面是宿主机端口;如果冲…

Spring Boot植物健康系统:智慧农业的新趋势

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

ripro-v5-8.3开心版主题源码

1、下载主题源码ripro-v5.zip进行安装。 2、下载激活文件ripro-v5-active.php上传到wp根目录,访问一次,即可激活。 源码下载:https://download.csdn.net/download/m0_66047725/89915698 更多资源下载:关注我。

队列(数据结构)——C语言

目录 1.概念与结构 2.队列的实现 初始化QueueInit 申请新节点BuyNode 入队QueuePush 判断队为空QueueEmpty 出队QueuePop 读取队头数据QueueFront 读取队尾数据QueueBack 元素个数QueueSize 销毁队列QueueDestroy 3.整体代码 (文章中结点和节点是同一个意思) 1.概…

闯关leetcode——203. Remove Linked List Elements

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/remove-linked-list-elements/description/ 内容 Given the head of a linked list and an integer val, remove all the nodes of the linked list that has Node.val val, and return the new …

C语言实现二叉树和堆

1.二叉树概念及结构 1.1概念 一棵二叉树是结点的一个有限集合,该集合: 1. 或者为空 2. 由一个根结点加上两棵别称为左子树和右子树的二叉树组成 从上图可以看出: 1. 二叉树不存在度大于2的结点 2. 二叉树的子树有左右之分,次序不能颠倒&…

案例分析-系统开发基础

案例分析考点分类: 软件架构设计:考质量属性、软件架构分析(第一题)、软件架构评估、MVC架构、SOA架构、ESB、J2EE架构、DSSA、ABSD等(第二题)、系统开发基础:考UML的图、关系的识别,尤其是类图、用例图、活动图、状态图、设计模式…

Flutter 状态管理框架Get

状态管理框架 Get的使用 目录 状态管理框架 Get的使用 GetMaterialApp 路由的注册 路由的跳转 middlewares的使用 组件使用 defaultDialog bottomSheet snackbar 状态刷新有很多种方式 ValueBuilder Obx 基础使用 是时候引入GetxController, 也是Get里面的常用的 G…

DevOps实践:在GitLab CI/CD中集成静态分析Helix QAC的工作原理与优势

基于云的GitLab CI/CD平台使开发团队能够简化其CI/CD流程,并加速软件开发生命周期(SDLC)。 将严格的、基于合规性的静态分析(如Helix QAC所提供)作为新阶段添加到现有的GitLab CI/CD流程中,将进一步增强SD…

华为云购买弹性云服务器(教程)

配置弹性云服务器 基础配置 实例 操作系统

1.CentOS安装

CentOS安装 新建虚拟机 选择安装方式 指定镜像方式 选择操作系统类型 设置虚拟机名称和位置 指定磁盘大小 点击“自定义硬件” 指定内存大小 指定镜像位置 点击“开启此虚拟机” 选择“Install CentOS 7”并回车 选择语言 选择安装“GNOME桌面”环境 配置安装位置 配置网络和…

排序05 排序模型的特征

特征介绍: id embedding,通常用32或64维向量 特征处理 线上服务的系统架构 统计数据是有时效性的,不能缓存在服务器本地。画像可以,保证读取快就好。 tf serving 这里 tensorflow会给笔记打分,分数返回给排序服务器&…

本地docker部署中间件和应用

Docker Desktop搭建 安装完成之后使用docker下载镜像,报以下错误: 解决办法: Docker Engine配置能访问的镜像地址: {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled…

搭建 mongodb 副本集,很详细

搭建 mongodb 副本集,很详细 一、前言二、创建用户1、创建 root 用户2、创建测试用户3、修改用户密码 三、修改配置文件(主节点)1、开启登录认证2、加上副本集3、最终配置文件 四、副本节点1、创建副本节点目录2、编辑配置文件3、启动副本节点…

【python实操】python小程序之参数化以及Assert(断言)

引言 python小程序之参数化以及Assert(断言) 文章目录 引言一、参数化2.1 题目2.2 代码2.3 代码解释 二、Assert(断言)2.1 概念2.1.1 Assert语句的基本语法:2.1.2 基本断言2.1.3 断言函数参数2.1.4 断言前后状态一致 2…

网页HTML编写练习:华语榜中榜

网页效果 HTML代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice…

NLP--一起学习Word Vector【实践】

纸上得来终觉浅&#xff0c;绝知此事要躬行。 《冬夜读书示子聿》 值此1024的程序员节&#xff0c;我们一起学习 Word Vector。 本章一起学习文本向量化&#xff0c;掌握文本向量的相关概念&#xff0c;了解各个文本向量&#xff0c;实现文本向量的算法 我开启了一个NLP共学坊…

arm ubuntu22.04 安装es7.16.2

1、更新软件包 sudo apt update && sudo apt upgrade -y 2、安装jdk11 sudo apt install openjdk-11-jdk -y 安装查看版本 java -version 输出应该是这样的 openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.119-Ub…

【主机漏洞扫描常见修复方案】:Tomcat安全(机房对外Web服务扫描)

文章目录 引言I SSL/TLS Not ImplementedTomcat 服务器 SSL 证书安装部署(JKS 格式)Tomcat 服务器 SSL 证书安装部署(PFX 格式)HTTP 自动跳转 HTTPS 的安全配置(可选)修复SSL证书版本低II 主机漏洞扫描常见修复方案Apache JServ protocol serviceSlow HTTP DEnial of Ser…