ACP云原生容器工程师 - 应用案例

集群规划构建

容器部署中的ECS选型

  • 在创建Kubernetes实例时,物理部署实体的选型对上层应用的性能起着非常大的影响。通过大型客户在云容器部署实践的统计,很大一部分应用在容器部署中都没有采用正确的部署方式。

容器集群的高可靠配置

  • 在容器集群部署规划中,除了ECS选型之外,哎呦很多配置方式会直接影响集群的可靠性,可总结为以下5点:

    • 消灭SPOF:SPOF单点故障是高可靠性大敌,因此尽量直接使用Pod部署

    • 单进程容器:单进程容器便于容器内进行监控以及容器重启操作

    • 配置探活:通过探活和重启策略的配置监控容器内进程的健康状态

    • 资源声明:Pod的资源声明可以保证K8s对Node资源的有效分配

    • 多可用区:通过多可用区避免物理故障

容器节点操作系统选择

  • Alibaba Cloud Linux2是新一代阿里云Linux操作系统,为云上应用程序提供安全、稳定、高性能的定制化运行环境,并针对云基础设施进行了深度优化,并提供更好的运行时体验

网络规划

  • 在创建K8s集群时,根据网络插件的不同,需要指定专有网络VPC、虚拟交换机、Pod网络CIDR和Service CIDR,并做好ECS地址、K8s Pod地址和Service地址的规划工作

  • 可选的网络插件:Flannel、Terway

集群接入服务网格ASM

  • 将部署容器集群中的应用接入阿里云服务网格ASM,可以简化服务的网格化治理,实现服务的可观测性,减轻开发与运维的工作负担

 

集群核心组件配置与优化

混合云部署K8s集群

  • 对于企业客户而言,出于数据主权和安全隐私的考虑,大多会考虑使用多云混合云方式开展业务,以K8s为代表的技术屏蔽了基础设施的差异性,推动了以应用多云混合云新架构的到来

使用Terraform创建K8s集群

  • Terraform是HashiCorp公司提供的一种开源工具,用于安全高效地预览、配置、管理云基础架构和资源,帮助开发者自动化地创建、更新阿里云基础设施资源,并进行版本管理

Kubernetes对接ECI

  • ECI为K8s提供一种层次化的解决方案,即ECI负责底层Pod容器资源的调度和管理工作,K8s在ECI之上作为PaaS层来管理Deployment、Service、StatefulSet、CronJob等业务负载

  • ECI克承载ACK集群或者ASK集群

  • 混合使用ECI和传统服务器

容器集群的高弹性架构实现

  • 对于有波峰波谷的在线业务,或者机器学习、基因测序等对实时性要求不高、但是对成本敏感的应用,可以通过容器高弹性架构,全自动实现动态创建或释放实例,达到成本的最优控制

  • ECI方式高弹性架构:适用于秒杀、爬虫等短期高峰值应用场景

  • 使用ECS+ECI混合部署方式,保持互通

Ingress最佳实践

  • 在K8s集群中,Ingress是授权入站连接到达集群服务的规则几何,可以提供七层负载均衡能力,通过Ingress可以实现滚动升级、分批暂停发布、蓝绿发布以及灰度发布等发布方式。以及不同集群之间的流量复制。作为集群流量接入层,Ingress的高可靠显得尤为重要

CoreDNS

  • 容器集群中部署了CoreDNS作为内部DNS服务器,在集群中推荐使用Service名作为服务的访问地址,通过CoreDNS服务可以实现从Service到Service的ip地址的解析。同时Serverless集群中支持PrivateZone进行域名解析服务发现

 

使用案例 - 聚石塔

概念

聚石塔业务背景介绍

  • 聚石塔最早上线于2012年,是阿里集团帮助商家打造的开放电商云工作平台。它汇聚包括淘宝、天猫、阿里云等整个平台资源和资源优势,同时依托于聚石塔,各种业务类型的服务商商家提供了如ERP、CRM、WMS等业务服务

聚石塔的业务痛点

  • 聚石塔的业务大致分为两部分:

    • 电商订单服务连路上的系统如ERP、CRM、WMS

    • 电商行业中直接面向客户的小程序场景,如手淘与千牛的小程序

其业务痛点如下:

  • 标准化和稳定性问题

  • 突发流量下的弹性问题

  • 效率和成本问题

聚石塔技术特点 - 应用和发布标准化

  • K8s自带的滚动发布,虽然标准化了发布环节,但在发布期间无法暂停,即使服务起来了,可能功能和业务存在的问题,最终也会随着滚动不断扩大影响面;对此,聚石塔设计了支持暂停的分批发布,通过提前批的“金丝雀”发布,从而提升系统的稳定性

聚石塔技术特点 - 丰富的弹性扩容

  • 对于电商等零流量波动较大的场景,用户一般会把集群资源维持在日常流量的规模,并在流量高峰再来林倩进行集群资源的扩容。ECI的价格与同等规格的ECS相近,且为按秒付费,秒级扩容

聚石塔技术特点 - 应用监控

  • 与传统应用相比,基于K8s容器实例是动态调度的、生命周期短,Deployment、Service等容器上层抽象组件更是难以监控的,此外还需要底层ECS计算资源、实例生命周期、K8s集群自身以及集群核心组件的各个维度的监控

聚石塔技术特点 - DNS生产环境优化

  • 聚石塔的用户大多是电商或小程序的场景,开发语言多样化,有些语言没有很好的连接池,导致DNS解析频繁。K8s默认的CoreDNS在高并发时会遇到性能瓶颈,因此聚石塔对DNS的性能做了深入的优化,优化的手段主要有两种,分别是Node Local DNS和SideCar DNS

  • Node Local DNS:通过DaemonSet方式在每个节点上运行一个DNS的Pod,设置相应转发规则,最大可能避免跨节点解析

  • SideCar DNS:在业务Pod中添加DNS解析服务容器,可当做DNS缓存,且只为当前Pod进行服务,做到资源隔离


 

小结

  • 集群规划构建

  • 集群核心组件配置及优化

  • 使用案例介绍 - 聚石塔平台

 

完结

ACP云原生容器工程师相关介绍自此完结,可以说这个证书相比云计算要困难一些,里边涉及到了大量云原生和K8s的内容,对于初学者并不友好,决定考取这个证书的同学也较少,但是我相信随着技术的不断发展、岗位不断内卷的大环境之下,这个与K8s高度相关的认证会有越来越多的人进行考取。

我这里也只是将自己的笔记整理之后进行的重新发布,如果对将来立志于此的同学们有些许帮助的话,那真是我莫大的荣幸!

以上,完结!

各位兄弟江湖再见~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章