A Migrating from Traefik Ingress Controller to Annotations-Based Generic Ingress Controller
This appendix describes how to migrate from Traefik Ingress Controller to annotations-based generic Ingress controller.
Prerequisites
Here are the prerequisites you need:
- Install annotation-based ingress controller.
Installing Generic Ingress Controller
To install generic ingress controller:
- You can use any annotation-based ingress controller that supports standard Kubernetes ingress API. The samples for nginx ingressController are provided.
- For installation of nginx, the sample values are provided under $UIM_CNTK/samples/charts/nginx. For more information, see "About Load Balancing and Ingress Controller".
Migrating to Generic Ingress Controller for UIM CN
To migrate to a generic ingress controller:
- Delete UIM CN Ingress. For more information, see "Setting Up Automation".
- Go to $SPEC_PATH of upgraded UIM release.
- Update the project spec file with ingressController as
GENERIC
:ingressController: "GENERIC"
- Uncomment and provide the ingress annotations according to your ingress
controller. The samples for Nginx are provided. Make sure that you provide the
corresponding className field, which is required to choose your ingress
controller based on the ingressClassName
value:
ingress: className: "nginx" annotations: nginx.ingress.kubernetes.io/affinity: "cookie" nginx.ingress.kubernetes.io/affinity-mode: "persistent" nginx.ingress.kubernetes.io/session-cookie-name: "nginxingresscookie" nginx.ingress.kubernetes.io/proxy-body-size: "50m"
- Update the loadbalancerport value in instance spec file to your ingess controller loadbalancer or NodePort port.
- Based on the SSL strategy, update annotations in instance spec file.
- Update the custom-config.properties file for ATA details with the updated port number.
- Create UIM
Ingress:
$UIM_CNTK/scripts/create-ingress.sh -p project -i instance -s $SPEC_PATH
- Upgrade UIM instance to reflect port
changes:
$UIM_CNTK/scripts/upgrade-instance.sh -p project -i instance -s $SPEC_PATH
- Verify if the application can be accessed using your ingressController port.