$ oc -n aws-load-balancer-operator get sub aws-load-balancer-operator --template='{{.status.installplan.name}}{{"\n"}}'
The AWS Load Balancer Operator deploys and manages the AWS Load Balancer Controller. You can install the AWS Load Balancer Operator from OperatorHub by using OpenShift Container Platform web console or CLI.
Review the following limitations before installing and using the AWS Load Balancer Operator:
The IP traffic mode only works on AWS Elastic Kubernetes Service (EKS). The AWS Load Balancer Operator disables the IP traffic mode for the AWS Load Balancer Controller. As a result of disabling the IP traffic mode, the AWS Load Balancer Controller cannot use the pod readiness gate.
The AWS Load Balancer Operator adds command-line flags such as --disable-ingress-class-annotation
and --disable-ingress-group-name-annotation
to the AWS Load Balancer Controller. Therefore, the AWS Load Balancer Operator does not allow using the kubernetes.io/ingress.class
and alb.ingress.kubernetes.io/group.name
annotations in the ingress
resource.
You have configured the AWS Load Balancer Operator so that the SVC type is NodePort
(not LoadBalancer
or ClusterIP
).
The AWS Load Balancer Operator can tag the public subnets if the kubernetes.io/role/elb
tag is missing. Also, the AWS Load Balancer Operator detects the following information from the underlying AWS cloud:
The ID of the virtual private cloud (VPC) on which the cluster hosting the Operator is deployed in.
Public and private subnets of the discovered VPC.
The AWS Load Balancer Operator supports the Kubernetes service resource of type LoadBalancer
by using Network Load Balancer (NLB) with the instance
target type only.
You can deploy the AWS Load Balancer Operator on demand from OperatorHub, by creating a Subscription
object by running the following command:
$ oc -n aws-load-balancer-operator get sub aws-load-balancer-operator --template='{{.status.installplan.name}}{{"\n"}}'
install-zlfbt
Check if the status of an install plan is Complete
by running the following command:
$ oc -n aws-load-balancer-operator get ip <install_plan_name> --template='{{.status.phase}}{{"\n"}}'
Complete
View the status of the aws-load-balancer-operator-controller-manager
deployment by running the following command:
$ 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
You can configure the AWS Load Balancer Operator to provision an AWS Application Load Balancer in an AWS VPC cluster extended into an Outpost. AWS Outposts does not support AWS Network Load Balancers. As a result, the AWS Load Balancer Operator cannot provision Network Load Balancers in an Outpost.
You can create an AWS Application Load Balancer either in the cloud subnet or in the Outpost subnet. An Application Load Balancer in the cloud can attach to cloud-based compute nodes and an Application Load Balancer in the Outpost can attach to edge compute nodes. You must annotate ingress resources with the Outpost subnet or the VPC subnet, but not both.
You have extended an AWS VPC cluster into an Outpost.
You have installed the OpenShift CLI (oc
).
You have installed the AWS Load Balancer Operator and created the AWS Load Balancer Controller.
Configure the ingress
resource to use a specified subnet:
ingress
resource configurationapiVersion: networking.k8s.io/v1
kind: ingress
metadata:
name: <application_name>
annotations:
alb.ingress.kubernetes.io/subnets: <subnet_id> (1)
spec:
ingressClassName: alb
rules:
- http:
paths:
- path: /
pathType: Exact
backend:
service:
name: <application_name>
port:
number: 80
1 | Specifies the subnet to use.
|
You can view the AWS Load Balancer Operator logs by using the oc logs
command.
View the logs of the AWS Load Balancer Operator by running the following command:
$ oc logs -n aws-load-balancer-operator deployment/aws-load-balancer-operator-controller-manager -c manager