Installation with Helm
Quick start instructions for the setup and configuration of Istio using Helm. This is the recommended install method for installing Istio to your production environment as it offers rich customization to the Istio control plane and the sidecars for the Istio data plane.
Prerequisites
- Minikube
- Google Container Engine (GKE)
- IBM Cloud Kubernetes Service (IKS)
- OpenShift Origin
- Amazon Web Services (AWS) with Kops
- Azure
Check the Requirements for Pods and Services on Pods and Services.
Istio by default uses
LoadBalancerservice object types. Some platforms do not supportLoadBalancerservice objects. For platforms lackingLoadBalancersupport, install Istio withNodePortsupport instead with the flags--set gateways.istio-ingressgateway.type=NodePort --set gateways.istio-egressgateway.type=NodePortappended to the end of the Helm operation.
Installation steps
If using a Helm version prior to 2.10.0, install Istio's Custom Resource Definitions via
kubectl apply, and wait a few seconds for the CRDs to be committed in the kube-apiserver:$ kubectl apply -f install/kubernetes/helm/istio/templates/crds.yamlIf you are enabling
certmanager, you also need to install its CRDs as well and wait a few seconds for the CRDs to be committed in the kube-apiserver:$ kubectl apply -f install/kubernetes/helm/istio/charts/certmanager/templates/crds.yamlChoose one of the following two mutually exclusive options described below.
Option 1: Install with Helm via helm template
Render Istio's core components to a Kubernetes manifest called
istio.yaml:$ helm template install/kubernetes/helm/istio --name istio --namespace istio-system > $HOME/istio.yamlInstall the components via the manifest:
$ kubectl create namespace istio-system $ kubectl apply -f $HOME/istio.yaml
Option 2: Install with Helm and Tiller via helm install
This option allows Helm and Tiller to manage the lifecycle of Istio.
If a service account has not already been installed for Tiller, install one:
$ kubectl apply -f install/kubernetes/helm/helm-service-account.yamlInstall Tiller on your cluster with the service account:
$ helm init --service-account tillerInstall Istio:
$ helm install install/kubernetes/helm/istio --name istio --namespace istio-system
Uninstall
For option 1, uninstall using
kubectl:$ kubectl delete -f $HOME/istio.yamlFor option 2, uninstall using Helm:
$ helm delete --purge istioIf your Helm version is less than 2.9.0, then you need to manually cleanup extra job resource before redeploy new version of Istio chart:
$ kubectl -n istio-system delete job --allIf desired, delete the CRDs:
$ kubectl delete -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system
See also
Describes the options available when installing Istio using the included Helm chart.
Install minimal Istio using Helm.
Instructions to download the Istio release.
Example multicluster GKE install of Istio.
Instructions to setup a Google Kubernetes Engine cluster for Istio.
IBM Cloud Kubernetes Service & IBM Cloud Private
Example multicluster between IBM Cloud Kubernetes Service & IBM Cloud Private.