两大容器管理平台,Kubernetes与OpenShift有什么区别?

https://www.sohu.com/a/327413642_100159565

原来openshift 就是 k8s的一个加强实现版本

红帽研发的.
容器化是开发和部署应用的热门趋势,因为它们是加速开发的有效方式。容器的使用量在过去几年呈指数增长。

但是,跨基础架构管理容器可能会变得十分复杂,所以容器管理平台对于任何企业来说都是必不可少的工具。Kubernetes和OpenShift是市场上最受欢迎的两个容器管理平台。而OpenShift是基于Kubernetes的,那么二者之间到底有哪些区别呢?

什么是OpenShift?

OpenShift是由红帽(Red Hat)开发的容器化软件解决方案。他们的主要产品是OpenShift容器平台,这是基于Kubernetes管理的平台即服务(PaaS)。它是用Go和AngularJS编写的,并且有Apache许可证。

OpenShift Origin是红帽基于开源的云平台,允许开发人员构建,测试和部署云应用。该系统在Kubernetes核心之上添加工具,以实现更快的应用开发,轻松部署和扩展。

该平台除了可扩展外,还支持Go,Node.js,Ruby,Python,PHP,Perl和Java,允许用户添加对其他语言的支持。关于可扩展性,该平台可以自动或手动扩展容器化应用。

OpenShift提供的一些功能包括:

在整个应用程序生命周期中的安全性 - 安全性检查内置于容器堆栈中。

平台上包含的内置监控功能是Prometheus,一种数据库和应用监控软件。你可以在Grafana仪表板上实时显示应用。

集中式策略管理 - 跨集群的单个控制台为用户提供了实施策略的集中位置。

兼容性-OpenShift是Certified Kubernetes计划的一部分,因此允许与Kubernetes容器工作负载兼容。

使用OpenShift的好处包括:

快速的应用开发 - 平台流传输和自动化容器管理过程,从而增强了DevOps过程。应用开发的这种加速意味着你可以更快地进入市场,从而提高竞争力。

没有供应商锁定提供与供应商无关的开源平台,这意味着用户可以根据需要将其容器流程迁移到新的操作系统,而无需重新进行容器化编排。

自助服务配置 - OpenShift允许用户集成他们最常使用的工具,例如,视频游戏开发人员在开发与多个操作系统兼容的游戏时可以使用此功能。

什么是Kubernetes?

Kubernetes是一个开源容器即服务(CaaS)编排系统,用于自动化容器化应用的部署,扩展和管理,从而改进应用程序开发过程。Kubernetes的一些功能包括:

  • 处理自动化 - 例如,哪个服务器将托管容器。
  • 自我监控 - 平台可以不断检查服务器和容器的运行状况。
  • 可扩展性 - 其主要功能之一是它允许横向扩展,使企业能够根据其工作负载需求快速扩展其存储。
  • 灵活性 - 作为一种开源的基于云的工具,可以在多个环境中运行它,内部部署,混合或公有云基础架构。
  • 容器平衡 - 平台自动计算容器的最佳位置。
  • 存储编排 - 与大多数存储系统集成,这意味着用户可以将Kubernetes与如AWS Elastic Storage这样服务的集成。

Kubernetes的好处包括:

  • 成熟的架构 - 建立在十多年的Google工程师经验之上。
  • 不断演进的开发 - Kubernetes大型活跃社区不断发布新功能。用户社区作为支持网络,促进协作。
  • 丰富的应用支持 - 支持各种编程语言和框架。这种灵活性使Kubernetes能够满足各种用例的需求。

OpenShift和Kubernetes之间的差异

由于OpenShift基于Kubernetes,因此它们有很多共同之处。但是,两个平台之间存在一些差异。让我们对OpenShift和Kubernetes功能进行比较:

基础

虽然两者都基于Linux,但每个产品都在不同的环境中运行:

