15.RedHat认证-Ansible自动化运维(上)

15.RedHat认证-Ansible自动化运维(上)

RHCE8-RH294

Ansible自动化(Ansible版本是2.8.2)

Ansible介绍

1.Ansible是什么?
Ansible是一个简单的强大的无代理的自动化运维工具(Ansible是自动化运维工具)

Ansible特点

简单的Ansible-Simple
Ansible Playbooks是容易理解,容易看懂的。playbooks是非常容易理解和修改的自动化工具。不需要特
别复杂的编程能力就能写playbook。playbook顺序执行task。playbook简单涉及让每个团队都能很容易上手使用强大的Ansible-Powerful
你可以使用ansible来部署应用,进行配置管理,工作流自动化运维,网路自动化运维。Ansible可用于协调
整个应用程序生命周期无代理的Ansible-Agentless
Ansible被建立为无代理的架构。通常,Ansible通过使用OpenSSH或WinRM来连接到被管理的主机并且
经常(但不全是)通过向被管理主机推送叫Ansible模块的小程序来运行tasks。这些程序用于将系统置于
特定的期望状态。任何被推送的模块当ansible任务执行完之后将会被移除。你可以很快的上手ansible,因
为ansible在被管理主机上不需要任何特殊的代理。因为客户端没有代理,所以Ansible是更高效的并且相
比其他的自动化运维工具更安全。

Ansible优势

跨平台支持
Ansible的无代理特性支持Linux,Windows,Unix和网络设备,无论物理机,虚拟机,云主机和容器环境都能支持易懂易上手
被写成YAML的text文件的Ansible Playbooks是易懂的并且能帮助任何人快速理解并上手完美应用描述
Ansible Playbooks可以进行任何更改,并且可以描述和记录应用程序环境的各个方面简单的版本管理
Ansible Playbooks和project是明文的text。它们可以像源代码一样对待并放置在现有的版本控制系统中支持动态的Inventories
Ansible管理的计算机列表可以从外部源动态更新,以便始终捕获所有托管服务器的正确,最新列表,无论基础架构或位置如何与其他系统轻松集成的编排
HP SA,Puppet,Jenkins,Red Hat Satellite和其它的在你环境中的系统都可以被集成到你的Ansible中Ansible是第一种可以跨IT读写的自动化语言。它也是唯一能够从开始到结束自动化应用程序生命周期和连续
交付管道的自动化引擎。

Ansible概念和架构

控制节点
在Ansible的架构中有两种类型的机器,一类是控制节点,一类是被管理主机。Ansible被安装并且运行在
控制节点上,并且这类机器上有你的项目文件的副本。控制节点可以是管理员的笔记本,也可以是一个被
很多管理共同使用的系统,也可以是一个运行Ansible Tower的服务器。被管理主机-Inventory
被管理主机被列在Inventory中,inventory将这些被管理主机组织进不同的group中进行管理。inventroy
可以被定义在静态的text文件中,或者被定义在动态的脚本中。Playbook
不用写复杂的脚本,Ansible用户创建高等级的plays来保证主机处在特定的状态。一个剧本在主机上执行
一系列的任务。这些剧本在text文件中被表达为YAML的格式。一个包含一个或更多的play文件叫做
playbook。Task
每个task运行一个带着特定参数的module,每个module都是一段很少的代码,该代码可以用Python,
PowerShell或其他的语言写。每个模块本质上都是工具包中的工具。Ansible附带了数百个可用于执行各种
自动化任务的有用模块。这些模块可以操作系统中的文件,安装软件或者做系统调用。安全的多次运行
当在task中使用模块时,模块通常确保关于机器的某些特定事物处于特定状态。例如,task结余使用模块来
确定一个文件是否存在,是否有特定的权限和内容,而使用不同模块的任务可以确保挂载了特定的文件系
统。如果系统不在那个状态,task将会将系统置成那个状态。如果系统已经处在了那个状态,它将什么都
不会做。如果一个task失败了,Ansible的缺省行为是为失败的主机终止剩余的剧本。Tasks,Plays和
playbook是idempotent(幂等的)。你可以在同样的主机上安全的运行多次同样的playbook,并且当你的
系统处在正确的状态时,playbook当运行时将不会做任何改变。Ansible插件
Ansible也使用插件。插件是您可以添加到Ansible来扩展它,并且能适应新用途和平台的代码。Ansible架构
Ansible架构是无代理的。通常,当一个管理员运行一个Ansible Playbook或者ad hoc命令时,控制节点
通过使用SSH或WinRM来连接到被管理主机。这意味着在被管理主机客户端不必安装特定的代理软件,并
且不必允许特殊的网络流量传输到非标准端口

