Ingress controller for Managed Service for Kubernetes
Application Load Balancer provides the Application Load Balancer Ingress controller as a tool to create and manage load balancers in Managed Service for Kubernetes clusters.
After installing the controller, you will be able to use it to create an IngressIngress
configuration, an L7 load balancer will be deployed automatically with all the requisite Application Load Balancer resources.
Sample configuration
Below is an abbreviated sample configuration for an Ingress
resource. It will be used to create a load balancer to receive HTTPS traffic and to distribute it to two services based on the URI request path.
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: alb-demo-tls
spec:
tls:
- hosts:
- <domain name>
secretName: yc-certmgr-cert-id-<certificate ID from Certificate Manager>
rules:
- host: <domain name>
http:
paths:
- path: /app1
pathType: Prefix
backend:
service:
name: alb-demo-1
port:
number: 80
- path: /app2
pathType: Prefix
backend:
service:
name: alb-demo-2
port:
number: 80
- pathType: Prefix
path: "/"
backend:
service:
name: alb-demo-2
port:
name: http
Logging settings
To set up logging for an L7 load balancer created using an Application Load Balancer Ingress controller in your Managed Service for Kubernetes cluster, add the ingress.alb.yc.io/group-settings-name
annotation with a name for the Ingress group settings and specify the settings in the additional IngressGroupSettings
resource. For more information, see Ingress resource annotations.
Installation and requirements
To install the Application Load Balancer Ingress controller, you need:
- Managed Service for Kubernetes cluster.
- Cluster node group.
- Cluster namespace to store the service account key.
To learn how to install the Ingress controller, see this guide.
See also
- Controller operating principles.
- Security group configuration for a Kubernetes cluster and a load balancer.
- Service account to support controller operation.