Kubernetes在其可运行的操作系统方面更加灵活。但是,包管理器应该是RPM,这意味着选择合适的Linux发行版。因此最好在Fedora,Ubuntu或Debian上运行它。Kubernetes可以部署在任何主要的IaaS平台上,例如AWS,Azure,GCP、阿里云、IBM云平台等。

OpenShift可以安装在Red Hat Enterprise Linux(RHEL)和Red Hat Enterprise Linux Atomic Host(RHELAH)以及Fedora和CentOS上。OpenShift Dedicated允许在云中创建自己的集群,特别是基于AWS。

Rollout

这两种产品在Rollout方面都很复杂:

Kubernetes运行平台的多样性意味着有无数的解决方案可以在本地创建Kubernetes集群。大多数都基于Rancher Kubernetes Everywhere(RKE)或kops等安装程序。

OpenShift可避免在首次Rollout后需要额外的组件。因此,它配备了基于Ansible的专有安装程序,可以使用最少的配置参数安装OpenShift。

Web UI

与通过基于Web的用户界面管理集群的能力相比,OpenShift和Kubernetes之间存在很大差异。

Kubernetes的仪表板必须单独安装,需要通过kube代理访问,以将本地机器的端口转发到集群的管理服务器。此外,它没有登录页面,但你需要手动创建承载令牌以提供身份验证和授权。所有这些复杂性导致Web UI对于真正的日常管理工作而言不是很有价值。

OpenShift的Web控制台有一个登录页面,可以轻松访问,甚至可以让你通过表单创建和更改大多数资源。虽然你无法通过Web管理集群,但可以可视化服务器,项目和集群角色。

集成镜像注册表

关于集成图像注册表的两个系统之间的关键区别:

使用Kubernetes,可以设置自己的Docker注册表,但没有集成镜像注册表的概念。

OpenShift附带了一个集成的镜像注册表,可以与Docker Hub或Red Hat一起使用。它甚至还有一个注册表控制台,可以在其中搜索与集群中项目相关的镜像和镜像流的信息。

Jenkins

虽然Kubernetes中不存在该概念,但可以部署自己的自定义Jenkins镜像。生成的组件是上传到镜像存储库的docker镜像。

OpenShift使用Pipeline构建,这是一种源到镜像构建的形式,它引用包含Jenkins的镜像,而Jenkins又监控ImageStreamsTags。当需要更新时,它可以启动Jenkins构建。

网络

Kubernetes没有本机网络解决方案,但提供可供第三方网络插件使用的接口。

OpenShift有一个开箱即用的本机网络解决方案OpenvSwitch,它提供三种不同的插件。

哪一个更好?

两者都是开源软件平台,来满足容器编排和应用开发。它们使得以简单易管理的方式部署和管理容器化应用成为可能。OpenShift Web控制台使其非常有用,允许直接通过它执行80%以上的任务。

虽然两者都有类似的核心(毕竟OpenShift内置了Kubernetes),OpenShift通过其开箱即用的功能使安装更容易。安装Kubernetes通常需要交钥匙解决方案或托管Kubernetes集群。

您选择的系统将取决于您的系统要求以及开发过程的关键灵活性或良好的Web界面。

