Installing a Application Load Balancer Ingress controller for Managed Service for Kubernetes
To balance the load and distribute traffic between Kubernetes applications, use an Application Load Balancer Ingress controller. It runs the load balancer and the required auxiliary resources when the user creates an Ingress
resource in a Managed Service for Kubernetes cluster.
Getting started
-
If you don't have the Nebius Israel command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the
--folder-name
or--folder-id
parameter. -
Create a service account for the ingress controller to run and assign the following roles to it:
alb.editor
: To create the required resources.vpc.publicAdmin
: To manage external connectivity.certificate-manager.certificates.downloader
: To use certificates registered in Certificate Manager.compute.viewer
: To use Managed Service for Kubernetes cluster nodes in balancer target groups.
-
Create a static access key for the service account in JSON format and save it to the
sa-key.json
file:yc iam key create \ --service-account-name <name_of_service_account_for_Ingress_controller> \ --format=json > sa-key.json
Installation using a Helm chart
Getting started
-
Install Helm
v3.7.0 or higher. -
Install kubectl
and configure it to work with the created cluster. -
Install the
jq
utility for piped processing of JSON files.sudo apt update && sudo apt install jq
Installation using a Helm chart
-
To install a Helm chart
with the Ingress controller, run these commands:export HELM_EXPERIMENTAL_OCI=1 && \ cat sa-key.json | helm registry login cr.il.nebius.cloud --username 'json_key' --password-stdin && \ helm pull oci://cr.il.nebius.cloud/yc/yc-alb-ingress-controller-chart \ --version v0.1.16 \ --untar && \ helm install \ --namespace <namespace> \ --create-namespace \ --set folderId=<folder ID> \ --set clusterId=<cluster ID> \ --set-file saKeySecretKey=sa-key.json \ yc-alb-ingress-controller ./yc-alb-ingress-controller-chart/
See also
-
Description of Ingress controllers
in the Kubernetes documentation. -
Reference for the Application Load Balancer Ingress controller.