22.2. OpenShift Container Platform 中的 AWS Load Balancer Operator

AWS Load Balancer Operator 部署和管理 AWS Load Balancer Controller。您可以使用 OpenShift Container Platform Web 控制台或 CLI 安装来自 OperatorHub 的 AWS Load Balancer Operator。

22.2.1. AWS Load Balancer Operator 的注意事项

在安装和使用 AWS Load Balancer Operator 前查看以下限制:

  • IP 流量模式仅适用于 AWS Elastic Kubernetes Service (EKS)。AWS Load Balancer Operator 禁用 AWS Load Balancer Controller 的 IP 流量模式。禁用 IP 流量模式后,AWS Load Balancer Controller 无法使用 pod 就绪度。
  • AWS Load Balancer Operator 将命令行标记(如 --disable-ingress-class-annotation--disable-ingress-group-name-annotation )添加到 AWS Load Balancer Controller。因此,AWS Load Balancer Operator 不允许在 Ingress 资源中使用 kubernetes.io/ingress.classalb.ingress.kubernetes.io/group.name 注解。

22.2.2. AWS Load Balancer Operator

如果缺少 kubernetes.io/role/elb 标签,AWS Load Balancer Operator 可以标记公共子网。另外,AWS Load Balancer Operator 从底层 AWS 云检测到以下信息:

  • 托管 Operator 的集群的虚拟私有云 (VPC) 的 ID。
  • 发现 VPC 的公共和私有子网。

AWS Load Balancer Operator 支持类型为 LoadBalancer 的 Kubernetes 服务资源,使用只有 instance 目标类型的 Network Load Balancer (NLB)。

先决条件

  • 您必须具有 AWS 凭证 secret。凭证用于提供子网标记和 VPC 发现功能。

流程

  1. 您可以通过运行以下命令来创建 Subscription 对象,以按需部署 AWS Load Balancer Operator:

    $ oc -n aws-load-balancer-operator get sub aws-load-balancer-operator --template='{{.status.installplan.name}}{{"\n"}}'

    输出示例

    install-zlfbt

  2. 运行以下命令,检查安装计划的状态是否为 Complete

    $ oc -n aws-load-balancer-operator get ip <install_plan_name> --template='{{.status.phase}}{{"\n"}}'

    输出示例

    Complete

  3. 运行以下命令,查看 aws-load-balancer-operator-controller-manager 部署的状态:

    $ oc get -n aws-load-balancer-operator deployment/aws-load-balancer-operator-controller-manager

    输出示例

    NAME                                           READY     UP-TO-DATE   AVAILABLE   AGE
    aws-load-balancer-operator-controller-manager  1/1       1            1           23h

22.2.3. AWS Load Balancer Operator 日志

您可以使用 oc logs 命令查看 AWS Load Balancer Operator 日志。

流程

  • 运行以下命令,查看 AWS Load Balancer Operator 的日志:

    $ oc logs -n aws-load-balancer-operator deployment/aws-load-balancer-operator-controller-manager -c manager