B Migrating from Traefik Ingress Controller to Annotations Based Generic Ingress Controller
Prerequisites
Here are the prerequisites you need:
- Install annotation-based ingress controller.
- Delete Traefik Ingress Controller. For more information, see Setting Up Automation
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 HAProxy ingressController are provided.
- For installation of HAProxy, the sample values are provided under $COMMON_CNTK/samples/charts/haproxy. For more information, see Working with Ingress, Ingress Controller, and External Load Balancer
Migrating to Generic Ingress Controller for ATA
To migrate to generic ingress controller for ATA:
- Delete Traefik Ingress Controller. For more information, see Setting Up Automation.
- Download the latest common-cntk, assemble the specifications and retain your old, required values.
- Make sure the value of ingressController in spec path is
GENERIC.ingressController: "GENERIC" - Update the loadbalancerport value in applications-base.yaml with your ingressController loadbalancer or NodePort port.
- Uncomment and provide required ingress annotations and ingressClassName in applications-base.yaml file according to your ingress controller. The samples are provided for HAProxy ingress controller.
ingress: className: "haproxy" annotations: haproxy.org/cookie-persistence: "uimhaproxycookie" - (Optional) Provide additional annotations under ata.ingress.annotations tag that is specific to ATA in app-ata.yaml.
- Upgrade the ATA
instance.
$COMMON_CNTK/scripts/upgrade-instance.sh -p $PROJECT -i $INSTANCE -s $SPEC_PATH -a ata - Verify if your application is accessible through your ingressController port.
Migrating to Generic Ingress Controller for Message Bus
To migrate to generic ingress controller for Message Bus:
- Download the latest common-cntk, copy the latest applications-base.yaml file to spec path and retain your old, required values.
- Make sure the value of ingressController in spec path is
GENERIC.ingressController: "GENERIC" - If TLS is
true, update the loadbalancerport value in applications-base.yaml with your ingressController SSL loadbalancer or NodePort port. - If TLS is
false, update ingressSslPort inside the kafka-cluster section in applications-base.yaml with ingressController non-SSL loadbalancer or NodePort port. - Uncomment and provide required ingress annotations specific to Kafka cluster and ingressClassName in app-messaging-bus.yaml file according to your ingress Controller. The samples are provided for HAProxy ingress controller.
ingress: className: "haproxy" annotations: haproxy.org/cookie-persistence: "uimhaproxycookie" - For Message Bus, annotations given in kafka-cluster section are mandatory, under kafka-cluster.listeners.ingress.annotations tag in app-messaging-bus.yaml file.
kafka-cluster: ingress: ingressSslPort: 30543 annotations: haproxy.org/ssl-passthrough: "true" ingress.kubernetes.io/ssl-passthrough: "true" - Upgrade the Message Bus
instance.
$COMMON_CNTK/scripts/upgrade-application.sh -p $PROJECT -i $INSTANCE -s $SPEC_PATH -a messaging-bus - Verify your application is accessible through your ingressController port.