负载均衡ALB:课前答疑
一、 SLB在ACK和EDAS中的应用场景
1. 场景一:K8s中的Service场景
ACK是K8s版本的容器服务,具有高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。
K8s全称为kubernetes,是一个开源的,用于管理云平台中多个主机上的容器化的应用。目标是让部署容器化的应用简单并且高效,K8s提供了应用部署、规划、更新和维护的机制。
K8s中比较重要的组件就是Service(服务),Service是K8s中的专有名词。Service中有很多pod,pod是容器里面直接安装的应用或服务,一个pod相当于一个容器组,Service是很多pod的集合,相当于一个虚拟的负载均衡SLB。
1) 什么是Service?
Service是Kubernetes中的服务发现与负载均衡。
为什么需要服务发现?Kubernetes应用应如何相互调用?Kubernetes应用应如何相互调用?
• Pod生命周期短暂,IP地址随时变化;
• Deployment等的Pod组需要统一访问入口和做负载均衡;
• 应用间在不同环境部署时,保持同样的部署拓扑和访问方式;
• 集群内可以通过service name直接访问。
2) 创建Service暴露服务
• Service为外部请求提供了一个访问入口,外部请求需要通过Service才能访问到内部的pod;
• 因为pod的调度和生成是随机的,也就是说pod没有固定的IP,不需要pod固定在服务器上,pod的数量是根据业务(请求数量)的多少进行自动增减的,外部请求很难找到对应的pod;
• 因为service是pod的集合,随着pod的增加和减少,自动更新它的规则和策略,外部请求可以通过sevice快速找到相应的pod。
3) Service类型
K8s的Service具有以下三种类型的外部访问方式:
• ClusterIP
在集群内单独分配给service使用的IP就叫ClusterIP,只有在集群内部才能访问到ClusterIP,在集群外部是没有办法访问到ClusterIP的。
• NodePort
分配一个集群内部的IP地址,并在每个节点上启用一个端口来暴露服务,可以在集群外部被访问。
• LoadBanancer
分配一个集群内部的IP地址,并在每个节点上启用一个端口来暴露服务,除此之外,kubernetes会请求底层云平台上的负载均衡器,把Node节点作为后端添加进去。LoadBanancer具有Cluster模式和Local模式。
ü Cluster模式:所有节点都加入SLB后端,如果第一次转发没有命中业务,则需要二次转发;
ü Local模式:SLB可以精确转发到后端业务。
《企业运维之云上网络原理与实践》——第四章 负载均衡 ALB——负载均衡ALB:课前答疑(下):
https://developer.aliyun.com/article/1230524?groupCode=supportservice