Installation with Helm

Quick start instructions for the setup and configuration of Istio using the Helm package manager.

Installation with Helm prior to Istio version 0.7 is unstable and not recommended.

Prerequisites

The following instructions require you have access to Helm 2.7.2 or newer in your Kubernetes environment or alternately the ability to modify RBAC rules required to install Helm. Additionally Kubernetes 1.7.3 or newer is also required. Finally this Helm chart does not yet implement automatic sidecar injection.

Deploy with Helm

  1. If a service account has not already been installed for Helm, please install one:
    kubectl create -f install/kubernetes/helm/helm-service-account.yaml
    
  2. Initialize Helm:
    helm init --service-account tiller
    
  3. Create the Helm chart:
    helm install install/kubernetes/helm/istio --name istio
    

Customization with Helm

The Helm chart ships with reasonable defaults. There may be circumstances in which defaults require overrides. To override Helm values, use --set key=value argument during the helm install command. Multiple --set operations may be used in the same Helm operation.

Helm charts expose configuration options which are currently in alpha. The currently exposed options are explained in the following table:

Helm VariablePossible ValuesDefault ValuePurpose of Key
global.namespaceany Kubernetes nsistio-systemSpecifies the namespace for Istio
global.initializer.enabledtrue/falsetrueSpecifies whether to use the Initializer
global.proxy.hubregistry+namespacerelease registry/namespaceSpecifies the HUB for the proxy image
global.proxy.tagimage tagrelease unique hashSpecifies the TAG for the proxy image
global.proxy.debugtrue/falsefalseSpecifies whether proxy is run in debug mode
global.pilot.hubregistry+namespacerelease registry/namespaceSpecifies the HUB for the pilot image
global.pilot.tagimage tagrelease unique hashSpecifies the TAG for the pilot image
global.pilot.enabledtrue/falsetrueSpecifies whether pilot is enabled/disabled
global.security.hubregistry+namespacerelease registry/namespaceSpecifies the HUB for the ca image
global.security.tagimage tagrelease unique hashSpecifies the TAG for the ca image
global.security.enabledtrue/falsefalseSpecifies whether security is enabled/disabled
global.mixer.hubregistry+namespacerelease registry/namespaceSpecifies the HUB for the mixer image
global.mixer.tagimage tagrelease unique hashSpecifies the TAG for the mixer image
global.mixer.enabledtrue/falsetrueSpecifies whether mixer is enabled/disabled
global.hyperkube.hubregistry+namespacequay.io/coreos/hyperkubeSpecifies the HUB for the hyperkube image
global.hyperkube.tagimage tagv1.7.6_coreos.0Specifies the TAG for the hyperkube image
global.ingress.use_nodeporttrue/falsefalseSpecifies whether to use nodeport or LB
global.ingress.nodeport_port32000-3276732000If nodeport is used, specifies its port

Uninstalling

  • Uninstall Istio:

    helm delete --purge istio