金鱼哥RHCA回忆录:DO280介绍红帽OPENSHIFT容器平台--OpenShift特性和架构

简介: 第一章 介绍红帽OPENSHIFT容器平台--OpenShift特性和架构
🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质: CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必须努力🔥

🎈支持我:可点赞👍、可收藏⭐️、可留言📝


📜OpenShift特性

📑1.1 OpenShift概述

Red Hat OpenShift Container Platform (OpenShift)是一个容器应用程序平台,它为开发人员和IT组织提供了一个云应用程序平台,用于在安全的、可伸缩的资源上部署新应用程序,而配置和管理开销最小。

OpenShift构建于Red Hat Enterprise Linux、Docker和Kubernetes之上,为当今的企业级应用程序提供了一个安全且可伸缩的多租户操作系统,同时还提供了集成的应用程序运行时和库。

OpenShift带来了健壮、灵活和可伸缩的特性。容器平台到客户数据中心,使组织能够实现满足安全性、隐私性、遵从性和治理需求的平台。不愿意管理自己的OpenShift集群的客户可以使用Red Hat提供的公共云平台OpenShift Online。


📑1.2 OpenShift特性

OpenShift容器平台和OpenShift Online都是基于OpenShift Origin开源软件项目的,该项目本身使用了许多其他开源项目,如Docker和Kubernetes。

应用程序作为容器运行,容器是单个操作系统内的隔离分区。容器提供了许多与虚拟机相同的好处,比如安全性、存储和网络隔离,同时需要的硬件资源要少得多,启动和终止也更快。OpenShift使用容器有助于提高平台本身及其承载的应用程序的效率、灵活性和可移植性。


OpenShift的主要特性如下:

  • 自助服务平台:OpenShift允许开发人员使用Source to Image(S2I)从模板或自己的源代码管理存储库创建应用程序。系统管理员可以为用户和项目定义资源配额和限制,以控制系统资源的使用。
  • 多语言支持:OpenShift支持Java、Node.js、PHP、Perl以及直接来自Red Hat的Ruby。同时也包括来自合作伙伴和更大的Docker社区的许多其他代码。MySQL、PostgreSQL和MongoDB数据库。Red Hat还支持在OpenShift上本地运行的中间件产品,如Apache httpd、Apache Tomcat、JBoss EAP、ActiveMQ和Fuse。
  • 自动化:OpenShift提供应用程序生命周期管理功能,当上游源或容器映像发生更改时,可以自动重新构建和重新部署容器。根据调度和策略扩展或故障转移应用程序。
  • 用户界面:OpenShift提供用于部署和监视应用程序的web UI,以及用于远程管理应用程序和资源的CLi。它支持Eclipse IDE和JBoss Developer Studio插件,以便开发人员可以继续使用熟悉的工具,并支持REST APl与第三方或内部工具集成。
  • 协作:OpenShift允许在组织内或与更大的社区共享项目。
  • 可伸缩性和高可用性:OpenShift提供了容器多租户和一个分布式应用程序平台,其中包括弹性,以处理随需增加的流量。它提供了高可用性,以便应用程序能够在物理机器宕机等事件中存活下来。OpenShift提供了对容器健康状况的自动发现和自动重新部署。
  • 容器可移植性:在OpenShift中,应用程序和服务使用标准容器映像进行打包,组合应用程序使用Kubernetes进行管理。这些映像可以部署到基于这些基础技术的其他平台上。
  • 开源:没有厂商锁定。
  • 安全性:OpenShift使用SELinux提供多层安全性、基于角色的访问控制以及与外部身份验证系统(如LDAP和OAuth)集成的能力。
  • 动态存储管理:OpenShift使用Kubernetes持久卷和持久卷声明的方式为容器数据提供静态和动态存储管理
  • 基于云(或不基于云):可以在裸机服务器、活来自多个供应商的hypervisor和大多数IaaS云提供商上部署OpenShift容器平台。
  • 企业级:Red Hat支持OpenShift、选定的容器镜像和应用程序运行时。可信的第三方容器镜像、运行时和应用程序由Red Hat认证。可以在OpenShift提供的高可用性的强化安全环境中运行内部或第三方应用程序。
  • 日志聚合和metrics:可以在中心节点收集、聚合和分析部署在OpenShift上的应用程序的日志信息。OpenShift能够实时收集关于应用程序的度量和运行时信息,并帮助不断优化性能。
  • 其他特性:OpenShift支持微服务体系结构,OpenShift的本地特性足以支持DevOps流程,很容易与标准和定制的持续集成/持续部署工具集成。

