0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NKD:容器云集群与OS一体化运维利器

openEuler 来源:openEuler 2023-08-15 14:52 次阅读

NKD 是 NestOS-kubernetes-Deployer 的缩写,是为了基于 NestOS 部署的 Kubernetes 集群运维工作准备的解决方案。其目标是在集群外提供对集群基础设施(包括操作系统和 Kubernetes 基础组件)的部署、更新和配置管理等服务。

1. 引言

Kubernetes 作为云原生领域容器云场景的事实标准,以其卓越的功能和灵活性,极大地简化了容器化应用程序的部署和管理。容器技术封装所需运行环境,实现与底层操作系统的解耦,而 Kubernetes 更进一步实现了与底层运行节点的解耦,使得应用在不同云提供商和环境中无缝部署。

然而,这种解耦也带来了新的挑战。随着 Kubernetes 的广泛应用,运维复杂性逐渐凸显。维护 Kubernetes 集群需要大量技术和资源,运维人员必须熟悉复杂的 Kubernetes 配置和管理,以保证集群的稳定运行。

为解决这一问题,运维人员主要将精力投入到集群本身的运维管理中,对于底层操作系统和 Kubernetes 基础组件持保守态度,避免频繁更新。然而,考虑到安全更新和 Kubernetes 新版本特性的支持,底层基础设施组件的更新势在必行。因此,需要一种解决方案来简化底层基础设施的运维工作,使运维更轻松地管理和更新集群的基础设施。

2. NestOS 云底座操作系统

NestOS 是一款在 openEuler 社区 CloudNative sig 组孵化的云底座操作系统,专注于提供大规模集群部署环境下最佳的容器主机。

传统上,使用通用操作系统作为集群基础设施时,采用类似 Red Hat Satellite 或 SUSE Manager 等企业级系统管理平台是一个较为理想的解决方案。这些平台提供软件包管理、配置管理、补丁更新等功能,便于对大规模集群进行运维。然而,在对操作系统进行升级和管理的过程中,可能会遇到网络电源等异常情况,导致部分节点处于不稳定的中间态。此外,这些平台仅限于支持其本身所覆盖的管理范围,对于集群中存在运维人员临时维护或开发人员临时调试导致的环境不一致,可能无法及时发现和修正。

为解决这些问题,NestOS 采用基于 rpm-ostree 技术的操作系统封装方案,实现原子化更新,避免中间状态的存在,即使在升级过程中出现失败也能快速回滚至上一个稳定状态,保证系统的稳定性。在日常运行中,NestOS 采取安全措施保证系统稳定性,关键目录设为只读状态,核心系统文件和配置不会被意外修改,通过 ignition 机制导入和固化重要的系统配置,确保配置的持久性和一致性。这使得操作系统能够始终保持预期的状态,减少意外错误。

NestOS 的核心思想类似于容器技术中的镜像,旨在为操作系统层面打造不可变基础设施。在部署时冻结了操作系统版本和配置,使其成为一个不可变的实体。这种做法有助于消除操作系统变体,确保基础组件版本与配置的一致性,从而提供了一个稳定可靠的基础设施环境。在集群中使用 NestOS 可以带来更高的一致性和可靠性,简化和高效地管理和维护操作系统。

wKgaomTbIL2AO6chAABt51Z6g3Q785.jpg

可变基础设施 vs 不可变基础设施

然而,引入 NestOS 在原理上简化集群运维工作的同时,也在实际落地中带来了一些新的挑战。例如,NestOS 作为一种新的操作系统形态需要运维人员熟悉理解其核心思想,接受任何改动均需在 CICD 流水线上重新构建系统镜像而不是登入系统操作、操作系统变更需重新引导等与通用操作系统迥然不同的使用习惯,以便有效地管理和维护。此外,NestOS 与传统操作系统存在差异,需要适应新的工具和技术,具体有如下几个方面:

「系统镜像构建工具链」:NestOS 一切业务相关的组件及配置变更均需重新构建新版系统镜像,因此提供 NestOS-Assembler 编译工具链,可以完成从构建配置到多种系统镜像格式的生成,同时提供自动化测试工具,验证镜像基础组件可靠性。

「环境相关动态配置文件」:NestOS 通过 ignition 机制在部署阶段将与环境相关的动态配置(例如登录凭据、网络、外挂存储等信息)注入,因此需要运维人员提前编写配置文件,并通过 NestOS 提供的工具转化为机器可读的 ign 文件,供操作系统部署时使用。

「系统镜像更新源」:NestOS 支持通过 rpm-ostree 直接下载当前版本树的最新版本,但需要运维人员对系统镜像更新源进行维护管理,相应也需要学习对应的部署工具。也可以通过容器镜像的形式分发新版本系统镜像,复用现有 CICD 资源,但将无法应用增量更新方式,每次更新均需下载完整系统镜像。

