istio.io/_docs/setup/kubernetes/helm-install.md

79 lines
4.2 KiB
Markdown

---
title: Installation with Helm
overview: Install Istio with the included Helm chart.
order: 30
redirect_from: /docs/setup/kubernetes/helm.html
layout: docs
type: markdown
---
{% include home.html %}
Quick start instructions for the setup and configuration of Istio using the Helm package manager.
<span style="color:red">**Warning: Helm charts are currently broken in 0.5.0**</span>
## 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:
```bash
kubectl create -f install/kubernetes/helm/helm-service-account.yaml
```
1. Initialize Helm:
```bash
helm init --service-account tiller
```
1. Create the Helm chart:
```bash
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 Variable | Possible Values | Default Value | Purpose of Key |
|------------------------------|--------------------|----------------------------|------------------------------------------------|
| global.namespace | any Kubernetes ns | istio-system | Specifies the namespace for Istio |
| global.initializer.enabled | true/false | true | Specifies whether to use the Initializer |
| global.proxy.hub | registry+namespace | release registry/namespace | Specifies the HUB for the proxy image |
| global.proxy.tag | image tag | release unique hash | Specifies the TAG for the proxy image |
| global.proxy.debug | true/false | false | Specifies whether proxy is run in debug mode |
| global.pilot.hub | registry+namespace | release registry/namespace | Specifies the HUB for the pilot image |
| global.pilot.tag | image tag | release unique hash | Specifies the TAG for the pilot image |
| global.pilot.enabled | true/false | true | Specifies whether pilot is enabled/disabled |
| global.security.hub | registry+namespace | release registry/namespace | Specifies the HUB for the ca image |
| global.security.tag | image tag | release unique hash | Specifies the TAG for the ca image |
| global.security.enabled | true/false | false | Specifies whether security is enabled/disabled |
| global.mixer.hub | registry+namespace | release registry/namespace | Specifies the HUB for the mixer image |
| global.mixer.tag | image tag | release unique hash | Specifies the TAG for the mixer image |
| global.mixer.enabled | true/false | true | Specifies whether mixer is enabled/disabled |
| global.hyperkube.hub | registry+namespace | quay.io/coreos/hyperkube | Specifies the HUB for the hyperkube image |
| global.hyperkube.tag | image tag | v1.7.6_coreos.0 | Specifies the TAG for the hyperkube image |
| global.ingress.use_nodeport | true/false | false | Specifies whether to use nodeport or LB |
| global.ingress.nodeport_port | 32000-32767 | 32000 | If nodeport is used, specifies its port |
## Uninstalling
* Uninstall Istio:
```bash
helm delete --purge istio
```