rh294虚拟机(实验环境)

实验环境分享链接

链接:https://pan.baidu.com/s/1883uarHug1aJVWRmIt-XaQ
提取码:6666

rh294虚拟机的账号和密码
username:kiosk
password:redhat
username:root
password:Asimov
登陆环境时,选择kiosk用户登陆,不要用root登陆

classroom environment

在这里插入图片描述

在rh294的机器里面有7个基于KVM的虚拟机,分别如下:
workstation虚拟机(作为ansible control host)
servera,serverb,serverc,serverd(作为ansible managed host)
bastion(提供了一个外部网络)
classroom虚拟机(提供了练习环境脚本,软件仓库,课程材料)
你如果想管理这些教学环境的虚拟机,不需要掌握虚拟化知识。红帽提供了非常方便的管理工具rht tools。
red hat training tools。这些虚拟机的启动顺序,先启动classroom,在启动剩下所有的虚拟机。
刚开始的环境,虚拟机并没有在环境中存在,需要使用命令拉取虚拟机。[kiosk@foundation0 ~]$ rht-vmctl fullreset classroom
Are you sure you want to full reset classroom? (y/n) y
Powering off classroom..
Full resetting classroom.
Creating virtual machine disk overlay for rh294-classroom-vda.qcow2
Starting classroom.
rht-vmctl命令就是rht tools。
rht-vmctl fullreset的意思就是完全重置某个虚拟机(虚拟机的删除重建)

在这里插入图片描述

classroom启动之后,我们第一次加载环境,需要将其他的虚拟机文件全部加载到环境里面
[kiosk@foundation0 ~]$ rht-vmctl fullreset all   #将除了classroom之外的所有虚拟机全部删除重建
即使你有kvm虚拟化的管理经验,也不建议你用kvm的相关操作来管理
[kiosk@foundation0 ~]$ su -
Password:
[root@foundation0 ~]# virsh destroy servera   # 立即停止某个虚拟机
Domain servera destroyed
[root@foundation0 ~]# virsh list --all
Id Name State
----------------------------------------------------
8 classroom running
9 bastion running
10 workstation running
12 serverb running
13 serverc running
14 serverd running
- servera shut off
[root@foundation0 ~]# virsh start servera
Domain servera started
[root@foundation0 ~]# virsh list --all
Id Name State
----------------------------------------------------
8 classroom running
9 bastion running
10 workstation running
12 serverb running
13 serverc running
14 serverd running
15 servera running
墙裂建议用rht tools来管理这些虚拟机
rht-vmctl status all 查看所有虚拟机的状态
[kiosk@foundation0 ~]$ rht-vmctl status all
bastion RUNNING
workstation RUNNING
servera RUNNING
serverb RUNNING
serverc RUNNING
serverd RUNNING
[kiosk@foundation0 ~]$ rht-vmctl status classroom
classroom RUNNING

在这里插入图片描述

virt-manager命令可以打开图形化的KVM工具

在这里插入图片描述

