本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

aws-alb-ingress-controller Docker 镜像下载 - 轩辕镜像

aws-alb-ingress-controller 镜像详细信息和使用指南

aws-alb-ingress-controller 镜像标签列表和版本信息

aws-alb-ingress-controller 镜像拉取命令和加速下载

aws-alb-ingress-controller 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

aws-alb-ingress-controller
amazon/aws-alb-ingress-controller

aws-alb-ingress-controller 镜像详细信息

aws-alb-ingress-controller 镜像标签列表

aws-alb-ingress-controller 镜像使用说明

aws-alb-ingress-controller 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

AWS ALB Ingress Controller是Kubernetes的Ingress控制器,用于管理AWS Application Load ***,实现外部流量到Kubernetes集群服务的路由与负载均衡配置。
6 收藏0 次下载activeamazon镜像

aws-alb-ingress-controller 镜像详细说明

aws-alb-ingress-controller 使用指南

aws-alb-ingress-controller 配置说明

aws-alb-ingress-controller 官方文档

AWS ALB Ingress Controller 镜像文档

镜像概述和主要用途

AWS ALB Ingress Controller 是一个 Kubernetes ingress 控制器,通过动态配置 AWS Application Load *** (ALB) 来满足 Kubernetes Ingress 资源的需求。该控制器监听 Kubernetes Ingress 资源的变化,自动创建、更新和删除对应的 ALB 及其关联资源(如 Target Group、Listener、Rule 等),实现从外部流量到集群内服务的路由管理。

项目仓库:[***]

核心功能和特性

  • Ingress 资源解析:自动解析 Kubernetes Ingress 资源定义,将其转换为 ALB 配置。
  • 动态 ALB 管理:根据 Ingress 资源的创建、更新、删除事件,自动创建、配置或销毁 ALB。
  • 多路由规则支持:支持基于路径(Path)、主机名(Host)、HTTP 方法(Method)的流量路由规则。
  • AWS 服务深度集成
    • 自动创建和管理 Target Group,关联 Kubernetes Service/Deployment。
    • 支持 AWS Security Group 动态配置,控制入站流量。
    • 集成 AWS Certificate Manager (ACM),提供 HTTPS 加密支持。
  • 高可用性:支持多副本部署,确保控制器自身的高可用。
  • 健康检查集成:自动配置 ALB 健康检查,基于 Kubernetes 服务健康状态调整流量转发。
  • 自动扩缩容适配:与 Kubernetes HPA(Horizontal Pod Autoscaler)协同,支持后端服务自动扩缩容时的流量分发。

使用场景和适用范围

适用场景

  • AWS EKS 集群部署:作为 AWS Elastic Kubernetes Service (EKS) 集群的首选 ingress 控制器,实现外部流量管理。
  • HTTP/HTTPS 流量路由:需要通过 HTTP 或 HTTPS 协议暴露集群内服务的场景。
  • 多服务流量管理:在单一集群中部署多个微服务,需通过统一入口(ALB)进行流量分发。
  • 复杂路由规则需求:需要基于路径、主机名、请求头进行精细化流量路由的应用。
  • AWS 生态集成:依赖 AWS 服务(如 ACM、WAF、Shield)实现安全、合规需求的场景。

不适用场景

  • 非 AWS 云环境(如阿里云、Google Cloud 等)的 Kubernetes 集群。
  • 需使用 Layer 4(TCP/UDP)路由的场景(建议使用 AWS NLB Ingress Controller)。

使用方法和配置说明

前置条件

  1. AWS 环境:拥有 AWS 账号,已创建 EKS 集群(版本 ≥ 1.19,具体取决于控制器版本)。
  2. IAM 权限:为控制器配置必要的 IAM 权限(推荐使用 IRSA,即 IAM Roles for Service Accounts),权限需包含 ALB、Target Group、Security Group、EC2 等资源的管理权限。
  3. 网络配置:EKS 集群节点需具有访问 AWS API 的网络权限,VPC 需配置私有子网(用于内部 ALB)或公有子网(用于面向互联网的 ALB)。
  4. Kubernetes 工具:安装 kubectl 并配置集群访问凭证,安装 helm(可选,用于简化部署)。

部署方式

