Istio Installation changes for 1.1


#1

Hey peeps,

A recent PR merged which changes the Istio installation. I am working on a PR for the prelim docs site to document in more detail how this installation change works.

Until that PR is available, some quick instructions:

Step 1:

in the install/kubernretes/helm/istio-init directory is a helm chart which contains CRDs to install. This chart may either be rendered with helm template or installed via helm directly. This chart works by converting CRDs into configmaps, and then converting the crds in the configmaps into instantiated CRDs via Kubernetes jobs.

or

Within the install/kubernetes/helm/istio-init/files directory are raw CRD files. These files may be installed with kubectl directly instead of applying the chart or installing the chart.

Step 2:

use the install/kubernetes/helm/istio chart as normal (with either helm install or helm upgrade).

For developers, make generate_yaml will continue to generate yaml files that can be applied in one step. These yaml files will sometimes fail (approximately 10%-20% of the time) to apply because of races in the kube api server. This is why, among other reasons, we have a two-step process for 1.1. These races will appear as errors when attempting to apply custom resources (because the kubeapi server has not yet committed the custom resource definitions) when applying the manifest.

Help needed:
I am not 100% positive I have managed to get all of the CRDs for 1.1 in the 1.1 CRD file. For those folks that have added CRDs, can you reply on this thread and let me know if a CRD was added in 1.1 - and if so, if you see it present in the repo?

Testing of upgrades is also highly valued.