K8S系列文章之 自动化运维利器 Ansible

news2024/11/27 2:26:48

Ansible-安装

第一步:安装我们的epel扩展源

yum -y install epel-release

我这里会报/var/run/yum.pid 已被锁定,如果没有直接进行下一步

[root@master home]# yum -y install epel-release
已加载插件:fastestmirror, langpacks
/var/run/yum.pid 已被锁定,PID 为 22410 的另一个程序正在运行。
Another app is currently holding the yum lock; waiting for it to exit...
  另一个应用程序是:PackageKit
    内存: 30 M RSS (449 MB VSZ)
    已启动: Thu May  4 20:06:59 2023 - 00:23之前
    状态  :睡眠中,进程ID:22410

解决方法:删除/var/run/yum.pid,即 rm -rf /var/run/yum.pid ,重新执行第一步

第二步:安装 ansible

yum -y install ansible

如果还报/var/run/yum.pid 已被锁定,还是直接进行删除,然后重新执行 yum -y install ansible

第三步,验证是否安装成功 ansible --version 

[root@master home]# 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, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

此时 ansible 已成功安装

常用的自动化运维工具

Puppet —基于 Ruby 开发,采用 C/S 架构,扩展性强,基于 SSL,远程命令执行相对较弱
SaltStack —基于 Python 开发,采用 C/S 架构,相对 puppet 更轻量级,配置语法使用 YMAL,使得配置 脚本更简单 Ansible —基于 Pythonparamiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2 模板语言,更强的远程命令执行操作 其他 DevOps 请参看:https://github.com/geekwolf/sa-scripts/blob/master/devops.md
Ansible 是一个简单的自动化运维管理工具,可以用来自动化部署应用、配置、编排 task(持续 交付、无宕机更新等),采用 paramiko 协议库(fabric 也使用这个),通过 SSH 或者 ZeroMQ 等连 接主机,大概每 2 个月发布一个主版

Ansible 工作机制

Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执 行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排


由上面的图可以看到 Ansible 的组成由 5 个部分组成:

Ansible:核心引擎

Modules:包括 Ansible 自带的核心模块(core modules)及自定义模块 (custom modules);

                核心模块:ansible模块资源分发到远程节点使其执行特定任务或匹配一个特定的状态。

                自定义模块:如果核心模块不足以完成某种功能,可以添加自定义模块。

Plugins:完成模块功能的补充,包括连接插件、邮件插件等

Playbooks:网上很多翻译为剧本,个人觉得理解为编排更为合理;定义ansible任务的配置文件,可以将多个任务定义在一个剧本中,由ansible自动执行,剧本执行支持多个任务,可以由控制主机运行多个任务,同时对多台远程主机进行管理。

Inventory:定义 Ansible 管理主机的清单

ansible功能特性

  • 应用代码自动化部署。
  • 系统管理配置自动化。
  • 支持持续交付自动化。
  • 支持云计算、大数据平台(如AWS、OpenStack、VMWare等)环境。
  • 轻量级,无需在客户端安装agent,更新时只需在控制机上进行一次更新即可。
  • 批量任务执行可以写成脚本,不用分发到远程就可以执行。
  • 使用Python编写,维护更简单,Ruby语法过于复杂。
  • 支持非root用户管理操作,支持sudo。

二.安装ansible

安装前准备:

1.因为ansible是基于python的,所以先检查是否有python,如果没有需要安装(注意版本,版本过低,也可能导致安装失败)。

2.安装ansible前需要安装依赖包

yum -y install epel-release

......

ansible安装:

 yum -y install ansible

.......

 安装完成后需要配置机组:

vim /etc/ansible/hosts

这里我的机组名为[ccdoop],以下是我的另外2台机子的配置(本机为:test1:192.168.254.130)

test2 192.168.254.131

test3 192.168.254.132

到这里ansible就安装完成了。

测试:

ansible all -m ping 

结果:成功!

注:由于本机只有一个组[ccdoop],故用all,如果有多个机组,而你只想测试一个组的话可以把all替换为组名,如:

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

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

相关文章

Bean的Aware接口

Aware 简介 Spring中提供了一些以Aware结尾的接口,实现了Aware接口的bean在被初始化之后,可以获取相应资源。比如BeanNameAware之类的以Aware结尾的接口,这个接口获取的资源就是以BeanName相关的。 通过Aware接口,可以对Spring相…

以产品经理的角度去讲解原型图---会议OA项目

目录 一.前言 二.原型图 2.1 原型图是什么 3.1 原型图的作用 三.演示讲解 3.1 项目背景 3.2 项目介绍 3.2.1 会议管理(会议的发起,通知) 3.2.2 投票管理(会议的流程重大决策记录) 3.2.3 会议室管理 3.2.4 系统管…

SDXL-Stable Diffusion改进版

文章目录 1. 摘要2. 算法:2.1 结构:2.2 微小的条件机制2.3 多宽高比训练2.4 改进自编码器2.5 所有组合放到一起2.6 主流方案比较 3. 未来工作4. 限制 论文: 《SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis…

HCL MPLS L2VPN BGP lsp

目录 1 拓扑 2 配置步骤 2.1 配置接口IP 和路由协议 2.2 配置MPLS LDP 2.3 配置L2VPN PW(BGP) 2.4 验证L2VPN 使用EVE-NG 中 的H3C 镜像,配置bgp 后,OSPF 会失效,可能镜像有问题,使用HCL没有问题。 1 拓扑 2 配置步骤 2.1…