「系统更新升级管理」:上述工具为系统更新做好了准备,但没有解决何时可进行系统升级的问题。NestOS 虽提供了 zincati 组件实现基本的更新策略管理,但最佳实践仍应当为结合操作系统当前运行业务状态,在业务允许的时间窗口对节点执行更新维护操作。对于容器云场景,NestOS 提供基于 operator 机制实现的 housekeeper 服务,在对节点上运行的容器业务进行驱逐后再行升级,用户也可基于此制定更为复杂的升级维护策略。

接纳操作系统使用的新方式需要成熟案例与时间积淀,但引入的运维挑战可以通过方便的运维工具去解决。在这一背景下,NestOS-kubernetes-Deployer 应运而生,旨在提供集群外的部署、更新和配置管理等服务,为运维人员提升 NestOS 运维体验。

3. NKD 对容器云运维场景的助力

NKD 是面向 kubernetes 集群场景的解决方案,主要简化集群部署和升级流程,具体如下:

「集群基础设施创建」:NKD 根据集群需求,连接基础设施提供商动态创建所需的 IaaS 资源,支持裸金属和虚拟化场景,目前优先实现 openstack 场景。

「操作系统镜像构建」:NestOS 提供完善的镜像构建工具链,可以轻松集成到用户现有 CICD 流程中,便于根据 openEuler 官方或用户自定义软件源快速构建定制镜像。NKD 目前获取镜像构建结果,并将相应更新源配置应用到集群中,未来将支持 NKD 配置托管镜像构建流程。

「动态配置注入」:在部署 NestOS 系统时,需要通过 ignition 点火机制传入系统部署后所需的动态配置。NKD 目前提供工具形式,支持通过命令行参数或配置文件将用户配置转换为 ign 点火文件。最终目标是提供用户友好的前端配置界面,便于轻松生成所需配置,并提供配置变更版本管理功能。

「kubernetes 集群部署」:这也是 NKD 的核心能力,将 k8s 集群部署所需配置自动合并到用户配置生成的 ign 文件中,使得节点在部署完成操作系统引导后自动开始创建 k8s 集群,无需手动干预。

「集群状态检测与 housekeeper 部署」:NKD 持续检测 k8s 集群状态,一旦集群创建完成,向用户提供访问凭据,并部署 housekeeper 自定义资源,用于后续维护升级功能。用户可选择默认不部署该 CRD。

「操作系统或 k8s 基础组件升级维护」:当操作系统或 k8s 基础组件需要升级维护时,NKD 使用镜像构建工具重新构建新版系统镜像,并在查询到新版镜像后,向集群创建 housekeeper CR 资源。集群中的 housekeeper 服务按照配置逐次对集群节点进行升级,完成整个集群的升级工作。

通过以上整体方案,用户可只通过 NKD 一键式完成集群创建和后续更新工作,而无需手动进行繁琐步骤,简化运维步骤。接下来我们对 NKD 架构及未来规划作一个简要介绍。

4. NKD 完整规划

wKgZomTbIL2AEHTEAAGtzSA3mQw199.jpg

NKD 整体架构与集群交互全景

NKD 的整体架构由多个组件构成,主要包括 NKDS(NestOS-kubernetes-deployer-service)作为主体、部署到集群中的 HKO(housekeeper operator)以及集成在 NestOS 镜像中的 installer。此外,还可以配合 NestOS 镜像构建工具链、配置管理仓库(如 git)和私有化部署的容器镜像仓库,共同完成集群运维任务。目前 NKDS 以命令行工具提供,暂不提供对外 http 接口和前端配置页面,但主体功能所需的基础设施管理、配置管理、系统镜像管理、证书管理、健康检测等模块已初步形成。HKO 主要包括面向集群的 HKO 组件和集成在 NestOS 镜像中的 HKD(housekeeper daemon)组件。目前 installer 组件负责在系统点火阶段部署创建 K8S 集群,未来计划将其功能融合到 HKD 组件中,使整体方案更加精简,更易于用户根据个性化需求管理所需的 K8S 基础组件。

NKD 的最终目标是以长期驻留服务形式提供运维服务,同时支持多个集群的管理。它将提供持久化配置变更记录、证书管理、多种更新升级策略和镜像源频道等功能。未来,我们将持续优化 NKD 的功能和性能,并引入更多智能化特性,如自动化故障处理和资源优化等。我们的目标是将 NKD 打造成 NestOS 生态中的核心组件,为云原生场景下的运维工作提供全方位支持,进一步推动云原生技术的发展和应用。

5. 总结

