本期专家:
万绍远 Rancher企业级Kubernetes管理平台 IT技术咨询顾问
吕作令 XSKY 资深解决方案专家
沈卫忠 红帽企业级开源解决方案中心 资深解决方案架构师
王洪涛 红帽企业级开源解决方案中心 资深解决方案架构师
魏新宇 红帽企业级开源解决方案中心 资深解决方案架构师
刘 康 日志易 系统分析师
01 OpenStack中网络流向是怎样的,都经过网络控制器吗?
@万绍远 Rancher企业级Kubernetes管理平台 IT技术咨询顾问:
这里分几个场景了,简单描述下(采用ovs-vlan模式):
场景一: 相同物理机上的虚拟机互相访问
vm1和vm2在同一个宿主机上同一个项目下同一个子网时,两个虚机之间的流量是不需要经过交换机的,直接通过ovs的br-int桥就可以做转发了。
场景二:不同物理机上的虚拟机互相访问
vm1和vm2在同一个宿主机上同一个项目下同一个子网时,两个虚拟机之间的流量是需要通过物理交换机进行转发的。
vm的流量首先经过tap网卡到qbr桥上,qbr桥是linux-bridge桥,曾经的ovs不支持安全组的实现所以openstack只能加一个qbr桥在上面通过iptables来实现安全组,(mitaka版本中已经没有了因为ovs已经可以通过openflow来实现了),通过veth口将br-int和qbr桥连接起来,流量到br-int上,br-int上有对应的ovs规则转发到br-eth0上,,br-eth0 中的 flow rules。从 patch port 进入的数据帧,将内部 local_id 修改为vlan_id,再从 eth0 端口发出。通过交换机到达另外一个计算机节点。
eth0收到包后通过ovs规则将流量转到br-int,br-int将vlan_id转换为对应的local_id,然后通过veth口发给qbr,通过qbr后转vm的tap的网卡经过内核转发到vm的网卡。
场景三:访问外部网络
需要经过网络节点,由网络节点的qroute做三层转发,也可以直接使用物理交换机。不同子网的通信,虚机会将流量丢给默认网关然后到达网络节点的qrouter通过qrouter的三层转发通讯。
02 OpenStack 后端存储构建Ceph集群为什么不建议和raid搭配使用?
【问题描述】在红帽官网文档看到说构建ceph存储集群时,建议不要与raid混合使用,这是什么原因?
@吕作令 XSKY 资深解决方案专家:
Ceph 和 raid 不建议混合使用。
分布式存储已经做到了多副本的安全冗余机制,乃至1-6副本。ceph已经解决了数据冗余的问题,不需要再做raid,做raid后反而增加了运维难度,若raid 在出现问题时,数据做重平衡过程中也会影响ceph 存储集群。
03 针对金融行业容器云,存储使用方案建议FC-SAN/NAS/CEPH 还是?
【问题描述】针对金融行行业生产环境,搭建OpenShift 容器云,共享存储平台该如何选择?传统的块存储FC-SAN、NFS,还是分部署存储(ceph hdfs)。针对有状态容器该如何从中作出选择?有何优劣?个人倾向用传统存储厂家提供NAS存储。
@魏新宇 红帽企业级开源解决方案中心 资深解决方案架构师:
ocp支持多种存储类型。如果pod不需要共享pv,用ceph3的rbd是不错的选择。bluestore的性能提升了不少,尤其是写性能。如果有少量的pod需要共享pv,可以用cephfs,但这种性能不如rbd。如果大量pod都需要共享pv,那么用企业级NAS是比较好的选择。高端FC存储的lun是没法直接挂给pod的,也需要做成文件系统。
04 做应用的微服务改造,是否同时要进行企业数据中台和业务中台的搭建?
@沈卫忠 红帽企业级开源解决方案中心 资深解决方案架构师:
1. 中台是企业级能力复用平台,它本身往往就是通过API的方式暴露给前台面向客户的应用,也就是所谓的敏态应用。所以我们说,业务中台和数据中台的技术实现方式是微服务和云原生,这两者是相辅相成的。
2. 而且,业务中台和数据中台往往体现了企业组织架构的变化,往往能够推倒企业的微服务改造。技术上来将,微服务改造初期是有前后台之分的,中台定位恰如其分。
05 如何实现应用在容器、非容器上的统一编排管控?
@沈卫忠 红帽企业级开源解决方案中心 资深解决方案架构师:
这个问题我的理解是应用的某些技术组件是在容器平台上,另外一些技术组件是在非容器平台上(比如OpenStack或VMWare上面的虚拟机)。在这些的一种情况下,我们可以考虑采用Ansible自动化引擎通过编写playbook来统一编排调度。对于OpenShift和K8S,Ansible都要现成的module,如果这些module某些功能不支持,也可以调用Restful API。
如果想采用K8S原生的方式进行统一编排,可以考虑采用OpenShift或K8S内置的Operator Framework,利用Ansible和Operator-SDK创建一个Operator来统一编排容器外部和内部的应用。
06 如何实现容器基础镜像的安全和合规性管理?
@万绍远 Rancher企业级Kubernetes管理平台 IT技术咨询顾问:
镜像安全扫描:
1、可以使用harbor内的镜像漏洞扫描功能,集成的是clair漏洞库。
2、企业内网可以定期同步更新漏洞数据库,harbor是放在 postgresql中,导入即可。
合规性管理:
1、Harbor 会对某些镜像的拉取 (pull) 加以限制,主要是那些被安全策略进行了漏洞 (CVE) 扫描,且结果符合限制条件的镜像(例如含义严重级别漏洞的镜像)。一些例外场景,可以配置漏洞白名单。
07 容器云的日志方案,除了EFK之外有没有资源消耗更少、更易维护的方案,Loki是否可以用于金融行业?
@刘康 日志易 系统分析师:
采集docker 的日志几种方式:
1. 将Docker 日志吐到kafka里去,但是需要将其对应的日志打上额外的字段推送到kafka服务 。
2. 将Docker 日志直接输出到标准文件中去,使用filebeat 等工具去采集。
3. 宿主机上部署一个Agent Container,通过配置-v参数,将宿主机的/及/var/run/docker.sock挂载到Agent Container内部,每个宿主机只需要部署一个 Agent Container。Agent Container里的hekad通过配置DockerInput,监控宿主机的Container变化,并根据Container的LABEL采集对应容器的stdout和文件目录。
Loki的话个人感觉使用比较受限,到后期分析链路需求的时候就感觉出来了。
08 使用分布式架构后,应用日志如何管理和问题如何迅速定位?
【问题描述】使用分布式架构后,应用的日志如何进行有效的管理和分析,因数据量很大,而存储有限,很难满足网安法要求的最少保留六个月的限制。另外,接口交互时的如何存储?保险的交易日志一般会保留2年以上 ,以备交易的跟踪和回溯。
@王洪涛 红帽企业级开源解决方案中心 资深解决方案架构师:
推荐使用EFK日志栈实现。
数据量很大可以使用EFK+kafka方案。
存储有限的问题,不在技术考虑范围内,或者说,存储是技术成本的最后考虑因数(存储是最便宜的)。
END