[转帖]两大容器管理平台,Kubernetes与OpenShift有什么区别?的更多相关文章

  1. 基于kubernetes自研容器管理平台的技术实践

    一.容器云的背景 伴随着微服务的架构的普及,结合开源的Dubbo和Spring Cloud等微服务框架,宜信内部很多业务线逐渐了从原来的单体架构逐渐转移到微服务架构.应用从有状态到无状态,具体来说将业 ...

  2. 企业级容器管理平台 Rancher 介绍入门及如何备份数据

    企业级容器管理平台 Rancher 介绍入门及如何备份数据 是什么 Rancher 是一个为 DevOps 团队提供的完整的 Kubernetes 与容器管理解决方案的开源的企业级容器管理平台.它解决 ...

  3. Rancher 容器管理平台-免费视频培训-链接及内容-第三季

    Rancher 容器管理平台-免费视频培训-链接及内容 第三季 第5期-2018年05月10日-持续集成的容器化实践回放网址:http://www.itdks.com/liveevent/detail ...

  4. Docker容器管理平台Rancher高可用部署——看这篇就够了

    记得刚接触Rancher时,看了官方文档云里雾里,跟着官网文档部署了高可用Rancher,发现不管怎么折腾都无法部署成功(相信已尝试的朋友也有类似的感觉),今天腾出空来写个总结,给看到的朋友留个参考( ...

  5. 一个简单易用的容器管理平台-Humpback

    什么是Humpback? 在回答这个问题前,我们得先了解下什么的 Docker(哦,现在叫 Moby,文中还是继续称 Docker). 在 Docker-百度百科 中,对 Docker 已经解释得很清 ...

  6. KubeSphere企业级分布式多租户容器管理平台

    KubeSphere企业级分布式多租户容器管理平台 KubeSphere安装部署2.1.0DEV版本

  7. [转帖]devops 容器管理平台 rancher 简介

    https://testerhome.com/topics/10828 chenhengjie123 for PPmoney · 2017年11月13日 · 最后由 c19950809 回复于 201 ...

  8. Docker容器管理平台Humpback进阶-私有仓库

    Docker私有仓库 在 Docker 中,当我们执行 docker pull xxx 的时候,可能会比较好奇,docker 会去哪儿查找并下载镜像呢? 它实际上是从 registry.hub.doc ...

  9. Rancher 容器管理平台-实战训练营-免费视频培训

      2018年5月-2019年5月免费培训视频(共21期): http://e.vhall.com/user/home/20160226 培训简介: Rancher2.0版基于开源的Kubernete ...

随机推荐

  1. 开发(一) ardunio环境配置 针对esp32-cam 更多例程

    第一种  简单版本,针对获取mpu9250数据, http://www.bubuko.com/infodetail-3093785.html 第二种 浮渣版本,针对ESP32获取图像,以及跟多开发例程 ...

  2. Bounding Box回归

    简介 Bounding Box非常重要,在rcnn, fast rcnn, faster rcnn, yolo, r-fcn, ssd,到今年cvpr最新的yolo9000都会用到. 先看图 对于上图 ...

  3. public private protected 修饰符整理

    1.public定义的类或方法:任何类的实例都可以访问 2.private定义的属性和方法:只能该类内部使用:如果子类要访问父类的private属性:必须实现__set()和__get()方法: 3. ...

  4. GoCN每日新闻(2019-11-07)

    GoCN每日新闻(2019-11-07) GoCN每日新闻(2019-11-07) 1. [译] 排序运行时间能否做到 O(n)?让 Go 语言来告诉你 https://mp.weixin.qq.co ...

  5. X-factor Chain(信息学奥赛一本通 1628)

    题目描述 输入正整数 x,求 x 的大于 1 的因子组成的满足任意前一项都能整除后一项的序列的最大长度,以及满足最大长度的序列的个数. 输入 多组数据,每组数据一行,包含一个正整数 x. 对于全部数据 ...

  6. UDF——判断边界类型

  7. jmeter(四十六)参数化与断言实战

    概述 今天用jmeter做一次参数化实战.通过计数器遍历参数表,然后查询jdbc进行beanshell断言. 涉及元件 用户参数,计数器,正则表达式,jdbc,beanshell脚本 详细过程 在我们 ...

  8. Asp.net 与 Core .net 用法区别

    1.  定义一个类 如下,注意int?这里 public class A{ public int? num{get;set;} } 2. 如果传递的参数不能转换成int类型,则core里面接受不了参数 ...

  9. web程序设计关于我们

    项目名称 福大咸鱼市场 开发团队 项目板块 负责人 美工 黄鸿杰 后端 胡继文 前端 葛家灿 联系方式:1175204449@qq.com

  10. Java编程思想之四控制执行流程

    程序必须再执行过程中控制它的世界,并做出选择.在Java中,你要使用执行控制语句来做出选择. 4.1true和false 所有条件语句都利用条件表达式的真或假来决定执行路径. Java不允许使用数字作 ...