NestOS 作为专为云原生场景设计的操作系统,为容器云运维带来了巨大的助力,而 NKD 则是针对 NestOS 运维中新引入的问题所提供的解决方案。通过持续优化和创新,NKD 将使业界更易接受以 NestOS 为代表的不可变基础设施,同时随着 Kubernetes 社区的发展,更多创新解决方案将推动云原生技术向更成熟和可持续的未来发展。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6284

    浏览量

    121881
  • 容器
    +关注

    关注

    0

    文章

    481

    浏览量

    21878
  • 云原生
    +关注

    关注

    0

    文章

    222

    浏览量

    7843
  • openEuler
    +关注

    关注

    2

    文章

    289

    浏览量

    5660

原文标题:NKD:容器云集群与 OS 一体化运维利器

文章出处:【微信号:openEulercommunity,微信公众号:openEuler】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    石油石化室内外一体化定位解决方案

    一体化
    中海达
    发布于 :2023年06月21日 11:44:11

    浅析机电一体化的发展趋势

      近些年来,光机电一体化技术得到迅猛发展,在民用工业和军事领域得到广泛地应用。因此,光机电一体化技术成为当今机械工业技术发展的个主要趋势。  、光机电
    发表于 10-21 11:00

    Altium--机电一体化

    “干涉”检测,这无疑将大大提高研发效率。 Altium针对机电一体化协同设计开发了套独特的解决方案,不仅解决了电子产品与外壳匹配的问题,也创造了过去从未在ECAD领域内使用过的革命性的三布局编辑
    发表于 01-06 17:44

    【云智易申请】一体化机柜监控设计

    申请理由:申请开发板设计机柜监控系统,曾今设计过智能电表,无线多路抢答器,多旋翼飞行器等,参加过电子设计国赛省赛,光电设计大赛,等。项目描述:如今设备都朝一体化,智能的方向发展,机柜也朝一体化
    发表于 07-23 12:15

    普及从跑腿到云一体化IT管理的常识

    普及从跑腿到云一体化IT管理的常识个名词相当丰富的领域,抛开各种丰富的技术名词,单就
    发表于 06-22 14:28

    一体化振动传感器受欢迎的原因

    另外个原因那就是在使用的过程中有很大的优势……1、尺寸紧凑也正是因为现在的一体化振动传感器都是集群式使用,所以也就必须要求它的体积小,便于集群式安装,而这种条形隔离开关就是这样,它不
    发表于 06-12 13:20

    什么是机电一体化

    机电一体化http://www.gooxian.com/article/show-1823.htm就是“利用电子、信息(包括传感器、控制、计算机等)技术使机械柔性和智能”的技术1) 术语的来源
    发表于 08-29 09:06

    机电一体化系统

    如图1.1所示,机电一体化系统与灵活性和智能型最强的人体相对应,由如下5个要素构成;1) 机械装置:能够实现某种运动的机构(相当于人类的骨骼)。2) 执行装置:驱动机械装置运动的部分(相当于人类
    发表于 08-29 09:11

    如何实现机电一体化设计?

    用户总是要求我们提高所设计的机械的性能,同时减少资金成本。为了达到这两个矛盾的目标,我们将注意力放到在机械设计方面有巨大潜力的机电一体化上。本文着重展示了使用嵌入式分析工具的现代计算机辅助设计(CAD)系统,告诉大家,如何才能实现机电一体化设计?
    发表于 08-07 06:48

    一体化伺服电机如何保存当前参数

    本文仅适用于立迈胜PMM系列一体化伺服电机出现的常见问题。如您的伺服电机是其他型号的请谨慎操作。解决方法如下:一体化伺服电机如何保存当前参数?在H1010-01写0x65766173
    发表于 06-28 07:18

    为什么选一体化步进电机?

    一体化闭环步进电机优点:  结构紧凑,体积小巧,且由于驱动器与电机集成一体,节省了驱动器与电机间的连线有效降低电机线缆带来的干扰,减低了线间的电磁干扰;采用了更优振动技术和低发热技术,有效的解决了
    发表于 06-28 09:51

    机电一体化综合实训考核

    ZN-01MES机电一体化综合实训考核装置、概述ZN-01MES机电一体化综合实训考核装置 是种为典型的机电一体化、自动
    发表于 07-02 07:36

    Proteus是如何一体化安装的

    九层妖塔 起于垒土 Proteus一体化安装STC15库添加Step1:Proteus的安装Step2:STC15库的导入Step3:新建工程Step4:器件放置Proteus一体化安装,无需破解
    发表于 07-28 06:12

    一体化步进电机的优势有哪些?为什么选一体化步进电机?

    一体化闭环步进电机具有哪些优点?参数是什么?
    发表于 10-13 06:34

    测控一体化闸门系统

    测控一体化闸门系统关键字:测控一体化闸门系统 智能一体化闸门 灌区水闸自动控制云传物联测控一体化闸门系统集闸门远程/自动控制、渠道水位流量
    发表于 08-25 14:34