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

这篇具有很好参考价值的文章主要介绍了K8S系列文章之 自动化运维利器 Ansible。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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 等来管理自定义模块及编排

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

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


由上面的图可以看到 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,如果没有需要安装(注意版本,版本过低,也可能导致安装失败)。

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

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

yum -y install epel-release

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

......

ansible安装:

 yum -y install ansible

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

.......

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

vim /etc/ansible/hosts

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

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

test2 192.168.254.131

test3 192.168.254.132

到这里ansible就安装完成了。

测试:

ansible all -m ping 

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

结果:成功!

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

K8S系列文章之 自动化运维利器 Ansible,运维,kubernetes,自动化文章来源地址https://www.toymoban.com/news/detail-637753.html

到了这里,关于K8S系列文章之 自动化运维利器 Ansible的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S自动化运维容器化(Docker)集群程序

    1.什么是K8S K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container Schedul

    2024年02月10日
    浏览(68)
  • 【Kubernetes 企业项目实战】06、基于 Jenkins+K8s 构建 DevOps 自动化运维管理平台(中)

    目录 一、基于 Jenkins+k8s+Git+Docker Hub 等技术链构建企业级 DevOps 容器云平台 1.1 安装 Jenkins 1.1.1 安装 nfs 服务 1.1.2 在 kubernetes 中部署 jenkins 1.2 配置 Jenkins ​1.2.1 获取管理员密码 1.2.2 安装插件 1.2.3 创建第一个管理员用户 1.3 测试 jenkins 的 CI/CD 1.3.1 在 Jenkins 中安装 kubernetes 插件

    2024年01月16日
    浏览(77)
  • k8s自动化安装脚本(kubeadm-1.26.3)

    通过kubeadm进行一键式部署k8s集群 根据不同的启动方式,可部署单节点、一主多从、多主多从高可用的k8s集群 通过ansible快速部署k8s的基础组件(helm、nfs、ingress、monitoring【联网|离线镜像】、kuboard) 通过部署包中的run.sh进行统一入口,进行初始化环境(部署节点) ansible+shell实现自

    2024年02月01日
    浏览(61)
  • K8S + GitLab + Jenkins自动化发布项目实践(二)

    前置工作:已部署5节点k8s集群,并搭建了代码仓库和镜像仓库(GitLab + Harbor)。 主机名 IP 角色 k8s-master1 192.168.124.a k8s控制平面 k8s-master2 192.168.124.b k8s控制平面 k8s-master3 192.168.124.c k8s控制平面 k8s-worker1 192.168.124.d k8s工作节点 k8s-worker2 192.168.124.e k8s工作节点 harborgit 192.168.124.f

    2024年02月03日
    浏览(84)
  • docker+k8s+jenkins+harbor持续集成自动化部署

    另外一篇文章有讲docker的安装与相关配置,暂时就不讲了 1、关闭防火墙并修改主机名 2、永久禁用swap 用#注释掉swap一行(新版centos已经默认禁用) 3、配置镜像加速 到阿里云获取自己镜像加速地址 4、安装 docker-compose 官网找到下载地址 https://github.com/docker/compose/releases 版本地址

    2024年02月08日
    浏览(63)
  • 自动化部署实践 (Jenkins+Git+Docker+阿里云k8s)

    项目前期部署都是手动部署,所以相关工具基本都已经安装,主要使用的工具有: 使用Gitlab管理代码 使用Maven打包 使用Docker构建镜像(已经有相关的DockerFile文件) 在阿里云kubernetes上部署。 所以,在这次自动化部署过程中,需要做的是安装Jenkins并完成相关配置,然后通过流

    2024年02月05日
    浏览(72)
  • 【kubernetes】Argo Rollouts -- k8s下的自动化蓝绿部署

    在现代软件开发和交付中,确保应用程序的平稳更新和发布对于用户体验和业务连续性至关重要。蓝绿部署是一种备受推崇的部署策略,它允许开发团队在不影响用户的情况下,将新版本的应用程序引入生产环境。 蓝绿部署的核心思想在于维护两个独立的环境:蓝环境和绿环

    2024年02月10日
    浏览(38)
  • DevOps搭建(十九)-Jenkins+K8s自动化CI搭建详细步骤

    完整的pipeline-auto.yml脚本如下 完整的Jenkinsfile脚本如下 在Jenkins插件管理中搜索GitLab插件进行安装。 进入Jenkins项目配置里的 构建触发器 ,勾选如下选项: 从系统管理-系统配置-Gitlab将验证去掉,生产最好配置保证安全。 如果是GitLab和Jenkins在同一台服务器,需要开启允许请求

    2024年01月23日
    浏览(93)
  • K8S搭建自动化部署环境(五)Harbor私有仓库的搭建全过程

    各位大佬,前文如下: K8S搭建自动化部署环境(一)安装Kubernetes K8S搭建自动化部署环境(二)安装K8S管理工具Kuboard V3 K8S搭建自动化部署环境(三)Jenkins下载、安装和启动 K8S搭建自动化部署环境(四)Jenkins多分支流水线Blue Ocean的安装和使用 本文正文: 首先,下载harbor包,

    2024年02月05日
    浏览(55)
  • 【Kubernetes部署篇】Ansible自动化工具离线部署K8s 1.27版本

    一、前提须知 采用kubeadm方式,目前只支持 单Master,多Node部署架构 需要主机网络互通,没有网络限制 需要使用root用户权限进行部署 二、使用Ansible部署K8S集群步骤 第一步:获取离线安装包 百度网盘获取 MD5:97d1f48bff3a345429b551b877c7c53d 第二步:安装ansible命令,压缩包中提供

    2024年02月14日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包