Openshift是一个开源的容器云平台,底层基于当前容器的事实标准编排系统Kubernetes和docker引擎,企业可以基于此平台搭建内部Paas平台,贯穿CI/CD流程,提高企业IT效率,拥抱DevOps和敏捷开发。

什么是Paas

PaaS(Platform as a Service,平台即服务)最早是在云计算领域被提出。如下图所示,将企业IT服务分为九层,传统自建数据中心九层设施都需要企业自己维护,成本极高。而云计算架构就相当于把九层架构中的底层一部分外包给云计算服务提供商,根据外包的层次不同,分为IaaS(Infrastructure as a Service,基础设施即服务),PaaS,SaaS(Software as a Service)三层。

  • IaaS 层为基础设施运维人员服务、提供计算、存储、网络以及其他硬件资源,云平台使用者可以在上面部署和运行包括操作系统和应用程序在内的任意软件,无需再为基础设施的管理而分心。

  • PaaS 层为应用开发人员服务,提供支撑应用运行所需的软件运行时环境,相关的工具与服务,如数据库服务、日志服务、监控服务等,让应用开发者可以专注于交付业务价值的代码而无需关心应用所需的基础环境与工具。

  • SaaS 层为一般用户(最终用户)服务,提供了一套完整可用的软件系统,让一般用户无需关心技术细节,只需通过浏览器、应用客户端的方式就能使用部署在云上的应用服务。SaaS 产品比如客户关系管理系统、邮件、虚拟桌面、通信、游戏等。

什么是Kubernetes

Kubernetes是一个开源容器编排引擎,用于自动化容器化应用程序的部署,扩展和管理。 Kubernetes的基本概念包括:

  • 一个或多个工作节点(worker node)负责工作负载
  • 一个或多个管理节点(master node)负责管理工作负载
  • 将容器封装在名为Pod的部署单元,使用Pod为容器提供额外的元数据并且提供在单个部署实体中对多个容器进行分组的功能
  • 创建特殊的资源。例如,服务表示一组Pod和访问策略,该访问策略允许容器没有特定的ip地址也能连接服务。复制控制器(Replication controllers)是另一种用于控制同一时间的Pod副本数量的特殊资源,可以使用此功能自动扩展应用程序以适应其当前需求。

什么是OKD

OKD是Kubernetes的发行版,针对持续应用程序开发和多租户部署进行了优化。OKD在Kubernetes之上添加了开发人员和运营工具,以便为小型和大型团队实现快速的应用程序开发,轻松部署和扩展以及长期生命周期维护。
OKD是嵌入了Red Hat OpenShift中的上游Kubernetes发行版,并通过安全性和其他集成概念进行扩展。 OKD在github和文档中也称为Origin。

openshift层次结构

OpenShift v3是一个分层系统,旨在尽可能准确地公开底层Docker格式的容器镜像和Kubernetes概念,重点是帮助开发人员轻松组合应用程序。例如,安装Ruby,推送代码和添加MySQL。
其中,docker提供了打包和创建基于linux的轻量容器镜像的抽象;Kubernetes提供了集群管理以及在多台主机上编排容器的功能。OKD提供了以下功能 :

  • 帮助开发人员管理、构建和部署源代码
  • 管理和推广大规模的流进系统的镜像
  • 大规模的应用管理
  • 组织大型开发人员组织的团队和用户跟踪
  • 支持群集的网络基础结构

Openshift 实际上由三部分组成,核心部分实现容器的调度是封装的 Kubernetes, 除此之外还有一个内置的镜像仓库(Image Registry),这个仓库是可选的,Openshift 也可以配置使用 Dockerhub 或者企业自己的镜像仓库,最外层部分是一个友好的 Web 界面,用于展示和操作 Openshift 的资源。
如下图所示,Openshift 要成为一个完整的数字化平台需要依赖于两个外部系统,一个代码库,一个是持续集成服务,事实上这两个外部服务也是可以跑在 Openshift 里面的。右边的灰色矩形就是 Openshift 的主要架构了,它的上层是一个路由(Router),用于 DNS 解析和转发,确保用户能够调用到 Openshift 集群中的服务。中间部分是跑在 RHEL 操作系统上的 Kubernetes 集群,侧面是外部存储服务,因为集群里的计算单元是漂浮的,所以通常 Kubernetes 集群只提供计算能力,数据持久外需要依赖外部的比如说 S3,EBS 等云服务商提供的存储服务。最下层同样也是由云服务商提供的基础设施服务。

Pods

okd引用了kubernetes的pods概念。pods是指在同一台主机上运行的一个或多个容器,它是定义、开发和部署的最小单位。 每个pod都分配有自己的内部IP地址,因此拥有其整个端口空间,pod中的容器可以共享其本地存储和网络。
pod的生命周期可以在容器退出时结束,也可以在容器退出后保留pods以方便访问容器日志。
pod在运行过程中无法被修改,当需要修改时,需要先停止pod再根据修改后的配置文件和镜像重新创建pod。pod退出时不会保留状态,因此一般通过更高级的控制器管理pods而不是用户直接管理。

参考资料

https://www.duyidong.com/2017/06/14/kubernetes-and-openshift/

官网链接:
https://www.openshift.com/
https://access.redhat.com/documentation/en-us/openshift_container_platform/4.1/html/architecture/architecture
https://docs.okd.io/latest/architecture/index.html