📜OpenShift架构

📑2.1 OpenShift架构概述

OpenShift容器平台是一组构建在Red Hat Enterprise Linux、Docker和Kubernetes之上的模块化组件和服务。OpenShift增加了远程管理、多租户、增强的安全性、应用程序生命周期管理和面向开发人员的自服务接口。


OpenShift的架构:

在这里插入图片描述

  • RHEL:基本操作系统是Red Hat Enterprise Linux;
  • Docker:提供基本的容器管理API和容器image文件格式;
  • Kubernetes:管理运行容器的主机集群(物理或虚拟主机)。它处理描述由多个资源组成的多容器应用程序的资源,以及它们如何互连;
  • Etcd:一个分布式键值存储,Kubernetes使用它来存储OpenShift集群中容器和其他资源的配置和状态信息。

OpenShift在Docker + Kubernetes基础设施之上添加了提供容器应用程序平台所需的更富丰的功能:

  • OpenShift-Kubernetes extensions:其它资源类型存储在Etcd中,由Kubernetes管理。这些额外的资源类型形成OpenShift内部状态和配置,以及由标准 Kubernetes管理的应用程序资源;
  • Containerized services:完成许多基础设施功能,如网络和授权。其中一些一直运行,另一些则按需启动OpenShift使用Docker和Kubernetes来实现大多数内部功能。即大多数OpenShift内部服务作为由Kubernetes管理的容器;
  • Runtimes and xPaaS:供开发人员使用的 base image,每个image都预配置了特定的runtime或db。xPaaS提供了一组用于JBoss中间件产品(如JBoss EAP和ActiveMQ)的 base image;
  • DevOps tools and user experience:OpenShift提供了Web UI和CLI管理工具,从而实现配置和监视应用程序、OpenShift服务和资源。Web和CLI工具都是由相同的REST api构建的,可供IDE和CI平台等外部工具使用。OpenShift 还可以访问外部SCM存储库和容器registry,并将它们的构件引入OpenShift Cloud。

OpenShift不会向开发人员和系统管理员屏蔽Docker和Kubernetes的核心基础设施。相反,它将它们用于内部服务,并允许将Docker和Kubernetes资源导入OpenShift集群,同时原始Docker和资源可以从OpenShift集群导出,并导入到其他基于docker的基础设施中。

OpenShift添加到Docker + Kubernetes的主要价值是自动化开发工作流,因此应用程序的构建和部署在OpenShift集群中按照标准流程进行。开发者不需要知道底层Docker的细节。OpenShift接受应用程序,打包它,并将其作为容器启动。


📑2.2 Master和nodes

OpenShift集群是一组节点服务器,它们运行容器,并由一组主服务器集中管理。服务器可以同时充当master和node,但是为了增加稳定性,这些角色通常是分开的。


OpenShift工作原理和交互视图:

在这里插入图片描述

旧版交互图:

在这里插入图片描述

  • master节点运行OpenShift核心服务,如身份验证,并为管理员提供API入口。
  • nodes节点运行包含应用程序的容器,容器又被分组成pod。
  • OpenShift master运行Kubernetes master服务和Etcd守护进程;
  • node运行Kubernetes kubelet和kubeproxy守护进程。
  • 虽然在描述中通常没有声明,但实际上master本身也是node。
  • scheduler和management/replication是Kubernetes主服务,而Data Store是Etcd守护进程。
  • Kubernetes的调度单元是pod,它是一组共享虚拟网络设备、内部IP地址、TCP/UDP端口和持久存储的容器。pod可以是任何东西,从完整的企业应用程序(包括作为不同容器的每一层)到单个容器中的单个微服务。例如,一个pod,一个容器在Apache下运行PHP,另一个容器运行MySQL。
  • Kubernetes管理replicas来缩放pods。副本是一组共享相同定义的pod。

