03-何鹏飞-tkestack有状态应用最佳实践1_W_第1页
03-何鹏飞-tkestack有状态应用最佳实践1_W_第2页
03-何鹏飞-tkestack有状态应用最佳实践1_W_第3页
03-何鹏飞-tkestack有状态应用最佳实践1_W_第4页
03-何鹏飞-tkestack有状态应用最佳实践1_W_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、复杂应用容器化最佳实践TKEStack有状态应用解决方案介绍何鹏飞 高级产品架构师/高级产品经理 腾讯云容器产品中心应用为什么有状态架构限制配置不可改改造成本大同一组应用内有角别节点间没有动态发现、更新机制IP白,IP不可修改配置写死、代码写死外购应用,没有人力支持改造长尾应用,无人维护CONFIDENCIAL MATERIAL FROM TENCENT CLOUDKubernetes的有状态方案功能点DeploymentStatefulSetPod唯一性无每个Pod有唯一标识Pod存储独占仅支持单容器支持存储随Pod迁移不支持支持自动扩缩容支持不支持批量升级升级支持不支持严格顺序更新不支持支

2、持自动迁移问题节点支持不支持多版本管理不支持不支持Pod原地升级不支持不支持IP随Pod迁移不支持支持部分容器更新支持不支持Kubernetes 的有状态工作负载 StatefulSet 仅提供了POD的唯一性、严格的启停顺序控制、故障不调度三 方面的能力,对于支撑有状态应用还是有很强的局限 性:1. 严格的启停顺序,很大程度限制了StatefulSet的 应用场景2. 相较于传统有状态应用,没有多版本共存、原地升级、局部更新等能力CONFIDENCIAL MATERIAL FROM TENCENT CLOUD有状态应用容器化改造应用编排https:/hub.helm.shhttps:/ope

3、ratorhub.ioCONFIDENCIAL MATERIAL FROM TENCENT CLOUD有状态应用容器化改造多容器应用通信ClusterRole POSIX,通过PodSecurityPolicy或者挂载/dev/shm,实现共享内存通信 SystemV,通过共享HostIPC,结合RBAC实现共享内存通信/dev/shmSYSV Type IPC: POSIX Type IPC: PodSecurityPolicy: hostIPC: truePOD/dev/shm ClusterRoleBinding POD/dev/shm ServiceAccountCONFIDENCIA

4、L MATERIAL FROM TENCENT CLOUD有状态应用容器化改造容器网络通信Subnet1Host1 /24Host1 /24Subnet2Host1 /24 IP随POD迁移 为POD分配指定IPContainer2 2/24 vethvethContainer1 1/24 bridge2bridge1eth1 eth1.3Host roeth1.2uteContainer3/24vethbridge1eth1Container1 1/24vethbridge1et

5、h1 POD与主机网络互通Overylay: Vxlan、IPIPRUnderlay: BGP、Manual网卡虚拟化方案: Bridge、MacVlan、SRIOVOverlay网络: 通过vxlan、IPIP等协议封包后,经由主机网卡通信,常见方案如Flannel Underlay网络:不封包,通过配置路由,虚拟网卡间直接通信,常见方案如CalicoCONFIDENCIAL MATERIAL FROM TENCENT CLOUD有状态应用容器化改造LB与后端实例通信 kube-proxy转发带来的性能和延时损耗 主机端口占用Nod 源IP丢失eNod eNod eserviceservic

6、eservice PodPodPod CONFIDENCIAL MATERIAL FROM TENCENT CLOUDKubeletKubelet/tkestack/tappCONFIDENCIALKubeletTKE解决方案Tapp controllerLISTEN TAPP、POD eventsKube-APIServerETCDTapp无状态应用改造,需要一个过渡和兼容的阶段,Tapp的批量发布、灰度发布、原地升级、POD内部分容器更新、故障不调度等 特性, 均来自于传统业务中一个LB对接多个VM的场景。对于从VM迁移到容器的业务, 这些特性可以支撑用户

7、沿用原来的使用和管 理习惯。MATERIAL FROM TENCENT CLOUDTKE解决方案GalaxyGalaxy的四种网络模式,使TKE在通用kubernetes网络插件的能力之上, 大幅拓展了容器应用场景,满足复杂 应用容器化的特殊需求:Overlay: IPIP模式的 Flannel,性能明显提升FloatingIP: 使用指定的 underlay IP IP随容器迁移NAT:Host: 负载均衡直通 POD 减少端口占用 摆脱 NodePort 端口范围限制 最大限度减少网络延时损耗/tkestack/galaxyCONFIDENCIAL MAT

8、ERIAL FROM TENCENT CLOUDTKE解决方案LBCFLBLBLoadBalancerDriver Kubernetes CRDLoadBalancer Kubernetes CRDDescribe webhook server Describe loadbalancerLBCF是TKE专为Kubernetes平台操作负载均衡设LBCFWebhook规范的要求实现一个Webhook, 服务器即可完成对负载均衡的定制化控制,LBCF具 有以下特点:每个Pod可以独立绑定支持负载均衡共享LBCF Webhook rulesUsers InterfaceLBCF-Controller

9、Status recordsWorkload monitor支持异步操作Webhook Server 1Webhook Server nBackendGroup Kubernetes CRDDescribe the binded backend支持请求的校验、以Events输出调用结果BackendRecords Kubernetes CRDPodsKubernetes ResourceServicesKubernetes Resource/tkestack/lb-controlling-frameworkCONFIDENCIAL MATERIAL FROM TENCENT CLOUD基于TKEStack的有状态应用方案像VM一样管POD 对接多重类型的负载均衡 LB直通POD 指定IP分配、IP随容器迁移POD V2POD V1POD V3POD V1 LBPOD与NODE互通原地发布、升级,部分更新 灰度发布,同时保

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论