放眼望去,容器、Kubernetes 和云原生技术正在被越来越多的企业青睐,Kubernetes已经为一种大规模部署容器化应用程序的标准。随着它不断的快速迭代发展, 企业在实际的应用部署过程中也面临着各种复杂的问题和挑战。如何克服K8S技术难关,使其更好的服务于容器化应用成为大家关注的重点。


8月17日UCan下午茶上海站——《云原生Kubernetes的开发和运维》技术沙龙现场,六位资深技术专家围绕K8S的落地实践进行了充分的探讨。

张苗磊:Kubernetes集群在云平台的实践与应用

K8S自2014年推出,目的就是作为集群内容器管理调度的平台,用户只需关心将内容放进容器,而把调度和运行交给K8S。为了让K8S在生产环境上运行得更加顺畅和完善,UCloud作为公有云厂商推出的UK8S,除了通用性,还提供了很多拓展能力。

例如Pod的网络方案上,借助云厂商的底层网络能力,通过提供SecondIP的方式,和云上其它产品打通,避免采用封包方案造成的性能损失。又如在服务接入上,公有云的UK8S能通过插件很好地提供,用户在集群内部创建一个loadbalancer类型的service,就能自动化地和ULB产品关联并使用。同时还支持非SNAT形式的loadbalancer,让Pod可以直接拿到源IP地址。

存储方面,K8S原生态里PV需要集群管理员或第三方来实现。UK8S也结合UCloud存储产品提供了自动化的实现,有块存储和文件存储两种形式。用户只需要在集群内创建一个PVC,预设好的 StorageClass就会自动创建相应PV并关联到UDisk/UFS上,实现快速接入。

张鹏波:UK8S 打造稳定易用的Kubernetes服务

K8S本质上是弱租户概念,要通过namespace做隔离。但UCloud在2018年推出的UK8S,作为公有云K8S服务,面临着租户隔离的强需求,否则用户是不接受的。为此我们提出K8S中所有资源对用户应该是专享的想法。

这个首先体现在VPC网络,不同用户的K8S集群分布在不同的VPC里,网络是完全强制性隔离。其次是资源的租户隔离,包括UHost等计算资源隔离,Node和Master隔离,以及存储插件包括块存储、文件存储的完全隔离。UK8S为了提升易用性和可维护性,也针对性的给出了解决方案,例如提供一键创建/删除集群功能,支持集群规模自动拓展,支持API Service通过外网访问,提供跨可用区健壮性等。集群管理高可用架构如图所示:

此外,还介绍了UK8S和UCloud裸金属产品金翼物理机的结合。物理机租赁的TCO非常有竞争力,而如果用户想运行K8S,上面能提供预装好的K8S服务,存储和负载均衡也可以配套部署好。UK8S下半年预计将服务扩展到30多个可用区,并提供新版应用商店等功能。

乐心医疗 韦飞龙:Kubernetes在乐心健康的探索与实践

乐心医疗的一个主要产品乐心手环,其后端服务通过App和用户交互。该服务自2016年起就已经全面运行在K8S上,当时是自建的集群。自建过程中遇到很多问题,比如要在测试、开发、生产三个环境中运行同一个镜像,按传统方式把服务配置打包成镜像是个问题。此外安装过程中,早先是手动依次安装二进制文件,需要逐个下载软件包并配置验证,非常耗费时间,近期开始使用kubeadm工具实现了快速安装。自建K8S集群时kubernetes-sigs工具的镜像下载不到,需要修改镜像地址再安装。

考虑到种种维护的成本较高,现在已将业务全部迁移到UK8S上,好处是不需要再关心此前安装的组件,网络、存储的管理也变得容易。韦飞龙最后还介绍了Apollo配置中心的使用,相比此前另一个开源配置中心,启动时间节省十几秒。以及运用Jenkins进行Pipeline的并行发布,只要有一个发布失败就终止运行,节省了开发等待的时间。

刘拓:K8S在StepFlow项目中的运用

