OPENSHIFT CONTAINER PLATFORM 架构

简介: 从OCP4.4的架构介绍看出:1、4版本使用了kubernetes的master、work节点的概念,之前3版本的master、node、infra节点消失了。2、4版本对RHCOS系统支持更好,对RHEL变得不友好;3、3版本中的Docker Container Engine被CRI-O取代;4、4版本正常情况下都需要能够访问互联网才能安装(最初是必须能访问互联网)。

1.1. OpenShift Container Platform 简介
OpenShift Container Platform 是用于开发和运行容器化应用程序的平台。它旨在允许支持的应用程序和数据中心从少量机器和应用程序扩展到为数百万客户端服务的数千台机器。
OpenShift Container Platform 以 Kubernetes 为基础,为大规模电信、流视频、游戏、银行和其他应用提供引擎技术,您可以将容器化应用程序从单一云扩展到内部和多云环境。
1.1.1. 关于 Kubernetes
Kubernetes 是一个开源容器编配引擎,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes 的一般概念比较简单:
• 从一个或多个 worker 节点开始,以运行容器工作负载。
• 从一个或多个 master 节点管理这些工作负载的部署。
• 将容器嵌套在称为 Pod 的部署单元中。使用 Pod 可以为容器提供额外的元数据,并可在单个部署实体中对多个容器进行分组。
• 创建特殊种类的资产。例如,服务由一组 Pod 及定义了访问方式的策略来表示。此策略可使容器连接到所需的服务,即便容器没有用于服务的特定 IP 地址。复制控制器(replication controller)是另一种特殊资产,用于指示一次需要运行多少个 Pod 副本。您可以使用此功能来自动扩展应用程序,以适应其当前的需求。
短短数年,Kubernetes 已在大量的云和本地环境中被采用。借助开源开发模型,拥护和可以通过为组件(如网络、存储和身份验证)实施不同的技术来扩展 Kubernetes 的功能。
1.1.2. 容器化应用程序的好处
1.1.2.1. 操作系统的好处
容器使用不含内核的小型专用 Linux 操作系统。它们的文件系统、网络、cgroups、进程表和命名空间与主机 Linux 系统分开,但容器可以在必要时与主机无缝集成。容器以 Linux 为基础,因此可以利用快速创新的开源开发模型带来的所有优势。
因为每个容器都使用专用的操作系统,所以您能够在同一主机上部署需要冲突软件依赖项的不同应用程序。每个容器都带有各自的依赖软件,并且管理自己的接口,如网络和文件系统,因此应用程序无需争用这些资产。
1.1.2.2. 部署和扩展优势
如果您在应用程序的主要版本之间进行滚动升级,则可以持续改进应用程序,既不会造成停机,又能仍然保持与当前版本的兼容性。
您还可以与现有版本一起部署和测试应用程序的新版本。在部署了当前版本的同时,还部署应用程序的新版本。容器通过测试后,只要部署更多新容器并删除旧容器便可。
由于应用程序的所有软件依赖项都在容器本身内解决,因此数据中心的每台主机上都能使用通用操作系统。您无需逐一为应用主机配置特定的操作系统。当数据中心需要更多容量时,您可以部署另一个通用主机系统。
同样,扩展容器化应用程序也很简单。OpenShift Container Platform 提供了一种简单的、标准方式的容器化服务扩展功能。例如,如果将应用程序构建为一组微服务,而非大型的单体式应用程序,您可以分别扩展各个微服务来满足需求。有了这一能力,您可以只扩展需要的服务,而不是整个应用程序,从而在使用最少资源的前提下满足应用程序需求。
1.1.3. OpenShift Container Platform 概述
OpenShift Container Platform 为 Kubernetes 带来企业级增强,具体包括以下所列:
• 混合云部署。您可以将 OpenShift Container Platform 集群部署到各种公有云平台或数据中心中。
• 集成了红帽技术。OpenShift Container Platform 中的主要组件源自 Red Hat Enterprise Linux 和相关的红帽技术。OpenShift Container Platform 得益于红帽企业级优质软件的严格测试和认证计划。
• 开源开发模型。开发以开放方式完成,源代码可从公共软件存储库中获得。这种开放协作促进了快速创新和开发。
虽然 Kubernetes 擅长管理应用程序,但它并未指定或管理平台级要求或部署过程。强大而灵活的平台管理工具和流程是 OpenShift Container Platform 4.4 具备的重要优势。
1.1.3.1. 定制操作系统
OpenShift Container Platform 使用 Red Hat Enterprise Linux CoreOS (RHCOS),这是一款面向容器的操作系统,结合了 CoreOS 和 Red Hat Atomic Host 操作系统的一些最佳特性和功能。RHCOS 是专门为从 OpenShift Container Platform 运行容器化应用程序而设计的,能够与新工具配合,提供快速安装、基于 Operator 的管理和简化的升级。
RHCOS 包括:
• Ignition,OpenShift Container Platform 将其用作首次启动系统配置来进行机器的初次上线和配置。
• CRI-O,Kubernetes 的原生容器运行时实现,可与操作系统紧密集成来提供高效和优化的 Kubernetes 体验。CRI-O,提供用于运行、停止和重启容器的工具。它完全取代了 OpenShift Container Platform 3 中使用的 Docker Container Engine。
• Kubelet,Kubernetes 的主要节点代理,负责启动和监视容器。
在 OpenShift Container Platform 4.4 中,所有 control plane 都需要使用 RHCOS。但 compute(计算)机器(也被称为 worker )可以使用 Red Hat Enterprise Linux (RHEL) 做为操作系统。如果选择使用 RHEL worker,与将 RHCOS 用于所有集群机器相比,您必须执行更多的系统维护。
1.1.3.2. 简化的安装和更新流程
使用 OpenShift Container Platform 4.4 时,如果您拥有具有正确权限的帐户,通过运行单个命令并提供几个值,就能在支持的云中部署生产集群。如果使用支持的平台,您还可以自定义云安装或在数据中心中安装集群。
1.1.3.3. 其他主要功能
Operator 既是 OpenShift Container Platform 4.4 代码库的基本单元,又是部署供应用程序使用的应用程序和软件组件的便捷方式。在 OpenShift Container Platform 中,Operator 可充当平台的基础,不再需要手动升级操作系统和 control plane 应用程序。OpenShift Container Platform Operator(如 Cluster Version Operator 和 Machine Config Operator)允许对这些关键组件进行简化的集群范围内管理。
Operator Lifecycle Manager (OLM) 和 OperatorHub 提供了相应的工具,可用于存储 Operator 并将其分发给开发和部署应用程序的人员。
Red Hat Quay Container Registry 是一个 Quay.io 容器 registry,为 OpenShift Container Platform 集群提供大多数容器镜像和 Operator。Quay.io 是 Red Hat Quay 的一个公共 registry 版本,可存储数百万镜像和标签。
OpenShift Container Platform 中的其他 Kubernetes 增强功能包括软件定义网络 (SDN)、身份验证、日志聚合、监视和路由方面的改进。OpenShift Container Platform 还提供功能齐全的 web 控制台和自定义 OpenShift CLI (oc) 界面。
1.1.3.4. OpenShift Container Platform 生命周期
下图显示了 OpenShift Container Platform 的基本生命周期:
• 创建 OpenShift Container Platform 集群
• 管理集群
• 开发和部署应用程序
• 扩展应用程序
• 图 1.1. OpenShift Container Platform 高级概述

