Minimal Istio Installation
Quick start instructions for the minimal setup and configuration of Istio using Helm. This minimal install provides traffic management features of Istio.
Prerequisites
Refer to the prerequisites described in the Quick Start guide.
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.yaml
Choose 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 \ --set security.enabled=false \ --set ingress.enabled=false \ --set gateways.istio-ingressgateway.enabled=false \ --set gateways.istio-egressgateway.enabled=false \ --set galley.enabled=false \ --set sidecarInjectorWebhook.enabled=false \ --set mixer.enabled=false \ --set prometheus.enabled=false \ --set global.proxy.envoyStatsd.enabled=false \ --set pilot.sidecar=false > $HOME/istio-minimal.yaml
Install the Pilot component via the manifest:
$ kubectl create namespace istio-system $ kubectl apply -f $HOME/istio-minimal.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.yaml
Install Tiller on your cluster with the service account:
$ helm init --service-account tiller
Install Istio:
$ helm install install/kubernetes/helm/istio --name istio-minimal --namespace istio-system \ --set security.enabled=false \ --set ingress.enabled=false \ --set gateways.istio-ingressgateway.enabled=false \ --set gateways.istio-egressgateway.enabled=false \ --set galley.enabled=false \ --set sidecarInjectorWebhook.enabled=false \ --set mixer.enabled=false \ --set prometheus.enabled=false \ --set global.proxy.envoyStatsd.enabled=false \ --set pilot.sidecar=false
Ensure the
istio-pilot-*
Kubernetes pod is deployed and its container is up and running:
$ kubectl get pods -n istio-system
NAME READY STATUS RESTARTS AGE
istio-pilot-58c65f74bc-2f5xn 1/1 Running 0 1m
Uninstall
For option 1, uninstall using
kubectl
:$ kubectl delete -f $HOME/istio-minimal.yaml
For option 2, uninstall using Helm:
$ helm delete --purge istio-minimal
If your Helm version is less than 2.10.0, then you need to manually cleanup extra job resource before redeploy new version of Istio chart:
$ kubectl -n istio-system delete job --all
If 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 Istio with the included Helm chart.
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.