StepFlow全称工作流引擎,它能把微服务API用流程的方式编排起来,不写任何代码的情况下即可构建应用。StepFlow架构设计时采用了微服务的理念,因此自然而然想到容器化部署。但团队在容器化道路上遇到不少挑战,例如资源如何合理规划、高可用如何解决、服务间怎样互联等。头痛医头并不是个好办法,而UCloud面向内部的K8S平台KUN(中文名:鲲)恰好能解决这些问题。

资源管理上KUN可以轻松做到高可用和跨可用区分布,也对业务完全透明。通过配置service可以让服务互联,此外还有配置管理、日志监控等能力。在社区支持上也更好,CNCF中很多云原生的组件都可以直接使用。KUN平台解放了业务方的生产力,使其可以专注于上层的镜像制作、自动化测试集、灰度系统等工作。StepFlow整个项目都基于KUN,短时间内就实现了一个CI/CD的Pipeline,达到一键部署的效果,可以说是一次成功的基于云原生标准来打造应用程序的实践。

蔡书:基于Kong的服务网格方案

Kong是目前最受欢迎的API网关之一。它的特点一是智能易用,可以和微服务做集成,处理动态路由,底层对微服务做细粒度的分析统计。二是简单灵活,支持容器化的部署,且提供安装包。管理类功能都通过插件提供,插件非常丰富,形成了社区。另外吞吐率和延迟也都不错。

Kong的应用场景:一是做入口,流量都可从网关进来;二是微服务的可视化;三是黑色/灰色流量清洗,依赖特征识别;四是微服务支持,和服务注册中心绑定后使用方便,此外还有流量可视化、微服务质量管理等。技术实现上底层是Nginx,上面是OpenResty,其上还有Clustering,保证水平扩展时配置实时生效。再上面是 RESTful接口,不再需要修改Nginx配置文件,而是通过代码调用的方式完成。

元年科技 王海峰:中小团队的K8S落地之路

K8S技术相对复杂,受限于人力时更需了解如何能简单落地。王海峰认为首先是把要点思考清楚,比如一共需要哪些基础服务来保证大应用落地、如何构建一套简单的外部程序、线下线上如何采用统一的K8S环境来保证开发测试的一致性、统一的K8S接口该如何设计等。

在元年科技的实践中,首先出于实际情况使用Windows服务器,主要是为了利用它账户凭证的特性。其次利用Jenkins来完成外部浏览器端DevOps流程的触发,通过批处理和脚本简单的搞定流程线。线下用Rancher在三台物理机上部署环境,线上环境为了减少运维人力,直接用UCloud镜像库和UK8S,省去集群维护精力。线上线下采用蒲公英第三方服务打通,提供DevOps通信。而在K8S集群的通信上,采用了REST风格的API,用Curl的Post、Delete等方法,可以设计部署、删除API等。

关于本次演讲的更多技术内容,敬请关注“UCloud技术”公众号回复“K8S”即可获取讲师演讲PPT。