[kiosk@foundation0 ~]$ rht-vmctl reset all
#相当于将所有的虚拟机都恢复快照[kiosk@foundation0 ~]$ rht-vmctl poweroff all
#关闭所有的虚拟机
all不包含classroom[kiosk@foundation0 ~]$ rht-vmctl status all
bastion DEFINED
workstation DEFINED
servera DEFINED
serverb DEFINED
serverc DEFINED
serverd DEFINED
[kiosk@foundation0 ~]$ rht-vmctl start all  # 启动所有的虚拟机
[kiosk@foundation0 ~]$ rht-vmctl status all
bastion RUNNING
workstation RUNNING
servera RUNNING
serverb RUNNING
serverc RUNNING
serverd RUNNING[kiosk@foundation0 ~]$ rht-vmctl poweroff servera
Are you sure you want to poweroff servera? (y/n) y
Powering off servera..[kiosk@foundation0 ~]$ rht-vmctl status all
bastion RUNNING
workstation RUNNING
servera DEFINED
serverb RUNNING
serverc RUNNING
serverd RUNNING#-----------------------------------------------------------------------------------------------------
教学环境的主机解析文件
[kiosk@foundation0 ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
::1 localhost localhost.localdomain localhost6
localhost6.localdomain6
### rht-vm-hosts file listing the entries to be appended to /etc/hosts
#
172.25.250.9 workstation.lab.example.com workstation
172.25.250.10 servera.lab.example.com servera
172.25.250.11 serverb.lab.example.com serverb
172.25.250.12 serverc.lab.example.com serverc
172.25.250.13 serverd.lab.example.com serverd
172.25.250.254 bastion.lab.example.com bastion在rh294的环境里面classroom给我们提供了两个web网站,分别是content.example.com和materials.example.com
# 可以在虚拟机里的浏览器里直接访问

如何操作我们的RH294环境

我们后面的练习都是通过rh294的物理操作系统连接到workstation来操作
workstation是我们的ansible control节点
servera~d是我们的ansible managed节点
几乎所有的虚拟机的root密码都是redhat
除了root用户之外还有一个叫做student的特权用户,该用户的密码是student
classroom的root密码是Asimov在rhel8系统,ansible会自动的根据你的平台的python版本去选择。
[student@workstation ~]$ yum list platform-python
如果你是rhel系统,需要使用订阅命令通过RHN连到红帽的软件仓库进行下载安装。
在教学环境里面,已经给我们集成了相关的软件仓库。#Workstation是ansible的控制节点,我们只在控制节点安装ansible即可,被管理节点不需要安装Ansible!!![student@workstation ~]$ sudo yum -y install ansible
[sudo] password for student:
Last metadata expiration check: 0:49:06 ago on Wed 03 Jun 2020 09:34:52 PM
CST.
Package ansible-2.8.0-1.el8ae.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!# 查看控制节点的python版本,
# 切记:被管理主机必须要有python环境
[student@workstation ~]$ ansible --version
ansible 2.8.0config file = /etc/ansible/ansible.cfgconfigured module search path = ['/home/student/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']ansible python module location = /usr/lib/python3.6/site-packages/ansibleexecutable location = /usr/bin/ansiblepython version = 3.6.8 (default, Apr  3 2019, 17:26:03) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)]

Ansible安装练习(Lab环境的安装)

[kiosk@foundation0 ~]$ ssh workstation
[student@workstation ~]$ lab intro-install start # 其实这个脚本里删除了ansible,就是想让我们自己练习安装ansible[student@workstation ~]$ sudo yum -y install ansible # 安装ansible[student@workstation ~]$ ansible --version
ansible 2.8.0
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/student/.ansible/plugins/modules',
'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible 	# ansible模块的位置
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Apr 3 2019, 17:26:03) [GCC 8.2.1
20180905 (Red Hat 8.2.1-3)][student@workstation ~]$ lab intro-install finish
Cleaning up environment:
. Cleaning up................................................. SUCCESS

CentOS8安装ansible

