-权限管理
对于企业级的应用平台来说,会有来自企业内外不同角色的用户,所以灵活的、细粒度的、可扩展的权限管理是必不可少的。OCP从设计初期就考虑到企业级用户的需求,所以在平台内部集成了标准化的认证服务器,并且定义了详细的权限策略和角色。
除了传统的认证和鉴权功能,OCP还提供了针对pod的细粒度权限控SCC(security context constraints),可以限制pod具备何种类型的权限,比如容器是否可以运行在特权模式下、是否可以挂在宿主机的目录、是否可以使用宿主机的端口、是否可以以root用户运行等。
-多租户管理
租户是指多组不同的应用或者用户同时运行在一个基础资源池之上,实现软件、硬件资源的共享,为了安全需求,平台需要提供资源隔离的能力。
在OCP中,project是一个进行租户隔离的概念,它来源于kubernetes的namespace,并对其进行了功能的扩展。利用Project,OCP平台从多个层面提供了多租户的支持。
-日志和监控
(1)传统应用日志
有别于当前流行的容器应用,的传统应用同时一个中间件会运行多个应用,且应用通过log4j等机制保存在文件中方便查看和排错。因为容器运行的特性,对于这部分的日志我们需要持久化到外置存储中。
日志的分类如下:
• 中间件日志
• dump文件
• 应用日志
日志保存在计算节点上挂载的NFS存储。为了规范和方便查找。日志将会按OCP平台中的namespace建立目录,进行划分。
(2)新应用日志
应对分布式环境下日志分散的解决办法是收集日志,将其集中到一个地方。收集到的海量日志需要经过结构化处理,进而交给需要的人员分析,挖掘日志的价值信息。同时不同的人员对日志的需求是不一样的,运营人员关注访问日志,运维人员关注系统日志,开发人员关注应用日志。这样就需要有一种足够开放、灵活的方法让所有关心日志的人在日志收集过程中对其定义、分割、过滤、索引、查询。
OpenShift使用EFK来实现日志管理平台。该管理平台具备以下能力:
¡ö 日志采集,将日志集中在一起
¡ö 索引日志内容,快速返回查询结果
¡ö 具有伸缩性,在各个环节都能够扩容
强大的图形查询工具、报表产出工具
EFK是Elasticsearch(以下简写为ES)+ Fluentd+Kibana的简称。ES负责数据的存储和索引,Fluentd负责数据的调整、过滤、传输,Kibana负责数据的展示。
Fluentd无论在性能上,还是在功能上都表现突出,尤其在收集容器日志领域更是独树一帜,成为众多PAAS平台日志收集的标准方案。
(3)监控
PaaS平台的监控包括系统监控、容器监控等。监控流程由信息收集、信息汇总和信息展示等几个部分组成。
在Openshift中默认使用kubenetes的监控信息收集机制,在每个节点上部署cadvisor的代理,负责收集容器级别的监控信息。然后将所有信息汇总到heapster,heapster后台的数据持久化平台是Cassandra。最后由hawkular从Cassandra获取信息进行统一的展示。
-DMZ区计算节点
在DMZ区应用部署遵循以下策略:
• 已有应用迁移至容器云平台时的资源申请按现有配置设置,申请的服务器将仅供该使用
• 如果需要横向扩展,也仅在已分配的计算节点上,如果资源不足,应用项目组可再申请新的计算资源
• 本期项目中,XXX部署在DMZ区平台上,使用2个计算节点;XXX部署在内网平台上,使用2个计算节点
• 在实施时需要为相应的计算节点标记标签,使应用部署时部署到指定的计算节点上。
例如在DMZ网段对XXX应用所使用的2台计算节点打上标签
在部署XXX应用使,nodeSelector需要指明使用的节点的标签为XXX=XXX。
-传统应用访问策略
• Openshift产品推荐通过NodePort类型的Service为某个应用对外暴露一个服务端口。NodePort类型的Service会在集群中的所有节点上监听一个特定的端口,访问任意一个计算机节点的端口,即可访问内部容器中的服务。在集群的所有节点的这个端口都会预留给该应用所用。
• 在F5 VS的Pool Member中配置所有节点,通过Keepalived来实现HA
• 应用系统和用户不用改变现有的访问方式
-应用访问及防火墙
内网计算节点可以直接访问数据库
DMZ区计算节点访问数据库有2种方案:
• 计算节点直接通过内网防火墙访问该应用数据库
内网防火墙仅开通应用所在节点访问内部数据库的端口,例如本期项目,xxx应用仅使用2个节点,则防火墙仅开通这2个节点访问xxx数据库的权限
• 计算节点经Outbound 路由通过内网防火墙访问内网数据o
这oOutbound路由在Openshift中称之为Egress Routero
因此,内网防火墙仅开通应用所在节点访问内部数据库的端口,例如,应用A仅通过路由节点A和B访问内部数据库,则防火墙仅开通这2个节点访问A数据库的权限
收起能再具体描述下问题,是容器云的部署方式吗
现阶段业界容器云的一些创业公司做法大致是在开源编排框架的二次开发以及支持IDC/公有云的统一主机管理集成,以及做支持业务的通用的CICD流程和服务治理。个人版比较简陋,主要是做企业版盈利
收起