Does the k8s support gated launch or called gray release ? for example, I deploy a nginx service in k8s which version is 1.10.2 with replica = 10, then I want to upgrade the service to 1.11.5, I modify the deployment and the I use the kubectl rollout status deployment nginx, I find all of the 10 pods has been set to 1.11.5,so how can I reach the status --- 2 pods with verion is 1.11.5 and 8 pods remain old 1.10.2?
This pattern is referred to as canary deployments in the documentation. (See the page linked)
In short:
track: stable to your pods in the deployment (do this once and roll it out)foo-canary (make sure you do change the name in the file)track: canaryreplicas: 2