[Istio](https://istio.io/) is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data.
## Introduction
This chart bootstraps Istio's [CRDs](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions)
which are an internal implementation detail of Istio. CRDs define data structures for storing runtime configuration
specified by a human operator.
This chart must be run to completion prior to running other Istio charts, or other Istio charts will fail to initialize.
## Prerequisites
- Kubernetes 1.9 or newer cluster with RBAC (Role-Based Access Control) enabled is required
- Helm 2.7.2 or newer or alternately the ability to modify RBAC rules is also required
## Resources Required
The chart deploys pods that consume minimal resources.
## Installing the Chart
1. If a service account has not already been installed for Tiller, install one:
> Although you can install the `istio-init` chart to any namespace, it is recommended to install `istio-init` in the same namespace(`istio-system`) as other Istio charts.
## Configuration
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:
| Parameter | Description | Values | Default |
| --- | --- | --- | --- |
| `global.hub` | Specifies the HUB for most images used by Istio | registry/namespace | `docker.io/istio` |
| `global.tag` | Specifies the TAG for most images used by Istio | valid image tag | `0.8.latest` |
description:The names of gateways and sidecars that should apply these routes
name:Gateways
type:string
-JSONPath:.spec.hosts
description:The destination hosts to which traffic is being sent
name:Hosts
type:string
-JSONPath:.metadata.creationTimestamp
description:|-
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
name: Age
type: date
---
apiVersion:apiextensions.k8s.io/v1beta1
kind:CustomResourceDefinition
metadata:
name:destinationrules.networking.istio.io
labels:
app:istio-pilot
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:networking.istio.io
names:
kind:DestinationRule
listKind:DestinationRuleList
plural:destinationrules
singular:destinationrule
shortNames:
-dr
categories:
-istio-io
-networking-istio-io
scope:Namespaced
version:v1alpha3
additionalPrinterColumns:
-JSONPath:.spec.host
description:The name of a service from the service registry
name:Host
type:string
-JSONPath:.metadata.creationTimestamp
description:|-
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
name: Age
type: date
---
apiVersion:apiextensions.k8s.io/v1beta1
kind:CustomResourceDefinition
metadata:
name:serviceentries.networking.istio.io
labels:
app:istio-pilot
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:networking.istio.io
names:
kind:ServiceEntry
listKind:ServiceEntryList
plural:serviceentries
singular:serviceentry
shortNames:
-se
categories:
-istio-io
-networking-istio-io
scope:Namespaced
version:v1alpha3
additionalPrinterColumns:
-JSONPath:.spec.hosts
description:The hosts associated with the ServiceEntry
name:Hosts
type:string
-JSONPath:.spec.location
description:Whether the service is external to the mesh or part of the mesh (MESH_EXTERNAL or MESH_INTERNAL)
name:Location
type:string
-JSONPath:.spec.resolution
description:Service discovery mode for the hosts (NONE, STATIC, or DNS)
name:Resolution
type:string
-JSONPath:.metadata.creationTimestamp
description:|-
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
name: Age
type: date
---
apiVersion:apiextensions.k8s.io/v1beta1
kind:CustomResourceDefinition
metadata:
name:gateways.networking.istio.io
labels:
app:istio-pilot
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:networking.istio.io
names:
kind:Gateway
plural:gateways
singular:gateway
shortNames:
-gw
categories:
-istio-io
-networking-istio-io
scope:Namespaced
version:v1alpha3
---
apiVersion:apiextensions.k8s.io/v1beta1
kind:CustomResourceDefinition
metadata:
name:sidecars.networking.istio.io
labels:
app:istio-pilot
chart:istio
heritage:Tiller
release:istio
spec:
group:networking.istio.io
names:
kind:Sidecar
plural:sidecars
singular:sidecar
categories:
-istio-io
-networking-istio-io
scope:Namespaced
version:v1alpha3
---
apiVersion:apiextensions.k8s.io/v1beta1
kind:CustomResourceDefinition
metadata:
name:envoyfilters.networking.istio.io
labels:
app:istio-pilot
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:networking.istio.io
names:
kind:EnvoyFilter
plural:envoyfilters
singular:envoyfilter
categories:
-istio-io
-networking-istio-io
scope:Namespaced
version:v1alpha3
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:clusterrbacconfigs.rbac.istio.io
labels:
app:istio-pilot
istio:rbac
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:rbac.istio.io
names:
kind:ClusterRbacConfig
plural:clusterrbacconfigs
singular:clusterrbacconfig
categories:
-istio-io
-rbac-istio-io
scope:Cluster
version:v1alpha1
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:policies.authentication.istio.io
labels:
app:istio-citadel
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:authentication.istio.io
names:
kind:Policy
plural:policies
singular:policy
categories:
-istio-io
-authentication-istio-io
scope:Namespaced
version:v1alpha1
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:meshpolicies.authentication.istio.io
labels:
app:istio-citadel
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:authentication.istio.io
names:
kind:MeshPolicy
listKind:MeshPolicyList
plural:meshpolicies
singular:meshpolicy
categories:
-istio-io
-authentication-istio-io
scope:Cluster
version:v1alpha1
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:httpapispecbindings.config.istio.io
labels:
app:istio-mixer
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:config.istio.io
names:
kind:HTTPAPISpecBinding
plural:httpapispecbindings
singular:httpapispecbinding
categories:
-istio-io
-apim-istio-io
scope:Namespaced
version:v1alpha2
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:httpapispecs.config.istio.io
labels:
app:istio-mixer
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:config.istio.io
names:
kind:HTTPAPISpec
plural:httpapispecs
singular:httpapispec
categories:
-istio-io
-apim-istio-io
scope:Namespaced
version:v1alpha2
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:quotaspecbindings.config.istio.io
labels:
app:istio-mixer
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:config.istio.io
names:
kind:QuotaSpecBinding
plural:quotaspecbindings
singular:quotaspecbinding
categories:
-istio-io
-apim-istio-io
scope:Namespaced
version:v1alpha2
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:quotaspecs.config.istio.io
labels:
app:istio-mixer
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:config.istio.io
names:
kind:QuotaSpec
plural:quotaspecs
singular:quotaspec
categories:
-istio-io
-apim-istio-io
scope:Namespaced
version:v1alpha2
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:rules.config.istio.io
labels:
app:mixer
package:istio.io.mixer
istio:core
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:config.istio.io
names:
kind:rule
plural:rules
singular:rule
categories:
-istio-io
-policy-istio-io
scope:Namespaced
version:v1alpha2
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:attributemanifests.config.istio.io
labels:
app:mixer
package:istio.io.mixer
istio:core
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:config.istio.io
names:
kind:attributemanifest
plural:attributemanifests
singular:attributemanifest
categories:
-istio-io
-policy-istio-io
scope:Namespaced
version:v1alpha2
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:rbacconfigs.rbac.istio.io
labels:
app:mixer
package:istio.io.mixer
istio:rbac
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:rbac.istio.io
names:
kind:RbacConfig
plural:rbacconfigs
singular:rbacconfig
categories:
-istio-io
-rbac-istio-io
scope:Namespaced
version:v1alpha1
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:serviceroles.rbac.istio.io
labels:
app:mixer
package:istio.io.mixer
istio:rbac
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:rbac.istio.io
names:
kind:ServiceRole
plural:serviceroles
singular:servicerole
categories:
-istio-io
-rbac-istio-io
scope:Namespaced
version:v1alpha1
---
kind:CustomResourceDefinition
apiVersion:apiextensions.k8s.io/v1beta1
metadata:
name:servicerolebindings.rbac.istio.io
labels:
app:mixer
package:istio.io.mixer
istio:rbac
chart:istio
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
group:rbac.istio.io
names:
kind:ServiceRoleBinding
plural:servicerolebindings
singular:servicerolebinding
categories:
-istio-io
-rbac-istio-io
scope:Namespaced
version:v1alpha1
additionalPrinterColumns:
-JSONPath:.spec.roleRef.name
description:The name of the ServiceRole object being referenced
name:Reference
type:string
-JSONPath:.metadata.creationTimestamp
description:|-
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
name: Age
type: date
group:certmanager.k8s.io
version:v1alpha1
names:
kind:Order
plural:orders
scope:Namespaced
---
apiVersion:apiextensions.k8s.io/v1beta1
kind:CustomResourceDefinition
metadata:
name:challenges.certmanager.k8s.io
labels:
app:certmanager
chart:certmanager
heritage:Tiller
release:istio
annotations:
"helm.sh/resource-policy":keep
spec:
additionalPrinterColumns:
-JSONPath:.status.state
name:State
type:string
-JSONPath:.spec.dnsName
name:Domain
type:string
-JSONPath:.status.reason
name:Reason
type:string
-JSONPath:.metadata.creationTimestamp
description:|-
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata