Switch to F5 Ingress from ingress-nginx
This page outlines the process for migrating from the legacy ingress-nginx controller to the F5 NGINX Ingress Controller within kdb Insights Enterprise deployments.
As ingress-nginx is being retired, migrating to the F5 NGINX Ingress Controller is strongly recommended starting from version 1.18.3. Beginning with 1.19.0, F5 NGINX will be the default ingress controller for all new installations and is the preferred solution going forward.
Install the F5 NGINX Ingress Controller
The process for installing the F5 NGINX Ingress Controller will depend on how you have deployed your cluster.
-
Note
The Azure Marketplace docs include steps to install the F5 NGINX Ingress Controller, upgrade kdb Insights Enterprise and remove the Legacy Ingress Controller. Once completed no further action is required.
kdb Insights migration steps
The migration procedure is driven by your installation configuration within your values file, which you can retrieve and use alongside the kxi-cli.
-
Add to the base config file
$INSTALL_CONFIG_FILEwith the recommended settings for the F5 NGINX Ingress Controller:global: ingress: class: nginx-community controllerType: f5-nginxDefault ingress controller behavior
If
ingress.classandcontrollerTypeare not set within the values file, then the old ingress-nginx is installed. -
insights-on-k8smust be updated to the latest version. If you are using the--insights-on-k8s-versionyou must update the version to the latest or remove the flag. -
Run the following command, which steps through the upgrade, prompting you as required.
kxi install upgrade --filepath $INSTALL_CONFIG_FILE --version $INSIGHTS_VERSION --skip-packagesThe output should look similar to the following:
running nginx-f5 encryption in flight task Deploying task encryption-in-flight-f5 deploy Task action: [JobStart ] ... running nginx-f5 config task Deploying task ingress-mgmt-f5 configure-nginx-f5 Task action: [JobStart ] ... Upgrade to version x.x complete ... -
Validate the new ingress class is deployed.
kubectl get ingress NAME CLASS ... insights-api-gateway nginx-community ... insights-api-gateway-minion nginx-community ... -
Update DNS to point to F5 NGINX Ingress Loadbalancer/IP.
Once upgraded, your ingress will point to the F5 NGINX Ingress Loadbalancer/IP.
To access the kdb Insights Enterprise Web Interface, you need to update your DNS Record following the DNS setup instructions.
Monitoring Stack migration steps
If you have deployed the Monitoring Stack into your cluster and have an ingress for Grafana, this must also be migrated to the F5 NGINX Ingress Controller. To do this, reinstall the stack using the following installation command:
kxi monitoring install [OPTIONS] INSIGHTS_CLUSTER_NAME {s3|azure|gcs} CREDENTIALS_PATH --ingress-type nginx-community
Ensure that the --ingress-type argument matches your ingress configuration.
Remove the Legacy Ingress Controller
Note
Remove the Legacy Ingress Controller only when all kdb Insights Enterprise installations across the cluster have been successfully upgraded and traffic is flowing through the new F5 NGINX Ingress Controller.
The process for removing the Legacy Ingress Controller depends on how you have deployed your cluster.