专栏首页大魏分享(微信公众号:david-share)IT运维之路-从标准化到自动化(第一篇)

IT运维之路-从标准化到自动化(第一篇)

前言

笔者在上一篇文章《从Gartner IT成熟度模型谈Linux运维》中已经提到了红帽卫星。在这篇文章中,笔者主要介绍了如何通过红帽卫星提升客户OS 运维成熟度模型。但红帽卫星能做的事情不仅限于此,它是红帽SOE(Standard Operating Environment)架构的落地工具。本文主要从架构角度介绍红帽卫星的功能。由于内容较多,计划分三篇完成。

红帽卫星的核心,是围绕着生产运维标准化和自动化展开的。标准化的好处,笔者在上一篇文章已经做过介绍,本文不再赘述。至于红帽卫星如何通过自身功能,实现标准化和自动化,是本系列文章介绍的重点。

红帽卫星与开源项目的关系

笔者在之前的文章不断贯彻一个理念:红帽的企业级产品,在社区均有其对应的开源项目。红帽卫星也不例外,与它相关的开源项目有5个:

而红帽卫星的功能有四个,将它们对应起来的关系是:

Satellite

Provisioning

Configuration Management

Subscription Management

Software Management

开源项目

FOREMAN

Puppet

Candlepin

Pulp+Katello

需要注意的是,以上的对应关系是从架构角度考虑的,而非具体技术细节。例如,拿Foreman来说,Foreman是一个物理和虚拟服务器的完整的生命周期管理工具(Foreman is a complete lifecycle managementtool for physical and virtual servers),它是一个框架性的工具,在部署操作系统的时候,又可以调用Kickstart、jumpstart、Puppet等工具。由于篇幅有限,这里不一一详细展开讲述。

那么,红帽的几个核心功能分别是做什么用的呢?下面进行详细介绍。

红帽卫星核心功能介绍

从里往外顺时针看,红帽卫星的核心功能分别为:Provisioning, Configuration Management, Subscription Management,Software Management。

Provisioning功能如下:

  • 可在裸金属,虚拟化和基于云的环境中进行操作系统以及应用的部署
  • 联邦式的内容分发
  • 支持基于build以及基于镜像的部署
  • 发现还未被部署的的主机

软件管理的功能如下:

  • 定义和管理标准的操作环境
  • 针对安全漏洞(Heartbleed/shellshock)快速的相应
  • 遵守组织内部的相关安全策略
  • 部署所有红帽相关的基础设施以及第三方软件

订阅管理的功能如下:

  • 集中的管理订阅使用
  • 维护准确的库存和利用率的相关信息
  • 按小组为单位的订阅消耗报告

配置管理的功能如下:

  • 定义系统所需的状态
  • 管理和修复配置状态漂移
  • 变更时的审核及报告

所以,红帽卫星第一件做的事情,就是让客户的操作环境标准化。然而,在数据中心,在实现标准化的基础上,更进一步的追求是自动化。

自动化的目的是,使用工具代替人工,尽量淡化人为操作。人在此过程中只起到启动服务和监控的作用。它的好处是:

  • 工具代替人工,提高工作效率。
  • 工具代替人工,避免人为失误。让操作员可以花更多精力在服务的运行质量和效率方面。

在红帽卫星的四大核心功能中,标准化和自动化的角色是相互依存,密不可分的。非严格意义上,可以认为:软件管理、订阅管理、配置管理更偏向于实现标准化,而Provisioning更偏向于自动化,它实现的是OS和应用安装部署的自动化。

红帽卫星的架构

红帽卫星的管理架构,分为两部分:Satellite Server、Satellite Capsule。

我们知道RHEL的服务是基于订阅的。RHEL购买订阅服务以后,需要进行注册,然后可以从红帽在线获取补丁包、升级包等。

RHEL注册的方法:

#subscription-manager register

而有了红帽卫星以后,由Satellite Server负责从红帽同步客户购买的产品订阅,集中存储起来,并进行管理,更新这些订阅相关的软件包或puppet模块,并把软件包或puppet模块按需同步到一个或多个capsule server;

关于红帽卫星中的Satellite Server和Capsule server,相对比较正式的说法如下:

Capsule server:主要负责与受管主机直接进行通信;它得到从Satellite server同步过来的软件包或puppet模块等内容,成为了一个远程的yum源以及puppet master,供受管主机进行软件包的安装及更新和系统配置的同步;它能够根据受管主机所属的组织机构和位置的不同扩展出多个节点,极大地分散了负载,受管主机的规模也能轻松扩展;另外,当需要系统部署功能时,它也提供了PXE环境和kickstart模板;

按照比较容易理解的方式讲:Satellite Server负责从红帽获取软件包、Puppet模块等,然后用它给受管操作系统使用(可以是物理机、虚拟机、云环境中的RHEL操作系统)。但是,如果在一个比较大的数据中心,一个Satellite Server是远远不够的。此外,有的客户想跨区域对多个数据中心统一管理,仅仅靠一个Satellite Server是不够的,这就需要Capsuleserver。

