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

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 课程目标了解应用型负载均衡ALB的产品功能了解应用型负载均衡ALB底层架构与相关技术掌握应用型负载均衡ALB的产品优势熟悉应用型负载均衡ALB的使用场景

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

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

 

视频地址:

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

 

 

SLBACKEDAS中的应用场景

 

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

 

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

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

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

 

a.  什么是Service

image.png

 

ServiceKubernetes中的服务发现与负载均衡。

 

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

 

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

 

b.  创建Service暴露服务

 

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

 

c.  Service类型

 

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

 

  • 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 )的绑定,根据不同的路径路由httphttps流量。

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处理请求。KubernetesServiceIngressIngress Controller有着以下关系:

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

 

b.  Ingress基本操作:

 image.png

 

  • name : Ingress的名称,本例为test-ingress
  • host :指定服务访问域名
  • path :指定访问的url路径。SLB将流量转发到backend之前,所有的入站请求都要先匹配hostpath
  • 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

 

 

相关实践学习
小试牛刀,一键部署电商商城
SAE 仅需一键,极速部署一个微服务电商商城,体验 Serverless 带给您的全托管体验,一起来部署吧!
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
2月前
|
弹性计算 负载均衡 网络协议
阿里云SLB深度解析:从流量分发到架构优化的技术实践
本文深入探讨了阿里云负载均衡服务(SLB)的核心技术与应用场景,从流量分配到架构创新全面解析其价值。SLB不仅是简单的流量分发工具,更是支撑高并发、保障系统稳定性的智能中枢。文章涵盖四层与七层负载均衡原理、弹性伸缩引擎、智能DNS解析等核心技术,并结合电商大促、微服务灰度发布等实战场景提供实施指南。同时,针对性能调优与安全防护,分享连接复用优化、DDoS防御及零信任架构集成的实践经验,助力企业构建面向未来的弹性架构。
284 76
|
3月前
|
数据采集 机器学习/深度学习 人工智能
智能运维在IT管理中的实践与探索
【10月更文挑战第21天】 本文深入探讨了智能运维(AIOps)技术在现代IT管理中的应用,通过分析其核心组件、实施策略及面临的挑战,揭示了智能运维如何助力企业实现自动化监控、故障预测与快速响应,从而提升整体运维效率与系统稳定性。文章还结合具体案例,展示了智能运维在实际环境中的显著成效。
156 26
|
3月前
|
弹性计算 运维 监控
基于进程热点分析与系统资源优化的智能运维实践
智能服务器管理平台提供直观的可视化界面,助力高效操作系统管理。核心功能包括运维监控、智能助手和扩展插件管理,支持系统健康监控、故障诊断等,确保集群稳定运行。首次使用需激活服务并安装管控组件。平台还提供进程热点追踪、性能观测与优化建议,帮助开发人员快速识别和解决性能瓶颈。定期分析和多维度监控可提前预警潜在问题,保障系统长期稳定运行。
156 17
|
3月前
|
运维 自然语言处理 算法
云栖实录 | 大模型在大数据智能运维的应用实践
云栖实录 | 大模型在大数据智能运维的应用实践
453 3
|
3月前
|
运维 Kubernetes Cloud Native
云栖实录 | 智能运维:云原生大规模集群GitOps实践
云栖实录 | 智能运维:云原生大规模集群GitOps实践
126 1
|
5月前
|
人工智能 运维 负载均衡
智能运维新时代:AI在云资源管理中的应用与实践
智能运维新时代:AI在云资源管理中的应用与实践
612 23
|
3月前
|
运维 自然语言处理 Cloud Native
云栖实录 | 智能运维年度重磅发布及大模型实践解读
云栖实录 | 智能运维年度重磅发布及大模型实践解读
256 0
|
5月前
|
运维 Cloud Native 开发工具
智能运维:云原生大规模集群GitOps实践
智能运维:云原生大规模集群GitOps实践,由阿里云运维专家钟炯恩分享。内容涵盖云原生运维挑战、管理实践、GitOps实践及智能运维体系。通过OAM模型和GitOps优化方案,解决大规模集群的发布效率与稳定性问题,推动智能运维工程演进。适用于云原生环境下的高效运维管理。
122 8
|
5月前
|
Kubernetes Java 持续交付
小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
本文介绍如何使用GitHub Actions和阿里云Kubernetes(ACK)实现Java Web应用的自动化部署。通过CI/CD流程,开发人员无需手动处理复杂的运维任务,从而提高效率并减少错误。文中详细讲解了Docker与Kubernetes的概念,并演示了从创建Kubernetes集群、配置容器镜像服务到设置GitHub仓库Secrets及编写GitHub Actions工作流的具体步骤。最终实现了代码提交后自动构建、推送镜像并部署到Kubernetes集群的功能。整个过程不仅简化了部署流程,还确保了应用在不同环境中的稳定运行。
238 9
|
5月前
|
弹性计算 人工智能 运维
新手训练营——使用操作系统智能助手OS Copilot轻松运维与编程
本文摘自阿里云操作系统团队的林演(林生)关于操作系统智能助手创新产品的分享,围绕“OS Copilot的高效运维与编程”展开,主要包括以下几方面的内容: 1. 行业痛点击及背景 2. 产品与架构 3. 典型应用场景 4. 实验及反馈渠道
113 1