Skip to content

Commit

Permalink
Istio add custom configmaps and update docs (helm#2407)
Browse files Browse the repository at this point in the history
* add CustomConfigmaps and updated docs

* bumped chart version
  • Loading branch information
lachie83 authored and Vic Iglesias committed Oct 5, 2017
1 parent 64fffcf commit 243d3e3
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 10 deletions.
2 changes: 1 addition & 1 deletion incubator/istio/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: Istio Helm chart for Kubernetes
name: istio
# To avoid confusion the helm chart version stays in sync with the istio version - DO NOT UNSYNC -- [email protected]
# https://github.com/kubernetes/charts/issues/1501
version: 0.2.7-chart1
version: 0.2.7-chart2
appVersion: 0.2.7
home: https://istio.io/
icon: https://raw.githubusercontent.com/istio/istio.github.io/master/favicons/mstile-150x150.png
Expand Down
36 changes: 27 additions & 9 deletions incubator/istio/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

## TL;DR;

> **Note**: Istio pilot currently looks for hardcoded configmap of name "istio" in the installed namespace which means that you can only install the chart once per namespace.
```console
$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
$ helm install incubator/istio
Expand All @@ -17,7 +15,8 @@ This chart bootstraps a [Istio](https://istio.io/) deployment on a [Kubernetes](

## Prerequisites

- Kubernetes 1.5+
- Kubernetes 1.6+
- Kubernetes 1.7+ if you would like to use the Initializer (auto-inject)
- istioctl

### istioctl installation steps
Expand Down Expand Up @@ -71,11 +70,22 @@ $ helm install --name my-release incubator/istio

## Installing the Chart

To install the chart with the release name `my-release`:
It is recommended that you install Istio into the istio-system namespace.

Full installation requires two steps.

The first step will install the prerequisite CRDs.

To install the chart with the release name `istio` into the namespace istio-system:

```console
$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
$ helm install --name my-release incubator/istio
$ helm install --name istio incubator/istio --namespace istio-system
```

The second step will install the Istio components

```console
helm upgrade istio incubator/istio --reuse-values --set istio.install=true
```

The command deploys Istio on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
Expand All @@ -84,10 +94,10 @@ The command deploys Istio on the Kubernetes cluster in the default configuration
## Uninstalling the Chart

To uninstall/delete the `my-release` deployment:
To uninstall/delete the `istio` deployment:

```console
$ helm delete my-release
$ helm delete istio
```

The command removes all the Kubernetes components associated with the chart and deletes the release.
Expand Down Expand Up @@ -115,7 +125,7 @@ Alternatively, a YAML file that specifies the values for the above parameters ca
$ helm install incubator/istio --name my-release -f values.yaml
```

## Custom ConfigMap
## Custom ConfigMaps

When creating a new chart with this chart as a dependency, customConfigMap can be used to override the default config map provided. To use, set the value to true and provide the file `templates/configmap.yaml` for your use case. If you start by copying `configmap.yaml` from this chart and want to access values from this chart you must change all references from `.Values` to `.Values.istio`.

Expand All @@ -132,3 +142,11 @@ Istio ships with several preconfigured addons
* Zipkin

These addons can be selectively installed by setting `addons.<addon-name>.enabled=false` in values.yaml or by using the `--set` command


### Auto-inject
If you are running a Kubernetes 1.7+ and have the Initializers api enabled you may choose to enable the Initializer to be installed. See the [docs](https://kubernetes.io/docs/admin/extensible-admission-controllers/) on how to enable.

```console
helm install --name istio . --namespace istio-system --set istio.install=true,initializer.enabled=true
```
2 changes: 2 additions & 0 deletions incubator/istio/templates/configmap/mixer-config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{{- if and .Values.istio.install (not .Release.IsInstall) -}}
{{- if not .Values.mixer.customConfigMap }}
{{- $serviceName := include "istio.name" . -}}
apiVersion: v1
kind: ConfigMap
Expand All @@ -11,3 +12,4 @@ metadata:
data:
mapping.conf: |-
{{- end -}}
{{- end -}}
2 changes: 2 additions & 0 deletions incubator/istio/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ auth:

## Initializer configuration
initializer:
customConfigMap: false
enabled: false

deployment:
Expand All @@ -36,6 +37,7 @@ initializer:

## Mixer configuration
mixer:
customConfigMap: false

service:
type: ClusterIP
Expand Down

0 comments on commit 243d3e3

Please sign in to comment.