【Axure动态面板】利用动态面板实现树形菜单的制作

利用动态面板,简单制作高保真的树形菜单。 一、先看效果 https://1poppu.axshare.com 二、实现思路 1、菜单无非就是收缩和展开,动态面板有个非常好的属性:fit to content,这个属性的含义是:面板的大小可以根据内容多少…

vue3-ts-vite:vue 项目 配置 多页面应用

一、Vue项目,什么是多页面应用 Vue是一种单页面应用程序(SPA)框架,这意味着Vue应用程序通常只有一个HTML页面,而在该页面上进行动态的内容更改,而不是每次都加载新的HTML页面。 但是,有时候我…

C++动态内存管理 - new和delete

目录 开胃菜 - 浅析C/C的内存分段 内存分段 各段说明 new和delete的基础用法 深度剖析new 定位new 浅析delete malloc/free和new/delete的异同 开胃菜 - 浅析C/C的内存分段 这部分是计算机系统相关的知识,这里只是先浅谈一下,可能有些内容会有冲…

初学绘画就上手!7款AI绘图免费软件精选推荐!

本篇文章将分享7款个人非常喜爱的AI绘图免费软件,一起来看看吧。 即时灵感 即时灵感 " 是一款全新升级的 AI 绘画工具,为创作者们提供了丰富多样的创作体验和强大功能。这个创新工具旨在让创作过程更加简单、便捷,同时提供高质量的作品…

Jenkins+Nginx+vue

安装nodejs 在这里插入图片描述 echo off xcopy C:\ProgramData\Jenkins\.jenkins\workspace\super_manage_vue\dist F:\java\www\super_manage_vue\ /s /e /y echo 复制文件完成 exit安装niginx 配置文件如下 #user nobody; worker_processes 1;#error_log logs/error.lo…

反射调用private方法的坑

使用反射调用私有方法时,发现空指针异常,无法直接注入导致空指针异常 加入如下代码后,恢复正常 if (AopUtils.isCglibProxy(marketSmsTaskService)) {// 如果是cglib代理对象,则转为原始对象marketSmsTaskService (MarketSmsTas…

与身边的人有差距,我选择只跟自己比并发展自己的长处!

文章目录 方向一:简述自己的感受方向二:聊聊你想怎么做方向三:如何调整自己的心态 虽然清楚知识需要靠时间沉淀,但在看到自己做不出来的题别人会做,自己写不出的代码别人会写时还是会感到焦虑怎么办? 你是…

链表OJ题

题目一:206反转链表 题目要求: 思路分析: 代码实现: struct ListNode* reverseList(struct ListNode* head){ //n1,n2反转指针 n3链接下一个结点的指针struct ListNode* n1,*n2,*n3;n1 NULL;n2 head;if(n2)//有可能head本身…

CentOS7 启动谷歌浏览器 java+Selenium+chrome+chromedriver

前言:自己想使用该技术实现自动化抓取音乐,目前在window上运行成功,需要在Linux Centos服务上跑,配置上出现了许多问题,特此记录。 参考文档:CentOS7 安装Seleniumchromechromedriverjava_远方丿的博客-CSD…

PLC拉格朗日插值(SCL、ST计算源代码)

插值是对函数进行近似的基本方法,这篇博客主要介绍常用的拉格朗日插值法, Lagrange插值法不太清楚的同学,可以看看数值计算和分析类书籍,网上有很多C语言的拉格朗日插值算法,这里我们主要给出在PLC里利用ST,SCL语言完成拉格朗日插值计算。 1、拉格朗日插值FC 插值法可以…

TSINGSEE青犀视频安防监控视频平台加密机的详细使用与操作步骤

我们在此前的文章中介绍过不少TSINGSEE青犀视频安防监控视频平台关于加密机授权操作及相关疑问解答,感兴趣的用户可以翻阅往期的文章进行了解。由于新用户咨询该方面的问题较多,今天我们再来介绍一下操作步骤。 注意:加密机是依据IP授权&…

第三章-运输层

运输层服务 运输层协议为运行在不同主机上的进程之间提供逻辑通信,即从应用程序角度看两个主机好像直连一样,实际可能相隔万里运输层协议是在端系统上实现的,而不是路由器,为什么这么强调,因为运输层会将应用报文划分…

ctfshow web93-98

web93 打开环境是一个代码审计题目 简单分析就是输入一个变量num,其值不能等于4476与包含字母,但是他的值需要为4476 函数intval作用为获取变量的整数值,第二个参数的意思是进制,默认为10进制。题目参数为0,就根据变…

【数据结构与算法】力扣:完全二叉树的节点个数+平衡二叉树

完全二叉树的节点个数 给你一棵完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最…

本地搭建web服务器、个人博客并发布公网访问

文章目录 前言1. 安装套件软件2. 创建网页运行环境 指定网页输出的端口号3. 让WordPress在所需环境中安装并运行 生成网页4. “装修”个人网站5. 将位于本地电脑上的网页发布到公共互联网上 前言 在现代社会,网络已经成为我们生活离不开的必需品,而纷繁…

YOLOv5项目调试与实战

拥有青春的时候 你就要感受它 不要浪费你的黄金时代 把宝贵的内在生命活出来 什么都别错过 一、项目介绍与环境配置 github地址 选择5.0版本的tag,并下载源码 使用Pycharm打开代码 选择解释器,我选择的是之前conda创建的pytorch环境 安装项目所需要用到…