openshift简介
openshift简介架构简介Openshift是一个开源容器云平台,是一个基于主流的容器技术Docker和K8s构建的云平台。Openshift底层以Docker作为容器引擎驱动,以K8s作为容器编排引擎组件,并提供了开发语言,中间件,DevOps自动化流程工具和web console用户界面等元素,提供了一套完整的基于容器的应用云平台架构自底而上包括几个层次:基础架构层,容器引擎层...
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
过程:
- 主机准备。准备openshift集群需要的主机。
- 安装前预配置。准备相应的系统配置与软件依赖。
- 执行安装。使用Ansible Playbook进行自动化安装。
- 安装后配置。添加相应的组件以及修改配置。如导入模板等。
监控
- 监控路由器,根据底层实现,您可以通过多种方式监视正在运行的路由器。本主题讨论HAProxy模板路由器以及要检查以确保其运行状况的组件。
-
查看统计信息
HAProxy路由器为HAProxy统计信息公开Web侦听器。输入路由器的公共IP地址和正确配置的端口(默认为1936)以查看统计页面,并在出现提示时输入管理员密码。此密码和端口在路由器安装期间配置,但可以通过查看容器上的haproxy.conf文件找到它们。 -
查看日志
要查看路由器日志,请在pod上运行oc log命令。由于路由器作为管理底层实现的插件进程运行,因此日志用于插件,而不是实际的HAProxy日志。 -
查看路由器内部
路由由HAProxy路由器处理,并存储在内存,磁盘和HAProxy配置文件中。可以在/var/lib/containers/router/routes.json文件中找到传递给模板以生成HAProxy配置文件的内部路由表示。解决路由问题时,请查看此文件以查看用于驱动配置的数据。
- 监控应用
在软件系统中,由于瞬态问题(例如临时连接丢失),配置错误或外部依赖性问题,组件可能变得不健康。 OpenShift应用程序有许多选项来检测和处理不健康的容器。
- 使用探针进行容器健康检查
- 活力探测器
迁移
由于采用内部采用Doocker,意味着任何类型的应用都可以迁移到Docker上
备份
客户端工具(rhc)支持应用的备份与还原
更多推荐
所有评论(0)