[root@control-host ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
#确保internet的可达性[root@control-host ~]# yum repolist
如果想在centos上安装ansible有两种方法,一种是源码包安时,还有一种是通过epel软件仓库安装[root@control-host ~]# yum -y install epel-release
# 上面软件安装完成之后会自动帮你生成epel的软件仓库
[root@control-host ~]# yum repolist# 安装ansible
[root@control-host ~]# yum list | grep ansible
-----------------------------------------------------
ansible.noarch 2.9.9-1.el8	epel
ansible-doc.noarch 2.9.9-1.el8	epel
ansible-freeipa.noarch 0.1.6-4.el8	AppStream
centos-release-ansible-29.noarch 1-2.el8	extras
-----------------------------------------------------
[root@control-host ~]# yum -y install ansible
[root@control-host ~]# ansible --version
---------------------------------------------------
ansible 2.9.9
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules',
'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, May 21 2019, 23:51:36) [GCC 8.2.1
20180905 (Red Hat 8.2.1-3)]
----------------------------------------------------------------

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

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

相关文章

Anconda安装

参考: centos7篇---安装anaconda_centos7安装anaconda-CSDN博客 CentOS 7 上安装 Anaconda_centos安装conda-CSDN博客 CentOS7 安装Anaconda 的步骤_centos7安装anaconda-CSDN博客 centos7 如何安装与使用 Anaconda - 码农教程 下载 wget命令 wget https://repo.anaconda…

springboot+minio+kkfileview实现文件的在线预览

在原来的文章中已经讲述过springbootminio的开发过程,这里不做讲述。 原文章地址: https://blog.csdn.net/qq_39990869/article/details/131598884?spm1001.2014.3001.5501 如果你的项目只是需要在线预览图片或者视频那么可以使用minio自己的预览地址进…

Linux Ext2/3/4文件系统

文章目录 前言一、Linux文件系统简介1.1 简介1.2 Linux File System Structure1.3 Directory Structure 二、Ext2/3/4文件系统2.1 Minix2.2 EXT2.3 EXT22.4 EXT32.5 EXT4 三、EXT Inode参考资料 前言 这篇文章介绍了Linux文件系统的一些基础知识:Linux 文件系统简介…

推荐网站(22)GeoSpy,根据图片显示地理位置

今天推荐一款名为GeoSpy的AI工具。它利用人工智能技术,通过分析照片中的光线、植被、建筑风格等细节线索,实现对拍摄地点的精确定位。令人难以置信的是,它对位置的定位准确度非常高。 GeoSpy之所以智能如此,是因为它将输入的照片与大量的街景和地理图像…

【LLM】度小满金融大模型技术创新与应用探索

note 从通用大模型到金融大模型金融大模型的训练技术创新金融大模型的评测方法创新金融大模型的应用实践创新总结:金融大模型迭代路径 一、轩辕大模型 二、垂直大模型训练 1. 数据准备 数据质量是模型效果的保障。首先数据要丰富,这是必备的条件。我们…

YASKAWA机器人HW1171921-B电缆维修

安川机器人作为现代工业自动化的重要设备,其稳定运行对于生产线的连续性和效率至关重要。然而,随着使用时间的增长,可能会出现各种YASKAWA机器人本体线缆故障,如断线、短路、接触不良等。 一、安川工业机器人电缆维修前的准备 在进…

大模型的现状与未来:探索腾讯元宝APP及其他AIGC产品

前言 随着近日腾讯元宝APP的正式上线,国内大模型产品又添一员。近年来,随着人工智能技术的快速发展,AIGC(AI生成内容)产品逐渐成为技术与商业应用的热点。各大互联网厂商纷纷推出自己的大模型产品,以期在这…

疑惑...2024年是不是转行AI产品经理的好时机?

前言 这两年AI突然“火起来” 了 ,算是出现了一个“大转折”。 因为就在这2年里,全球所有“大厂”几乎同一时间挤破头在跟进AI技术,从ChatGPT发布,到谷歌、Facebook、亚马逊等都紧跟其后,再到国内百度、腾讯、阿里、…

蓝牙芯片TD5322A,蓝牙5.1数传芯片介绍—拓达半导体

蓝牙芯片原厂,拓达芯片TD5322A是一颗支持蓝牙BLE和SPP的数传芯片,蓝牙5.1版本。芯片的优点是尺寸小(SOP-8封装),性能强,价格低,以及简单明了的透传和串口AT控制功能,大大降低了在其它电子产品中…

