2018.6科学技术创新一97 基于K8s的PaaS架构及业界典型产品的调研分析 田杨锋王振 (南京邮电大学,江苏南京210046) 摘要:近几年来,云计算取得了飞速的发展 以其服务形式的不同,可以将之划分为laaS,PaaS,SaaS三层 Kubel‘neles(K8s)作 为PaaS层的典型架构体系,被许多云计算厂家所采用..K8s是为生产环境而设计的容器调度管理系统,处处为运行云原生应用而 设计考虑.对于自动伸缩、负载均衡、高可用、滚动升级、服务发现等功能要求有原生支持 随着K8s系统的不断推广与应用,基于 K8s系统设计和开发复杂的云原生应用也变得越来越简单 关键词:Kubernetes;云计算;PaaS,容器 中图分类号:TP3l1 文献标识码:A “ 汁算”从提 到现在的十JLqm ̄IhJ ,尤沦是理论基础 还足实践虚川,都取得了极大的进步。根据其服务方式,一般将 J!J ̄lJ.J)-为laaS(基础设施),PaaS(平台),SaaS(软件).、laaS他于 最底 ,PaaS处于中间层,SaaS位 :最J 文章编号:2096—4390(20l8)06—0097—02 K8s是处于PaaS 的自动化容器操作开源平台,支持包括 邸署,调度和节点集群问扩展等操作 .通过足使刚K8s架构,我 ffief以轻松地解决集群的调度、生命周期和健康状况检查、服 纾发现、监控、认证和容器聚合等问题 1 Kubernetes简介 Kubernetes(Kss)是Google开源的容器集群管理系统、K8s以 Dot ker技术为基础,为容器化的应Hj提供部署运行、资源 度、 服务发现和动态伸缩等一系列功能。相对j:传统的PaaS 架 卡勾,K8s具有容器编排、轻量级、开源、弹性伸缩干¨负载均衡等优 势 K8s的整体框架主要包括kut)ecfg、Master AI I Server、 Kutmlet、Minion(Host)1,7,,及Proxy。 图1 K8s整体架构图 (转下页) 辨率。主要就是通过脉冲压缩的方式开展1 作. 脉冲压缩就 足 宽脉冲信号接收过程中,通过p 配的滤波器进行脉冲压缩 处理,进而输m载波信号,在保障其州波信号能力的同ft寸,叮以 通过提升雷达距离分辨力的方式开展 作。 脉冲压缩过程中,首先要获得理想的线性州频信号,任对此 号进行共轭翻转,然后通过F 傅咀叶变换获得其最终的脉 冲压缩系数。在对获得的理想回波信号进行正交解调。架设其 一{¨1 .】 一 . 一 一 ”一巾I1] 、, ’ 厂 丁 ¨ Chirp—Z变换原理图 结束语 本文德J Sinlulink软件埘甫达信号产生以及处州的过 进 r仿真模拟,通过埘 于Simulink仿真软件『1l的II 交 坝信 I】标l在特定的距离中静止,通过对一个脉冲重复周期中的同波 行_信号进行获取,在进行脉冲压缩处理。刈‘这些fn]波信号进行FFT 号、脉冲压缩模块、Chirp—Z变换的分析 解刮, ̄iC-.J Siniulink软 l ,擦()z 傅q 叶变换,其获得的结果与脉冲压缩系统相乘,在通过IF} 件可以快速的构建模 ,基于『1己的实际需求搭迎卡}傅 叶反变换就町以获得最终的信号经过脉冲压缩数据。 2.3 Chip—Z变换 r简单便l丁理解.L【土町以 后期基丁r{己的实际需求刈Jt:jLt- 修 改;这样自‘效的缩短了整个产品开发的周期,往一定 笨低 在以往的F丌运算中只能对主频频率的大概位置进行粗 了开发的成本;通过研究丌J‘以发现,适当的增强F¨的运算点 rI,一Z变换, l入到 略分析,然后通过F盯傅里叶变换的 式就叮以提升其精准 数,加强对巾频信号的脉冲 缩处理,将Chi丫r傅里叶变换之l11.口f以何效的提升甫达信号处J ̄!lll'(J梢准发, 度,但是运输的点数提升也增强了J 整体的T 作量,这样给理 FF想数据的精准分析以及获得带来了一定的影响。基于傅里叶变 可以在根本上增强甫达的分辨能力 参考文献 换的基础之上进行Chirp—Z变换处理,町以精准的算出主频频 率的主要位置,FFT在取样过程中蜓要 整个单位中进行平面 『11车俐,白云浩,蒋留兵.小型高精度防撞雷达信号处理系统实现 取样,而Chirp—Z变换在取样过程【fI主要就是 单位圆上的等 lJ1.现代雷达,2016,38(7):32—35. 21殷俊丽,丁康利,郝鹏飞.基于MATLAB的雷达信号处理仿真 间隔时问中进行采样,是一种优化 ,正交解调信号是一种 『模拟量,必须要将此模拟量进行数 信号的转换, ‘可以进行 lJJ.电子技术与软件工程,2017(18):l03. 3l景志,杨立永,张国兵.通用化雷达信号处理系统的参数化仿真 傅 叶汁算, 整个过程巾必须要通过A/1)数模转换 开展作 f、 其具体的Chirp—Z变换原理图如下 设计研究IJ1.舰船电子工程,2016(2):74—77. 一98一科学技术创新2018.6 2 Kubernetes核心概念 2.1 Node 制等相关模块的安全机制。位于K8s集群内时可以直接使用 Kuberetl命令管理集群。 4业界典型产品的调研分析 4.1 OpenShift Node是集群中的工作节点,运行真正的应用程序, 同时Node也是集群的操作单元,Pod运行于Node上。 2.2 Pod OpenShift是红帽基于K8s和Docker开发的容器平台。自由 测试和运行他 Pod是K8s集群进行创建、调度和管理的最小单位,运行于 和开放源码的云计算平台使开发人员能够创建、Node节点上,是多个相关容器的组合。同一Pod内的容器运行 们的应用程序,并且可以把它们部署到云中。OpenShi1支持多 f于同一宿主机,使用相同的网络标识(命名空间、IP地址等),可 种编程语言和框架,此外还提供了多种集成开发工具。 如图2所示,OpenShift要成为一个完整的数字化平台需要 使用localhost互相通信。 2_3 Replication Controller 依赖于代码库和持续集成服务两个外部系统,事实上这两个外 Replication Controller(RC)用来管理Pod的副本。当集群中 部服务也可以运行在OpenShift里面。右边的灰色矩形是Open— 副本的数量少于指定数量时,RC会启动一定数量的容器,保证 Shit的主要架构,其上层是路由模块,用于DNS解析和转发,f 数量不变;反之,则会停止多余的容器。RC是K8s实现动态扩 确保用户可以调用OpenShift集群中的服务。红色部分是运行在 Red Hat Enterprise Linux系统上的K8s集群,侧面是外部存储 容、弹性伸缩和滚动升级的核心。 2.4 Service 服务。由于集群里计算单元的浮动性,所以通常K8s集群只提 Service定义了Pod的逻辑集合和访问该集合的策略,是真 供计算能力,数据的持久化需要依赖于其他云服务商的存储服 实服务的抽象。Service提供了一个统一的服务代理、访问人口 务。最下层同样也是由其他云服务商提供的基础设施服务。 和发现机制,方便了用户的使用。 2.5 Volume 日凰囝一一 一 曰昼 Volume是Pod中能够被多个容器访问的共享目录。K8s集 群中的存储卷跟Docker的存储卷有些类似,不同的是K8s存储 卷的作用域和生命周期是一个Pod。每个Pod中的存储卷由所 有容器共享。K8s支持许多存储卷类型,包括公有云平台的存 储、分布式存储以及主机本地目录存储等。 2.6 Label 团团囝 国 国 团团团 ■v●强u m Label是一系列的键值对,是RC和Service运行的基础,二 者通过Label来进行关联Node上运行的Pod,K8s集群中API 对象通过Label标识。 3 Kubernetes总体架构 K8s架构集群由一个Master节点和一群工作节点Node组 4.2时速云 曲 ...”‘c^L 怖玲 rU^L Hw■H ◇ PUltK 图2 OpenShift框架图 成。Master节点上运行着由etcd、API Server、Contorller Manager、 时速云是首个基于K8s且支持私有部署的企业级容器云管 Scheduler组成的一组集群管理相关的进程。其中后三个组件是 理平台。时速云将容器化应用作为最终的交付标准,为用户提 K8s的总控中心,实现了整个集群的资源管理、弹性伸缩、Pod调 供了一个快速构建、集成、部署、运行容器化应用的平台,帮助用 度、系统监控和纠错等管理功能。每个Node上运行Kubelet、 户提高应用开发效率,降低成本。 时速云较之其他云服务商具有弹性分布式的容器服务、分 ProxY、Docker daemon三个组件,负责管理本节点上的Pod的生 命周期和服务代理等。 布式镜像构建与发布以及灵活、高性能的容器主机管理等优 K8s通过Kubectl发起RC创建请求,由API Server将请求 势。 写入etcd中,Controller Manager根据API Server的监听资源变 化的接口获知该RC事件并分析,若此时集群中没有对应的Pod 实例,则根据RC里的Pod模板定义生成一个Pod对象,然后, Docker和K8s的容器服务。迄今为止,蜂巢已经为国内多家企 Scheduler发现该事件并迅速执行相应的调度流程,为该Pod选 业提供了稳定高效的云计算服务。 4.3网易蜂巢 网易蜂巢提供稳定、安全易用的云服务器服务.以及基于 网易蜂巢将IaaS平台和容器平台深度结合,充分的利用了 aaS平台高性能的网络、存储服务和容器平台优异的CPU隔 在Node上的Kubelet进程通过API Server检测到这个Pod,启 I动并管理该Pod。 离、内存隔离、应用隔离等优点。对于公有云平台的安全性,蜂 定宿主Node,接着API Server将结果写入到eted中。随后,运行 接着,Kubectl通过该Pod的Service的提交新的映射创建 巢采用不同用户不共享主机、不共享虚拟机的策略,实现了较好 请求,Controller Manager使用Label查询相关Pod实例,生成 的隔离性。蜂巢得益于高性能的基础硬件设备,实现了全万兆 Endpoints信息,API Server将信息写入eted中。然后Proxy进程 互联、全SSD存储。 借助API Server查询监听Service对象与其对应的Endpoints信 息,实现软件方式的负载均衡和流量转发。 客户端使用Kubectl Proxy或Kubeetl命令行工具访问K8s 系统。位于集群外部的客户端可以使用Kubernetes Proxy来访 问API Server,API Server内部有一套包括认证、授权和准入控