Deploy specific version of Kubernetes to Azure Container Service

10/9/2017

Is there any way to deploy a particular version of Kubernetes to ACS in Azure? Using Azure resource manager, or az command.

It doesn't seem like template format for container service shows this info.

-- experimenter
azure-container-service
azure-resource-manager
kubernetes

2 Answers

10/25/2017

You can specify the version in ACS in selected regions. See the template example. https://github.com/weinong/azure-quickstart-templates/tree/master/101-acs-kubernetes-with-version

We will be updating azure cli with this feature soon.

-- Weinong Wang
Source: StackOverflow

10/9/2017

I suggest you to use acs-engine in this case. It is a tool for you to specify some custom definition like "orchestratorversion" for your case, and it can then generate an ARM template for deploying the k8s cluster.

You could download the acs-engine tool here https://github.com/Azure/acs-engine/releases (choose the version based on your need for the k8s version).

To achieve your goal, you have to provide a json file which the template you could find here https://github.com/Azure/acs-engine/blob/master/examples/kubernetes-releases/kubernetes1.7.json. You could alter the attribute "orchestratorversion" to either 1.5, 1.6 or 1.7 to suit your need. (or maybe 1.8 for the latest version)

When the json file is ready, you could turn it into the ARM template files by typing the following command

.\acs-engine.exe generate kubernetes.json

This will create a new directory called "_output" and you could find the azuredeploy.json and azuredeploy.parameters.json files there.

For more information about the attributes in the json file, take a look at https://github.com/Azure/acs-engine/blob/master/docs/clusterdefinition.md.

Another way you could also try is in the Deployment via Azure CLI specified here. https://github.com/Azure/ACS/tree/master/docs

-- Isaac Wong
Source: StackOverflow