elb与ingress 化为云_ELB Ingress管理

AWS ELBIngress 控制器共同管理云中负载均衡,ELB 处理流量分发,Ingress 定义访问策略。

ELB Ingress管理详解

elb与ingress 化为云_ELB Ingress管理
(图片来源网络,侵删)

Ingress 是 Kubernetes 中的一个 API 对象,用于管理外部访问集群内部的服务,ELB (Elastic Load Balancing) Ingress 则是在华为云 CCE (Cloud Container Engine)环境中,基于 ELB 实现的一种 Ingress 控制器,这种控制器能够帮助用户通过 ELB 实例将外部流量路由到集群内部的各个服务。

前提条件与约束

使用 ELB Ingress 之前,集群中需要提前部署可用的工作负载,如无状态负载(Deployment)、有状态负载(StatefulSet)或守护进程集(DaemonSet),这些工作负载还需要配置 Service,建议不要共享 Ingress 自动创建的 ELB 实例以避免资源残留问题,Ingress转发策略中注册的URL需与后端应用提供的URL一致,否则会返回404错误。

ELB Ingress 添加过程

以nginx作为工作负载为例,首先登录CCE控制台并进入集群,选择左侧导航栏的“服务”,在右侧选择“路由”页签,单击右上角“创建路由”,设置Ingress参数包括名称、负载均衡器类型(独享型或共享型)、创建方式(选择已有或自动创建)等。

表1: ELB配置

创建方式 配置选项
选择已有 仅支持选择与集群在同一个VPC下的ELB实例
自动创建 配置包括实例名称、企业项目、可用区、前端子网、后端子网、网络类型规格等

完成基本配置后,还需进行监听器配置,包括前端协议(HTTP/HTTPS)、对外端口、访问控制(白名单/黑名单)、证书来源和服务器证书、TLS密钥等,对于HTTPS协议,还可以配置SNI(Server Name Indication)和安全策略。

ELB Ingress 与 Nginx Ingress 对比

elb与ingress 化为云_ELB Ingress管理
(图片来源网络,侵删)

ELB Ingress 是基于华为云自研的 ELB 实现的全托管模式插件,支持千万级并发链接和百万级新建连接,而 Nginx Ingress 则是一个开源插件,提供丰富的Ingress配置,适合对网关定制需求强烈的场景。

ELB Ingress 的优点在于免运维、集中管理,而 Nginx Ingress 的优点在于可自定义配置参数,更加灵活,两者在工作原理上都是通过监听器进行流量分发,但具体实现机制有所不同,ELB Ingress 更适合需要高并发、低运维成本的场景,Nginx Ingress 则适合需要更多定制化功能的场景。

操作示例

通过kubectl命令添加ELB Ingress时,需要创建一个YAML文件来定义Ingress资源,这个文件中需要指定metadata(如name、annotations),spec(如rules、paths、backend)等,annotations用来配置ELB的参数,如端口、类型、是否自动创建等。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingresstest
  annotations:
    kubernetes.io/elb.class: union
    kubernetes.io/elb.port: '80'
    kubernetes.io/elb.autocreate: '{"type":"public","bandwidth_size":5}'
spec:
  rules:
   http:
      paths:
       path: /
        pathType: ImplementationSpecific
        backend:
          service:
            name: myservice
            port:
              number: 8080

YAML文件定义了一个名为ingresstest的Ingress资源,使用公网类型的ELB实例,端口为80,自动创建,所有访问根路径("/")的流量都会被路由到名为myservice的服务的8080端口上。

上文归纳与常见问题解答

问:ELB Ingress 和 Nginx Ingress 各适用于什么场景?

答:ELB Ingress 适用于需要高并发、低运维成本且不需要复杂配置的七层负载均衡场景,Nginx Ingress 则适用于需要更多定制化功能和灵活配置的网关场景。

elb与ingress 化为云_ELB Ingress管理
(图片来源网络,侵删)

问:如何避免 ELB Ingress 的资源残留问题?

答:建议不要共享 Ingress 自动创建的 ELB 实例,并在删除 Ingress 时确保没有其他资源正在使用该 ELB 实例,这样可以有效避免资源残留问题。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2024-07-02 09:30
下一篇 2024-07-02 09:38

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信