openshift简介

openshift

简介

架构

简介

Openshift是一个开源容器云平台,是一个基于主流的容器技术Docker和K8s构建的云平台。Openshift底层以Docker作为容器引擎驱动,以K8s作为容器编排引擎组件,并提供了开发语言,中间件,DevOps自动化流程工具和web console用户界面等元素,提供了一套完整的基于容器的应用云平台

架构

自底而上包括几个层次:基础架构层,容器引擎层,容器编排层,PaaS服务层,界面及工具层。

基础架构层:为Openshift平台的运行提供基础的运行环境。Openshift支持运行在物理机,虚拟机(kvm,vmware,virtual box等),公有云(阿里云,AWS等),私有云,混合云上。

容器引擎层:以当前主流的Docker作为容器引擎。

容器编排层:以Google的k8s进行容器编排。

PaaS服务层:容器云平台的最终目的是为上层应用服务提供支持,提高开发,测试,部署,运维的速度和效率。用户在Openshift云平台上可以快速的获取和部署一个数据库,缓存等。

界面及工具层:Openshift提供了多种用户的接入渠道:Web控制台,命令行,RestFul接口等

核心组件

Master节点

主控节点。集群内的管理组件都运行在Master节点上。Master节点负责集群的配置管理,维护集群的状态。Master节点运行的服务组件:

API Server:负责提供Web console和RESTful API。集群内所有节点都会访问API Server,更新节点的状态及其上的容器状态。

数据源(Data store):集群内所有状态信息都会存储在后端的一个etcd的分布式数据库中。

调度控制器(Scheduler):负责按用户输入的要求寻找合适的计算节点。

复制控制器(Replication Controller):负责监控当前容器实例的数量和用户部署指定的数量是否匹配,若有容器异常退出,复制控制器发现实际数少于部署定义数,从而触发部署新的实例。

Router和Route:Service提供了一个通往后端Pod集群的稳定入口,但是Service的IP地址只是集群内部的节点和容器可见。外部需通过Router(路由器)来转发。Router组件是Openshift集群中一个重要的组件,它是外界访问集群内容器应用的入口。用户可以创建Route(路由规则)对象,一个Route会与一个Service关联,并绑定一个域名。Route规则被Router加载。当集群外部的请求通过指定域名访问应用时,域名被解析并指向Router所在的计算机节点上,Router获取该请求,然后根据Route规则定义转发给与这个域名对应的Service后端所关联的Pod容器实例。上述转发流程类似于nginx。Router负责将集群外的请求转发到集群的容器,Service则负责把来自集群内部的请求转发到指定的容器中。

Persistent Storage:容器默认是非持久化的,所有的修改在容器销毁时都会丢失。Docker提供了持久化卷挂载的能力,Openshift除了提供持久化卷挂载的能力,还提供了一种持久化供给模型即PV(Persistent Volume)和PVC(Persistent Volume Claim)。在PV和PVC模型中,集群管理员会创建大量不同大小和不同特性的PV。用户在部署应用时显示的声明对持久化的需求,创建PVC,在PVC中定义所需要的存储大小,访问方式。Openshift集群会自动寻找符合要求的PV与PVC自动对接。

Registry:Openshift内部的镜像仓库,主要用于存放内置的S2I构建流程所产生的镜像

负载均衡

只能通过群集网络上的IP地址访问OpenShift群集内的Pod。边缘负载均衡器可用于接受来自外部网络的流量,并将流量代理到OpenShift群集内的pod。如果负载均衡器不是群集网络的一部分,则路由成为障碍,因为边缘负载均衡器无法访问内部群集网络。
要解决OpenShift集群使用OpenShift SDN作为集群网络解决方案的问题,有两种方法可以实现对Pod的网络访问。

  • 在SDN中包含负载均衡器
  • 使用斜坡节点建立隧道(F5 BIG-IP:负载均衡器硬件设备)
    结论:Openshift在集群部署时需要额外提供一个负载均衡器(Nginx)

自动部署

工具:Ansible
过程:

  1. 主机准备。准备openshift集群需要的主机。
  2. 安装前预配置。准备相应的系统配置与软件依赖。
  3. 执行安装。使用Ansible Playbook进行自动化安装。
  4. 安装后配置。添加相应的组件以及修改配置。如导入模板等。

监控

  1. 监控路由器,根据底层实现,您可以通过多种方式监视正在运行的路由器。本主题讨论HAProxy模板路由器以及要检查以确保其运行状况的组件。
  • 查看统计信息
    HAProxy路由器为HAProxy统计信息公开Web侦听器。输入路由器的公共IP地址和正确配置的端口(默认为1936)以查看统计页面,并在出现提示时输入管理员密码。此密码和端口在路由器安装期间配置,但可以通过查看容器上的haproxy.conf文件找到它们。

  • 查看日志
    要查看路由器日志,请在pod上运行oc log命令。由于路由器作为管理底层实现的插件进程运行,因此日志用于插件,而不是实际的HAProxy日志。

  • 查看路由器内部
    路由由HAProxy路由器处理,并存储在内存,磁盘和HAProxy配置文件中。可以在/var/lib/containers/router/routes.json文件中找到传递给模板以生成HAProxy配置文件的内部路由表示。解决路由问题时,请查看此文件以查看用于驱动配置的数据。

  1. 监控应用
    在软件系统中,由于瞬态问题(例如临时连接丢失),配置错误或外部依赖性问题,组件可能变得不健康。 OpenShift应用程序有许多选项来检测和处理不健康的容器。
  • 使用探针进行容器健康检查
  • 活力探测器

迁移

由于采用内部采用Doocker,意味着任何类型的应用都可以迁移到Docker上

备份

客户端工具(rhc)支持应用的备份与还原

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
OpenShift是一种基于容器的应用程序平台,它提供了一种简单的方法来构建、部署和管理应用程序。以下是一些OpenShift教程: 1. 官方文档:OpenShift官方提供了非常详细的文档,涵盖了从入门到高级主题的所有内容。您可以在官网上找到这些文档:https://docs.openshift.com/ 2. OpenShift入门教程:这是一篇关于如何使用OpenShift的基本教程,适合初学者。它涵盖了如何创建应用程序、部署应用程序、管理容器等基本概念。您可以在这里找到这篇教程:https://www.openshift.com/learn/get-started/ 3. 构建和部署一个Java应用程序:这是一篇关于如何使用OpenShift构建和部署Java应用程序的教程。它涵盖了如何使用OpenShift命令行工具和Web控制台来创建和管理Java应用程序。您可以在这里找到这篇教程:https://www.openshift.com/learn/topics/java/ 4. 构建和部署一个Node.js应用程序:这是一篇关于如何使用OpenShift构建和部署Node.js应用程序的教程。它涵盖了如何使用OpenShift命令行工具和Web控制台来创建和管理Node.js应用程序。您可以在这里找到这篇教程:https://www.openshift.com/learn/topics/node-js/ 5. 构建和部署一个PHP应用程序:这是一篇关于如何使用OpenShift构建和部署PHP应用程序的教程。它涵盖了如何使用OpenShift命令行工具和Web控制台来创建和管理PHP应用程序。您可以在这里找到这篇教程:https://www.openshift.com/learn/topics/php/ 希望这些教程可以帮助您更好地了解和使用OpenShift

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值