C++学习笔记(23)——二叉树进阶

系列文章 http://t.csdnimg.cn/QDR3y 目录 系列文章[TOC](目录) 1. 二叉树的优势2. 二叉搜索树概念3. 二叉搜索树操作1. 二叉搜索树的查找2. 二叉搜索树的插入——地址链接重设3. 二叉搜索树的删除——地址链接重设 4. 二叉搜索树的应用——以key为载体,承载复杂信…

在矩池云使用GLM-4的详细指南(无感连GitHubHuggingFace)

GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本,在多项测试中表现出超越已有同等规模开源模型的性能,它能兼顾多轮对话、网页浏览、代码执行、多语言、长文本推理等多种功能,性能更加强大。其多模态语言模型GLM-4V-9B在…

生产环境部署meilisearch(Running a self-hosted Meilisearch project in production)

官网的第一手资料学新技术:meilisearch官方文档 安装的官网地址:meilisearch安装的官网 部署在生产环境的指导:meilisearch部署在生产环境的指导 Elasticsearch 做为老牌搜索引擎,功能基本满足,但复杂,重…

vscode软件上安装 Fitten Code插件及使用

一. 简介 前面几篇文章学习了 Pycharm开发工具上安装 Fitten Code插件,以及 Fitten Code插件的使用。 Fitten Code插件是是一款由非十大模型驱动的 AI 编程助手,它可以自动生成代码,提升开发效率,帮您调试 Bug,节省…

Qt5/6使用SqlServer用户连接操作SqlServer数据库

网上下载SQLServer2022express版数据库,这里没啥可说的,随你喜欢,也可以下载Develop版本。安装完后,我们可以直接连接尝试, 不过一般来说,还是下载SQLServer管理工具来连接数据更加方便。 所以直接下载ssms, 我在用的时候,一开始只能用Windows身份登录。 所以首先,我…

前端数据模拟Mock.js

新建mock-demo的项目,安装npm install mockjs 新建index.js //引入mockjs import Mock from mockjs //设置延迟时间 // Mock.setup({ // timeout:4000 // }) //使用mockjs模拟数据 Mock.mock(/product/search,{"ret":0,"data":{"mtim…

金融上云及信创改造过程中的新老设备兼容性、虚拟化多池管理简化、提升故障恢复能力等问题及解决方案|金融行业数字化QA合集②

Q:金融机构如何解决新老设备间的兼容性问题? 我行在虚拟化资源池扩容时,新采购的服务器与原有的服务器存在代差,容易出现新服务器的CPU架构与原有服务器不同,可能导致虚拟机迁移或运行时的性能问题或不兼容&#xff1…

探索Facebook对世界各地文化的影响

随着数字化时代的到来,社交媒体已成为连接世界各地人们的重要平台之一。而在这个领域的巨头之一,Facebook不仅是人们沟通交流的场所,更是一座桥梁,将不同地域、文化的人们联系在一起。本文将探索Facebook对世界各地文化的影响&…

一户一表集中抄表:现代化大都市管理的新模式

1.定义分析 一户一表集中抄表是一种现代化能源管理体系方法,广泛应用于电力工程、供水公司、天然气等行业。这个模式下,每一个用户都有独立的电能表,这种表集中化在一处进行在线数据载入,大大提升了抄水表效率精确性。用这种方式…

如何挑选靠谱的软件开发公司?

在数字化的大潮中,企业商家都明白一个道理:没有一艘强大的软件开发公司“战舰”,想在商海中乘风破浪可不容易。但问题是,市场上那么多软件开发公司,如何挑选出最靠谱的那一家呢?别急,这篇文章就…

今日成果2024-6-7 TrustZone TEE安全SDK开发指南

Rockchip Vendor Storage Application Note.pdf OK 开机下,可以实现Vendor Storage的读写。 0ms时同步RTC时间 OK Rockchip_Developer_Guide_TEE_SDK_CN.pdf 什么是TrustZone 此系统方法意味着可以保护安全内存、加密块、键盘和屏幕等外设,从而可确…