比如,一个客户有两个数据中心,一个在天津。两个数据中心要实现一体化标准运维。那么,就可以通过一套红帽卫星实现。将Satellite Server放置在一个数据中心,如北京,它管理北京数据中心并负责订阅产品的下载。Capsule server则放置在天津数据中心,它负责上海数据中心以及从北京数据中心的SatelliteServer同步内容。通过Satellite Server和Capsule server,既实现了多数据中心运维的统一性,又实现了管理模块的分布式。

红帽卫星深入分析

要深入了解红帽卫星的四大功能,首先要了解一些基本概念。

  • 组织

Organization组织:红帽卫星中租户的概念。我们先看一下,创建组织的步骤:

输入组织名称:

接下来,选择主机,也就是选择计算资源。点击“全部分配”:

可以看到组织中有一个主机:

接下来,可以编辑组织,可以设置很多项,这里面,我们重点关注几项:

媒体,它的作用是设置组织中可用的操作系统源。也就是说,在向红帽卫星中添加主机的时候,它能安装的操作系统,就是在这里选择的。这里我们选择RHEL

当然,我们也可以在安装介质的界面,设置某一个安装介质属于哪个组织:

模板,就是部署操作系统和应用时,能够调用的安装方式

主机组,主机组里包含一个或者多个主机。

环境,选择的是该组织能使用的puppet环境。

当然,在红帽卫星的主目录,也可以设置环境并指定一个环境所属的组织:

  • 内容视图(Content View)

内容视图,顾名思义,管理的对象是内容。内容视图是一个或者多个软件仓库(YUM、Puppet模块等)的集合,通过内容视图,可以很方便的将一组服务器与之映射,实现统一的内容和配置管理。内容视图有版本的概念,用户需要根据实际需要发布新的版本,只有发布的版本才可以被客户端看到。

查看一个内容视图:

查看其内容,依次查看,先看Yum内容:

查看puppet模块:

查看历史记录:

内容视图管理,需要和生命周期配合使用。

软件生命周期,可以自定义,也可以参照Satellite默认的周期。

生命周期与内容视图是相互配合进行使用的,假设视图david经过不断的开发和测试,已经发布了2个版本,我们期望将其中的version2 提升到Dev环境中,这样属于Dev的技术人员就可以在Dev环境部署david的这个版本了,步骤如下:

发布新版本的方法:

推广版本至Dev环境:

结合内容视图和生命周期管理,可以使客户的开发、运维、生产环境更加规范化和流程化。

总结:至此,笔者从架构角度介绍了Satellite的基本功能和内部一些架构。相信读者对此有了一定的了解。后续笔者会继续分享。

本文分享自微信公众号 - 大魏分享(david-share)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-07-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 因为有你,所以成功---红帽云套件合作伙伴招募回顾

    前言:昨天下午(11月29日),红帽举办了云套件合作伙伴(BP)招募会。会上,红帽几位架构分享了云套件解决方案以及销售方法。合作伙伴们也踊跃提出了疑问和见解,大...

    魏新宇
  • Red Hat-开源世界的领导者-在做什么?

    说明: 笔者根据结合自己的了解和学习,将陆续介绍红帽的解决方案。开始着重于介绍解决方案,后续将针对一些开源项目进行介绍。需要注意的是,本文章不代表任何官方观点。...

    魏新宇
  • 红帽助力HPC--我在Dell&RedHat HPC研讨会上的分享

    前言:今日,笔者受邀参加“Dell&RedHat HPC研讨会”。会上,分享了红帽在HPC领域的解决方案。由于很多朋友关心这个话题,因此将演讲的内容分享出来,供...

    魏新宇
  • 因为有你,所以成功---红帽云套件合作伙伴招募回顾

    前言:昨天下午(11月29日),红帽举办了云套件合作伙伴(BP)招募会。会上,红帽几位架构分享了云套件解决方案以及销售方法。合作伙伴们也踊跃提出了疑问和见解,大...

    魏新宇
  • Red Hat-开源世界的领导者-在做什么?

    说明: 笔者根据结合自己的了解和学习,将陆续介绍红帽的解决方案。开始着重于介绍解决方案,后续将针对一些开源项目进行介绍。需要注意的是,本文章不代表任何官方观点。...

    魏新宇
  • APK安装流程详解15——PMS中的新安装流程下(装载)补充

    代码位置在PackageManagerService的installPackageLI方法里面会调用到,代码如下: PackageManagerService...

    隔壁老李头
  • 互联网术语大全(一)

    PM:Product Manager「产品经理」或 Project Manager 「项目经理」

    宇相
  • LeetCode 50. Pow(x, n)(二分查找)

    示例 输入: 2.00000, -2 输出: 0.25000 解释: 2-2 = 1/22 = 1/4 = 0.25 说明: -100.0 < x <...

    Michael阿明
  • engineercms小程序注册方式

    那么小程序端,如何匹配这个用户呢,需要有个登录(感觉又像注册,往下看),用网页版的用户名和密码——服务端收到后进行验证,如果密码对上了,则服务端记录这个用户的小...

    hotqin888
  • Leetcode 50. Pow(x, n)

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn....

    Tyan

扫码关注云+社区

领取腾讯云代金券