云原生时代,Kubernetes让应用落地的N种招式(附PPT)相关推荐

  1. 云原生时代到来 KubeSphere要让容器应用零门槛落地

    如今,Kubernetes.DevOps.微服务.应用管理等已经给客户带来了太多认知上的负担,而KubeSphere要做的就是简化.简化.简化. 云计算技术应用的深入,云原生正在成为云计算2.0的发展 ...

  2. 带你深入探究云原生时代的分布式操作系统 Kubernetes

    过去几年,以 docker.kubernetes 为代表的容器技术已发展为一项通用技术,BAT.滴滴.京东.头条等大厂,都争相把容器和 k8s 项目作为技术重心,试图"放长线钓大鱼" ...

  3. Kubernetes 已经成为云原生时代的安卓,这就够了吗?

    作者:司徒放 审核&校对:田玮靖.溪洋 编辑&排版:雯燕 导语: 云原生时代,直接使用 Kubernetes 和云基础设施过于复杂,如用户需要学习很多底层细节.应用管理的上手成本高.容 ...

  4. 云原生时代,企业如何选取研发模式,并通过云效流水线落地

    云原生是近几年IT圈最火热的词汇之一,几乎每一个云计算产品都会或多或少跟云原生发生关联.那到底什么是云原生?它对企业的项目研发又有什么样的影响跟要求?云原生这个大的时代背景下,企业又应如何落地相应研发 ...

  5. 云原生时代(五):Kubernetes与容器编排之战

    上文我们主要介绍了容器和Docker,第五部分我们来讲Kubernetes与容器编排之战. 容器编排与Kubernetes 在单机上运行容器,无法发挥它的最大效能,只有形成集群,才能最大程度发挥容器的 ...

  6. 迎难而上,做云原生时代的弄潮儿:搞定 Kubernetes

    作者罗剑锋,网名"Chrono",Kong 高级工程师,Nginx/OpenResty 开源项目贡献者,也是极客时间<透视HTTP协议><罗剑锋的C++实战笔记& ...

  7. 云原生时代下,容器安全的“四个挑战”和“两个关键”

    作者 | 匡大虎 来源 | 阿里巴巴云原生公众号 云原生进程中的容器安全挑战 云原生的火热带来了企业基础设施和应用架构等技术层面的革新,在云原生的大势所趋下,越来越多的企业选择拥抱云原生,在 CNCF ...

  8. 云原生时代 RocketMQ 运维管控的利器 - RocketMQ Operator

    作者 | 刘睿.杜恒 导读:RocketMQ Operator 现已加入 OperatorHub,正式进入 Operator 社区.本文将从实践出发,结合案例来说明,如何通过 RocketMQ Ope ...

  9. 架构师成长系列 | 云原生时代的 DevOps 之道

    作者 | 郝树伟(花名:流生)  阿里云高级研发工程师 本文整理自架构师成长系列 2 月17 日直播课程. 关注"阿里巴巴云原生"公众号,回复 "217",即可 ...

最新文章

  1. java大string排序_java中字符串排序,String 转化为int比较大小
  2. linux 安装rpm no key,yum 安装报 关于Public key for *.rpm is not installed 的解决方法
  3. 饮冰三年-人工智能-linux-07 硬盘分区、格式化及文件系统的管理
  4. 【leetcode】Linked List Cycle I II
  5. 标签view文字自动换行
  6. java2期末考试试题及答案_《JAVA语言程序设计》期末考试试题及答案(2)
  7. 计算机系统基础:虚拟存储管理知识笔记
  8. mysql 快速导出_mysql 快速导入导出
  9. 大数据实战之spark安装部署
  10. 2017-09-26 10:45:51.905 ERROR 9704 --- [nio-8080-exec-5] com.linktrust.aspect.AopLogger :
  11. 【工具】中国菜刀 官方原版下载 官网下载链接
  12. JS-- jQuery遮罩插件 jquery.blockUI.js
  13. megafiers3.14下载
  14. 计算机屏幕出现条纹w7,电脑重装win7后屏幕出现条纹怎么办
  15. 传奇人物李兴平5000万卖掉hao123后在做什么
  16. ts定义数组类型_ts基本类型
  17. 含有一般疑问句的歌_一般将来时详解,想学好英语必须要掌握的一个最重要语法...
  18. HBaseAPI——IDEA操作HBase数据库HBase与Hive的集成
  19. 【Android】google plus、Facebook登陆sdk集成打包出aar的使用步骤
  20. plink质控及转换文件、admixture软件学习记录

热门文章

  1. 关于学习Python的一点学习总结(15)
  2. 总结关于Set集合的一些基本用法
  3. 34.在排序数组中查找元素的起始和末尾位置
  4. P1223 排队接水
  5. vscode wecode的配置_使用体验神似VS Code?三步带你了解华为云CloudIDE前世今生
  6. 初识Redux-Saga
  7. 【npm第4期】文件系统操作的跨平台兼容
  8. 【译】SQL Server误区30日谈-Day1-正在运行的事务在服务器故障转移后继续执行
  9. Node.js + Express + Springboot实现前后端分离架构
  10. 【BZOJ4817】【SDOI2017】树点涂色 [LCT][线段树]