什么是openshift的更多相关文章

  1. 调戏OpenShift:一个免费能干的云平台

    一.前因后果 以前为了搞微信的公众号,在新浪sae那里申请了一个服务器,一开始还挺好的 ,有免费的云豆送,但是一直运行应用也要消费云豆,搞得云豆也所剩无几了.作为一名屌丝,日常吃土,就单纯想玩一玩微信 ...

  2. redhat openshift 跳转

    网址: https://openshift.redhat.com/ OpenShift免费套餐的限制是:最多15PV/s,有3个512MB内存的应用,月流量在50K以下. 可以绑米,可惜的是,需要代理 ...

  3. 利用OpenShift托管Node.js Web服务进行微信公众号开发

    最近写了一个微信的翻译机器人.用户只要关注该公众号,发送英文的消息,就能收到中文翻译的回复.有兴趣的读者可以扫描下面的二维码关注该公众号,尝试发送英文单词试试看.(有时候第一次发送单词会收到“该公众号 ...

  4. 使用虚拟信用卡认证openshift铜牌计划

    "铜牌计划(bronze)"是OpenShift推出的一项免费计划,这个计划能为你提供更多的免费便利,主要就是可以自己绑域名加SSL证书和应用即使24小时没人访问也不关机了.说这个 ...

  5. 解决由OpenShift自带的APC加速器造成的代码无法及时生效的问题

    如果你在使用你的Openshift时出现了这样的问题,那就说明APC加速器导致了此故障 1.上传后的代码运行效果没有变化 2.Wordpress翻来覆去自己重复升级一个版本(←Wordpress在自嗨 ...

  6. 上一周,小白的我试着搭建了两个个人博客:在github和openshift上

    上一周,突发奇想,想搭建个自己的博客. 由于是突发奇想,自然想先找免费的试试手.仔细搜索下,选定了目标Openshift和Github. Openshift 安装WordPress OpenShift ...

  7. OpenShift:外国的免费云平台

    二.安装openshift客户端 对于怎么安装openshift客户端,我就不说了,网上有很多教程,连官网也有他自己的教程. 官网教程:https://developers.openshift.com ...

  8. OpenShift

    一步一脚印 停停走走,回头看看 博客园 首页 新随笔 联系 订阅 管理 随笔 - 24  文章 - 8  评论 - 2 调戏OpenShift:一个免费能干的云平台   一.前因后果 以前为了搞微信的 ...

  9. 使用Navicat远程管理OpenShift的数据库

    其实 phpMyAdmin 这个 web 端的 MySQL 数据库管理工具还是很好的,要不然也不会成为 MySQL 数据库的绝配.但是我想,很多人应该和重华一样,不太喜欢使用 web 端的工具,总觉得 ...

  10. 绑定GoDaddy域名到OpenShift应用

    一.申请GoDaddy域名 二.托管OpenShift应用 三.绑定www.mydomain.com 四.重定向mydomin.com到www.mydomain.com 五.It's go time ...

随机推荐

  1. P3746 【[六省联考2017]组合数问题】

    题目是要我们求出如下柿子: \[\sum_{i=0}^{n}C_{nk}^{ik+r}\] 考虑k和r非常小,我们能不能从这里切入呢? 如果你注意到,所有组合数上方的数\(\%k==r\),那么是不是 ...

  2. Redis BGSAVE因为内存不足 fork 失败导致目标 Redis 无法访问的问题

    中秋的时候正在外面愉快的在外卖喝着咖啡玩电脑......突发 redis 报警从 sentry 应用端曝出的错误 MISCONF Redis is configured to save RDB sna ...

  3. jmeter待解决55大问题

    客户交付一个性能测试项目,阐述实施流程. 解释5个常用的性能指标的名称与具体含义. 写出5个jmeter中常用函数,并对其中2个举例说明用法. 简述jmeter的工作原理? 什么是集合点?设置集合点有 ...

  4. Ranger部署

    一.Apache Ranger是什么? Apache Ranger是一个框架,Hadoop上对于保护数据数据安全性的安全框架.用于在整个Hadoop平台上启用,监视和管理全面的数据安全性. 二.特性 ...

  5. Freemarker的简单demo

    第一步.导入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemark ...

  6. (未完成)catalyst-system WriteUp(2019暑假CTF第一周reverse)

    目录 预备学习--Linux实践:ELF文件格式分析 一.概述 二.分析ELF文件头(ELF header) 三.通过文件头找到section header table,理解其内容 四.通过secti ...

  7. ESXi6.5上的Ubuntu虚机在远程SSH时宕机

    情况是这样的, 有一个ESXi6.5上跑的Ubuntu虚机, 版本是18.04.1, 今天升级成18.04.2后, 就发现远程连接SSH不对劲, 在本地登录和操作都好好的, 只要远程SSH一连接, 服 ...

  8. python开发--列表当全局变量来使用

    python中,申明全局变量的时候,一般该变量类型基本上是:字符串或数字: 比较少用“列表”当做变量, 当有作用域限制的情况下,想要外部调用内部作用域的“列表”变量时,可以用这种方式,外部申明一个空列 ...

  9. 微信小程序开发——修改小程序原生checkbox、radio默认样式

    复选框: 闲话少说,这里直接介绍如何修改小程序提供的复选框的样式,如原生的是这样的: 需要的是这样的: 示例代码: /*复选框外框样式*/ checkbox .wx-checkbox-input { ...

  10. 【环境搭建与软件安装】windows系统基于Anaconda安装tensorflow-gpu

    https://github.com/tensorflow/tensorflow/issues/21832 原来是tensorflow-gpu-1.10.0,准备改为1.9.0试试,同样的问题: 应该 ...