Skip to content

Commit

Permalink
Add documentation for Helm deployment (#875)
Browse files Browse the repository at this point in the history
* Add documentation for Helm deployment

This adds documentation along with related configuration options for
deploying Istio with the Helm charts.

* Few corrections as suggested during review.

* Fix error in path to install Helm package

* Slight refinement of helm documentation

Fix a typo in the install command and warning clause about automatic
sidecar injection not being implemented.
  • Loading branch information
Steven Dake authored and linsun committed Feb 5, 2018
1 parent 5b4b284 commit f9e5df3
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 1 deletion.
75 changes: 75 additions & 0 deletions _docs/setup/kubernetes/helm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: Istio Helm Chart Instructions
overview: Instructions for the setup and configuration of Istio using the Helm package manager.

order: 30

layout: docs
type: markdown
---

{% include home.html %}

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


## 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-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+namesapce | 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
```
3 changes: 2 additions & 1 deletion _docs/setup/kubernetes/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@ cd istio-{{ site.data.istio.version }}
export PATH=$PWD/bin:$PATH
```

1. Install Istio's core components. Choose one of the two _**mutually exclusive**_ options below:
1. Install Istio's core components. Choose one of the two _**mutually exclusive**_ options below or alternately install
with the [Helm Chart]({{home}}/docs/setup/kubernetes/helm.html):

a) Install Istio without enabling [mutual TLS authentication]({{home}}/docs/concepts/security/mutual-tls.html) between sidecars.
Choose this option for clusters with existing applications, applications where services with an
Expand Down

0 comments on commit f9e5df3

Please sign in to comment.