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:

  1. You can use any annotation-based ingress controller that supports standard Kubernetes ingress API. The samples for nginx ingressController are provided.
  2. 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:

  1. Delete UIM CN Ingress. For more information, see "Setting Up Automation".
  2. Go to $SPEC_PATH of upgraded UIM release.
  3. Update the project spec file with ingressController as GENERIC:
    ingressController: "GENERIC"
  4. 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"
  5. Update the loadbalancerport value in instance spec file to your ingess controller loadbalancer or NodePort port.
  6. Based on the SSL strategy, update annotations in instance spec file.
  7. Update the custom-config.properties file for ATA details with the updated port number.
  8. Create UIM Ingress:
    $UIM_CNTK/scripts/create-ingress.sh -p project -i instance -s $SPEC_PATH
  9. Upgrade UIM instance to reflect port changes:
    $UIM_CNTK/scripts/upgrade-instance.sh -p project -i instance -s $SPEC_PATH
  10. Verify if the application can be accessed using your ingressController port.