订阅内容

信息技术正在经历日新月异的发展,部署和维护场景每天都在发生变化,在边缘处理和管理数据及设备的需求日益凸显。为此,需要调整相关技术,以支持和推动诸如边缘策略的广泛采用。

红帽 OpenShift 能够满足多种多样的需求,比如对不受特定基础架构约束的应用平台进行管理,在本地或云端(私有云、公共云或混合云)进行部署等等。

而且,随着时间的推移,适应任何场景的能力已经有了长足的发展。利用更轻量级的配置,如紧凑型 3 节点部署模式或单节点配置,可实现与以往相同的灵活性和性能特征,而且占用空间更小。 

这种灵活性使 OpenShift 能够部署到算力降低和硬件使用受限的场景中,例如远程的分支机构或个人计算和处理站点。

假设现在有许多这样的边缘站点,那就需要通过特定的技术来确保这些站点能够集中调用算力和集中管理工作负载。而且,所用的技术要让我们能够复制和传播符合预定义策略和站点场景的配置和设置,最重要的是,这些操作要能在很短的时间内完成,从而降低复杂性并提高可复制性和可靠性。

借助 OpenShift 辅助安装程序的灵活性及红帽 Kubernetes 高级集群管理的集群和基础架构集中管理功能所具备的通用性和便捷性,可以通过零接触置备(ZTP)来实现上述用例。

顾名思义,零接触置备是一种在裸机上置备 OpenShift 集群的模式。这种置备模式使我们能够根据远程站点的需求创建多个集群设置类别,而无需与设备进行物理交互。而要实现这一点,需要在特定资源上声明集群所需的配置,然后让红帽高级集群管理的各个组件将这些配置转换为置备操作,其中包括与基板管理控制器(BMC)交互来置备基础架构节点,并利用 OpenShift 辅助安装程序功能来置备集群。

由于定义的所有资源都是独立的,因此可以将它们存储在 Git 存储库中,并使用 OpenShift GitOps Operator(基于 ArgoCD)进行应用,使得站点和集群能够像普通应用一样得到定义。

下面是部分用例的示意图,从中可以看到,这种置备模式仅涉及一个集群,这个集群将在中央数据中心内充当枢纽的角色。

zero-touch-provisioning-edge-img1-zh

我们今天要讨论的功能目前处于技术预览阶段。但是,可以了解如何借由这些功能来批量创建和部署简化的配置。

用例:使用 ZTP 在边缘部署单节点 OpenShift

下面来看看其中的每一部分,并探讨如何将它们整合起来形成完整的方案。

此过程中主要涉及的红帽高级集群管理组件有:

由于我们要讨论的是与边缘设备相关的问题,我们的参考环境是裸机环境。为此,已经根据用户提供的基础架构及安装程序提供的基础架构安装情况给出了几种设置模式,将在部署的各个阶段中用到。

每个远程设备都与一个站点关联,对应于配置阶段必须考虑的基本参数的定义,并将转换为名为 SiteConfig 的自定义资源定义(CRD)。

CRD 将定义如下内容:

  • 有关用于管理节点的 BMC 的详细信息
  • 与集群相关的详细信息(集群名称、域)
  • 网络配置(容器集、服务、计算机的子网)
  • 节点配置(网络设置、分区、通过策略实现的加固措施)

这些信息会受到管理并转换为子资源,子资源将由不同的组件进行管理,以对部署的不同阶段进行编排。

为简化起见,ZTP 的逻辑流如下所示:

zero-touch-provisioning-edge-img2-zh

下面来详细了解一下提到的不同资源及其角色。

BareMetalHost

BareMetalHost(BMH)会处理来自 BMC 的信息,然后由 OpenShift 裸机 Operator 进行解释,从而在 OpenShift 中创建裸机节点,以准备和配置远程节点。这是节点置备的核心,因为它允许 OpenShift 裸机 Operator 远程配置引导设备,以适应我们将要执行的设置。

InfraEnv

InfraEnv 会定义以下方面的详细信息:网络、NTP 服务器(用在将要托管的节点上)、安全 shell(SSH)密钥(用于访问要 hook 的节点) 以及凭据(用于获取安装所需的容器镜像)。它与 ClusterDeployment 资源一起,用于为辅助安装程序构建发现 ISO。

AgentClusterInstall

AgentClusterInstall 包含供辅助安装程序用来生成引导镜像的信息,引导镜像将供节点用于继续安装和配置集群,包括版本、名称和网络配置。

ClusterDeployment

ClusterDeployment 结合了 AgentClusterInstall 中定义的信息,并添加了正确部署集群所需的其他信息,将嵌入到节点的引导 ISO 中。

ManagedCluster 和 KlusterletAddonConfig

这两个资源对于红帽高级集群管理的用户来说可能已经相当熟悉了。它们定义了集群的相关信息,以便在红帽高级集群管理中心导入和管理集群,配置通信所需的服务。

通过 OpenShift 安装程序完成置备流程和集群设置后,在红帽高级集群管理中心内,会显示新的单节点 OpenShift 已安装并对接,准备好用于部署工作负载。

A screenshot hub will display the new single node OpenShift as installed and docked, ready to be used to deploy our workloads.

总结

本文介绍了适用于在边缘场景中部署 OpenShift 的 ZTP 概念,并说明了它如何通过基础架构即代码(IaC)方法使平台置备过程变得更简单、可重复和可扩展。

ZTP 技术正在持续开发中,目前已足够成熟,您可以尝试采用这种创新方法,将完整的应用平台引入任何场景。


关于作者

Alessandro Rossi is an EMEA Senior Specialist Solution Architect for Red Hat Enterprise Linux with a passion for cloud platforms and automation.

Alessandro joined Red Hat in 2021, but he's been working in the Linux and open source ecosystem since 2012. He's done instructing and consulting for Red Hat and delivered training on Red Hat Enterprise Linux, Red Hat Ansible Automation Platform and Red Hat OpenShift, and has supported companies during solutions implementation.

Read full bio

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Original series icon

原创节目

关于企业技术领域的创客和领导者们有趣的故事