1.1.4. OpenShift Container Platform 对互联网和 Telemetry 的访问
在 OpenShift Container Platform 4.4 中,您需要访问互联网来安装集群。默认运行的 Telemetry 服务提供有关集群健康状况和成功更新的指标,这也需要访问互联网。如果您的集群连接到互联网,Telemetry 会自动运行,而且集群会注册到 Red Hat OpenShift Cluster Manager(OCM)。
确认 Red Hat OpenShift Cluster Manager 清单正确后,可以由 Telemetry 自动维护,也可以使用 OCM 手动维护,使用订阅监控 来跟踪帐户或多集群级别的 OpenShift Container Platform 订阅。
您必须具有以下互联网访问权限:
• 访问 Red Hat OpenShift Cluster Manager 页面,以下载安装程序并执行订阅管理。如果集群可以访问互联网,并且没有禁用 Telemetry,该服务会自动授权您的集群。
• 访问 Quay.io,以获取安装集群所需的软件包。
• 获取执行集群更新所需的软件包。
重要
如果您的集群无法直接访问互联网,则可以在置备的某些类基础架构上执行受限网络安装。在此过程中,您要下载所需的内容,并使用它在镜像 registry(mirror registry) 中填充安装集群并生成安装程序所需的软件包。对于某些安装类型,集群要安装到的环境不需要访问互联网。在更新集群之前,您要更新镜像 registry(mirror registry) 的内容。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3月前
|
弹性计算 Kubernetes 安全
Kubernetes 的架构问题之在Serverless Container中保障应用的安全防护如何解决
Kubernetes 的架构问题之在Serverless Container中保障应用的安全防护如何解决
154 8
|
3月前
|
弹性计算 Kubernetes Serverless
Kubernetes 的架构问题之ACK/ASK支持ECI的Serverless Container如何解决
Kubernetes 的架构问题之ACK/ASK支持ECI的Serverless Container如何解决
98 7
|
3月前
|
弹性计算 Kubernetes Serverless
Kubernetes 的架构问题之Serverless Container中不支持特权模式的问题如何解决
Kubernetes 的架构问题之Serverless Container中不支持特权模式的问题如何解决
91 6
|
3月前
|
Kubernetes 安全 Serverless
Kubernetes 的架构问题之Serverless Container中提供对外服务如何解决
Kubernetes 的架构问题之Serverless Container中提供对外服务如何解决
74 5
|
3月前
|
运维 Kubernetes 大数据
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
63 0
|
3月前
|
运维 Kubernetes 安全
Kubernetes 的架构问题之单一职责原则在Serverless Container中体现如何解决
Kubernetes 的架构问题之单一职责原则在Serverless Container中体现如何解决
71 0
|
存储 Kubernetes 安全
金鱼哥RHCA回忆录:DO280介绍红帽OPENSHIFT容器平台--OpenShift特性和架构
第一章 介绍红帽OPENSHIFT容器平台--OpenShift特性和架构
442 0
金鱼哥RHCA回忆录:DO280介绍红帽OPENSHIFT容器平台--OpenShift特性和架构
下一篇
无影云桌面