企业运维训练营之云上网络原理与实践课程 - 第四讲 负载均衡ALB - 课前答疑

简介: 课程目标了解应用型负载均衡ALB的产品功能了解应用型负载均衡ALB底层架构与相关技术掌握应用型负载均衡ALB的产品优势熟悉应用型负载均衡ALB的使用场景

企业运维训练营之云上网络原理与实践课程

第四讲 负载均衡ALB - 课前答疑

 

视频地址:

https://developer.aliyun.com/learning/course/991/detail/14982

 

 

SLB在ACK和EDAS中的应用场景

 

1、场景一:K8s中的Service场景

 

ACK是K8s版本的容器服务,具有高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。

K8s全称为kubernetes,是一个开源的,用于管理云平台中多个主机上的容器化的应用。目标是让部署容器化的应用简单并且高效,K8s提供了应用部署、规划、更新和维护的机制。

K8s中比较重要的组件就是Service(服务),Service是K8s中的专有名词。Service中有很多pod,pod是容器里面直接安装的应用或服务,一个pod相当于一个容器组,Service是很多pod的集合,相当于一个虚拟的负载均衡SLB。

 

a.  什么是Service?

image.png

 

Service是Kubernetes中的服务发现与负载均衡。

 

为什么需要服务发现? Kubernetes应用应如何相互调用? Kubernetes应用应如何相互调用?

 

  • Pod生命周期短暂, IP地址随时变化;
  • Deployment等的Pod组需要统一访问入口和做负载均衡;
  • 应用间在不同环境部署时,保持同样的部署拓扑和访问方式;
  • 集群内可以通过service name直接访问;

 

b.  创建Service暴露服务

 

  • Service为外部请求提供了一个访问入口,外部请求需要通过Service才能访问到内部的pod。
  • 因为pod的调度和生成是随机的,也就是说pod没有固定的IP,不需要pod固定在服务器上,pod的数量是根据业务(请求数量)的多少进行自动增减的,外部请求很难找到对应的pod。
  • 因为service是pod的集合,随着pod的增加和减少,自动更新它的规则和策略,外部请求可以通过sevice快速找到相应的pod。

 

c.  Service类型

 

K8s的Service具有以下三种类型的外部访问方式:

 

  • ClusterIP

在集群内单独分配给service使用的IP就叫ClusterIP,只有在集群内部才能访问到ClusterIP,在集群外部是没有办法访问到ClusterIP的。

 

  • NodePort

分配一个集群内部的IP地址,并在每个节点上启用一个端口来暴露服务,可以在集群外部被访问。

 

  • LoadBanancer

分配一个集群内部的IP地址,并在每个节点上启用一个端口来暴露服务,除此之外,kubernetes会请求底层云平台上的负载均衡器,把Node节点作为后端添加进去。LoadBanancer具有Cluster模式和Local模式。

Cluster模式:所有节点都加入SLB后端,如果第一次转发没有命中业务,则需要二次转发;Local模式:SLB可以精确转发到后端业务。

 

2、场景二:Ingress Controller工作原理

 

a.  Ingress Controller的概念

 

Ingress是一种K8s资源对象,用于对外暴露服务,该资源对象定义了不同主机名(域名)及URL和对应后端Service ( K8s Service )的绑定,根据不同的路径路由http和https流量。

而Ingress Contoller是一个pod服务,封装了一个 web前端负载均衡器,同时在其基础上实现了动态感知Ingress,并根据Ingress的定义,动态生成前端web负载均衡器的配置文件,比如Nginx Ingress Controller本质上就是一个Nginx,只不过它能根据Ingress资源的定义动态生成Nginx的配置文件,然后动态Reload。

具体实现反向代理及负载均衡的程序,对Ingress定义的规则进行解析,根据配置的规则来实现请求转发。

image.png

 

为了使得Ingress资源正常工作,集群中必须要有个Ingress Controller来解析Ingress的转发规则。Ingress Controller收到请求,匹配Ingress转发规则转发到后端Service,而Service转发到Pod,最终由Pod处理请求。Kubernetes中Service、Ingress与Ingress Controller有着以下关系:

  • Service是后端真实服务的抽象, 一个Service可以代表多个相同的后端服务。
  • Ingress是反向代理规则,用来规定HTTP/HTTPS请求应该被转发到哪个Service上。例如:根据请求中不同的Host和URL路径,让请求落到不同的Service上。

 

b.  Ingress基本操作:

 image.png

 

  • name : Ingress的名称,本例为test-ingress
  • host :指定服务访问域名
  • path :指定访问的url路径。SLB将流量转发到backend之前,所有的入站请求都要先匹配host和path
  • backend :由服务名称和服务端口组成
  • 服务名称: Ingress转发的backend服务名称
  • 服务端口:服务暴露的端口

 

可以将Ingress配置为服务提供外部可访问的URL、负载均衡流量、终止SSL/TLS,以及提供基于名称的虚拟主机等能力。Ingress控制器通常负责通过负载均衡器来实现Ingress。

 

c.  最佳实践:部署高可靠Ingress Controller

image.png

原则:

  • pod多副本,避免单点故障;
  • ingress controller部署在单独的节点,避免其他应用抢占资源;
  • 根据业务流量水平扩缩容ingress节点或者ingress controller 水平伸缩;

 

以上是SLB结合ACK的场景,SLB结合EDAS的场景也是类似的,因为EDAS本身就是一个分布式服务的框架,可以加ECS节点,也可以加K8s容器集群,然后加入到SLB的后端。

image.png

 

 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
机器学习/深度学习 存储 算法
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
反向传播算法虽是深度学习基石,但面临内存消耗大和并行扩展受限的问题。近期,牛津大学等机构提出NoProp方法,通过扩散模型概念,将训练重塑为分层去噪任务,无需全局前向或反向传播。NoProp包含三种变体(DT、CT、FM),具备低内存占用与高效训练优势,在CIFAR-10等数据集上达到与传统方法相当的性能。其层间解耦特性支持分布式并行训练,为无梯度深度学习提供了新方向。
1052 1
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
1025 11
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
1803 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
监控 应用服务中间件 Linux
掌握并发模型:深度揭露网络IO复用并发模型的原理。
总结,网络 I/O 复用并发模型通过实现非阻塞 I/O、引入 I/O 复用技术如 select、poll 和 epoll,以及采用 Reactor 模式等技巧,为多任务并发提供了有效的解决方案。这样的模型有效提高了系统资源利用率,以及保证了并发任务的高效执行。在现实中,这种模型在许多网络应用程序和分布式系统中都取得了很好的应用成果。
429 35
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
795 7
|
安全 测试技术 虚拟化
VMware-三种网络模式原理
本文介绍了虚拟机三种常见网络模式(桥接模式、NAT模式、仅主机模式)的工作原理与适用场景。桥接模式让虚拟机如同独立设备接入局域网;NAT模式共享主机IP,适合大多数WiFi环境;仅主机模式则构建封闭的内部网络,适用于测试环境。内容简明易懂,便于理解不同模式的优缺点与应用场景。
1734 0
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
608 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析