Container Service for Kubernetes (ACK) enables an Ingress to implement a canary release. This topic describes the limits of this feature.

To implement a canary release, make sure that the version of your Ingress controller is 0.12.0-5 or later.

To query the version of an Ingress controller, run one of the following commands:
  • If a service is deployed based on a Deployment, run the following command:

    kubectl -n kube-system get deploy nginx-ingress-controller -o yaml | grep -v 'apiVersion' | grep 'aliyun-ingress-controller'
  • If a service is deployed based on a DaemonSet, run the following command:

    kubectl -n kube-system get ds nginx-ingress-controller -o yaml | grep -v 'apiVersion' | grep 'aliyun-ingress-controller'
If the version of your Ingress controller is earlier than 0.12.0-5, run one of the following commands to upgrade the controller:
  • If a service is deployed based on a Deployment, run the following command:

    kubectl -n kube-system set image deploy/nginx-ingress-controller nginx-ingress-controller=registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:0.12.0-5
  • If a service is deployed based on a DaemonSet, run the following command:

    kubectl -n kube-system set image ds/nginx-ingress-controller nginx-ingress-controller=registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:0.12.0-5