方式 1:通过 Helm Chart 部署(推荐)

  1. 添加 Helm 仓库:

    bash
    helm repo add eks [***]
    helm repo update
    
  2. 安装控制器(替换 <cluster-name><aws-region> 为实际值):

    bash
    helm install alb-ingress-controller eks/aws-load-***-controller \
      --namespace kube-system \
      --set clusterName=<cluster-name> \
      --set serviceAccount.create=false \
      --set serviceAccount.name=aws-load-***-controller \
      --set region=<aws-region>
    

方式 2:通过 YAML 清单部署

  1. 下载***部署清单(以 v2.5.4 版本为例,需根据最新版本调整):

    bash
    curl -O [***]
    
  2. 修改清单中的 clusterNameregion 环境变量,以及 ServiceAccount 关联的 IAM 角色 ARN。

  3. 应用清单:

    bash
    kubectl apply -f v2_5_4_full.yaml
    

核心配置说明

环境变量(控制器部署时配置)

环境变量名说明示例值
AWS_REGIONAWS 区域us-west-2
CLUSTER_NAMEEKS 集群名称my-eks-cluster
AWS_LOAD_***_CONTROLLER_DEBUG启用调试日志(可选)true

Ingress 资源注解(关键配置)

通过 Ingress 资源的 annotations 字段配置 ALB 行为,常用注解如下:

注解键说明示例值
alb.ingress.kubernetes.io/schemeALB 网络类型(面向互联网/内部)internet-facinginternal
alb.ingress.kubernetes.io/target-typeTarget Group 目标类型(IP 或实例)ip(推荐,适用于 Pod 直接路由)
alb.ingress.kubernetes.io/listen-ports监听端口配置(JSON 格式)[{"HTTP": 80}, {"HTTPS": 443}]
alb.ingress.kubernetes.io/certificate-arnACM 证书 ARN(启用 HTTPS 时必填)arn:aws:acm:us-west-2:123456789012:certificate/xxxx
alb.ingress.kubernetes.io/ssl-policySSL 策略(控制支持的 TLS 版本和密码套件)ELBSecurityPolicy-TLS-1-2-2017-01
alb.ingress.kubernetes.io/rules自定义路由规则(JSON 格式,覆盖默认规则)参考***文档复杂规则示例

配置示例

示例 1:基本 Ingress 配置(HTTP 路由)

创建 ingress-example.yaml

yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: basic-ingress
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}]'
spec:
  ingressClassName: alb  # 需提前创建 ingressclass,名称为 "alb"
  rules:
  - host: app.example.com
    http:
      paths:
      - path: /service1
        pathType: Prefix
        backend:
          service:
            name: service1
            port:
              number: 80
      - path: /service2
        pathType: Prefix
        backend:
          service:
            name: service2
            port:
              number: 80

应用配置:

bash
kubectl apply -f ingress-example.yaml

示例 2:HTTPS 路由(集成 ACM 证书)

yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: https-ingress
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
    alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-west-2:123456789012:certificate/xxxx
    alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-2-2017-01
spec:
  ingressClassName: alb
  rules:
  - host: secure.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: secure-service
            port:
              number: 443

验证部署

  1. 检查控制器 Pod 状态:

    bash
    kubectl get pods -n kube-system -l app.kubernetes.io/name=aws-load-***-controller
    
  2. 查看 Ingress 事件,确认 ALB 创建成功:

    bash
    kubectl describe ingress <ingress-name>
    
  3. 通过 AWS 控制台或 CLI 验证 ALB 状态:

    bash
    aws elbv2 describe-load-***s --names <alb-name>  # ALB 名称可从 Ingress 事件中获取
    

注意事项

  1. 版本兼容性:控制器版本需与 EKS 集群版本匹配(参考***兼容性矩阵)。
  2. IAM 权限最小化:通过 IRSA 为控制器绑定最小权限 IAM 角色,避免过度授权。
  3. 资源清理:删除 Ingress 资源后,控制器会自动清理关联的 ALB、Target Group 等 AWS 资源,无需手动操作。
  4. 注解优先级:Ingress 注解的配置优先级高于控制器默认配置,同一注解在不同 Ingress 中可独立设置。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"