💡总结

RHCA认证需要经历5门的学习与考试,还是需要花不少时间去学习与备考的,好好加油,可以噶🤪。

以上就是【金鱼哥】对 第一章 介绍红帽OPENSHIFT容器平台--OpenShift特性和架构 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

💾 红帽认证专栏系列:
RHCSA专栏: 戏说 RHCSA 认证
RHCE专栏: 戏说 RHCE 认证
此文章收录在RHCA专栏: RHCA 回忆录

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。

如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Dubbo Cloud Native 网络协议
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
513 1
|
机器学习/深度学习 安全 算法
十大主流联邦学习框架:技术特性、架构分析与对比研究
联邦学习(FL)是保障数据隐私的分布式模型训练关键技术。业界开发了多种开源和商业框架,如TensorFlow Federated、PySyft、NVFlare、FATE、Flower等,支持模型训练、数据安全、通信协议等功能。这些框架在灵活性、易用性、安全性和扩展性方面各有特色,适用于不同应用场景。选择合适的框架需综合考虑开源与商业、数据分区支持、安全性、易用性和技术生态集成等因素。联邦学习已在医疗、金融等领域广泛应用,选择适配具体需求的框架对实现最优模型性能至关重要。
2670 79
十大主流联邦学习框架:技术特性、架构分析与对比研究
|
存储 缓存 监控
ClickHouse 架构原理及核心特性详解
ClickHouse 是由 Yandex 开发的开源列式数据库,专为 OLAP 场景设计,支持高效的大数据分析。其核心特性包括列式存储、字段压缩、丰富的数据类型、向量化执行和分布式查询。ClickHouse 通过多种表引擎(如 MergeTree、ReplacingMergeTree、SummingMergeTree)优化了数据写入和查询性能,适用于电商数据分析、日志分析等场景。然而,它在事务处理、单条数据更新删除及内存占用方面存在不足。
4453 21
|
存储 消息中间件 druid
Druid 架构原理及核心特性详解
Druid 是一个分布式、支持实时多维OLAP分析的列式存储数据处理系统,适用于高速实时数据读取和灵活的多维数据分析。它通过Segment、Datasource等元数据概念管理数据,并依赖Zookeeper、Hadoop和Kafka等组件实现高可用性和扩展性。Druid采用列式存储、并行计算和预计算等技术优化查询性能,支持离线和实时数据分析。尽管其存储成本较高且查询语言功能有限,但在大数据实时分析领域表现出色。
3063 19
|
存储 SQL NoSQL
Doris 架构原理及核心特性详解
Doris 是百度内部孵化的OLAP项目,现已开源并广泛应用。它采用MPP架构、向量化执行引擎和列存储技术,提供高性能、易用性和实时数据处理能力。系统由FE(管理节点)和BE(计算与存储节点)组成,支持水平扩展和高可用性。Doris 适用于海量数据分析,尤其在电商、游戏等行业表现出色,但资源消耗较大,复杂查询优化有局限性,生态集成度有待提高。
2409 15
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
385 4
|
存储 运维 Kubernetes
云端迁移:备份中心助力企业跨云迁移K8s容器服务平台
本文将简要介绍阿里云容器服务ACK的备份中心,并以某科技公司在其实际的迁移过程中遇到具体挑战为例,阐述如何有效地利用备份中心来助力企业的容器服务平台迁移项目。
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
1024 6
|
前端开发 JavaScript 安全
TypeScript作为一种静态类型的JavaScript超集,其强大的类型系统和面向对象编程特性为微前端架构的实现提供了有力的支持
【6月更文挑战第11天】微前端架构借助TypeScript提升开发效率和代码可靠性。 TypeScript提供类型安全,防止微前端间通信出错;智能提示和自动补全加速跨代码库开发;重构支持简化代码更新。通过定义公共接口确保一致性,用TypeScript编写微前端以保证质量。集成到构建流程确保顺利构建打包。在微前端场景中,TypeScript是强有力的语言选择。
200 2

相关产品

  • 容器服务Kubernetes版