3.0 KiB
title | description | weight | keywords | draft | |
---|---|---|---|---|---|
Advanced Install Options | Customize the Istio installation. | 35 |
|
true |
This page provides options for piecemeal installation of Istio components.
Ingress controller only
It is possible to use Istio as an Ingress controller, leveraging advanced L7 routing capabilities such as version-aware routing, header based routing, gRPC/HTTP2 proxying, tracing, etc. Deploy Istio Pilot only and disable other components. Do not deploy the Istio initializer.
Ingress controller with policies and telemetry
By deploying Istio Pilot and Mixer, the Ingress controller configuration described above can be enhanced to provide in-depth telemetry and policy enforcement capabilities such as rate limits, access controls, etc.
Intelligent routing and telemetry
If you wish to take advantage of Istio's L7 traffic management capabilities, in addition to obtaining in-depth telemetry and performing distributed request tracing, deploy Istio Pilot and Mixer. In addition, disable policy enforcement at the Mixer.
Customization example: traffic management and minimal security set
Istio has a rich feature set, but you may only want to use a subset of these. For instance, you might be only interested in installing the minimum necessary services to support traffic management and security functionality.
This example shows how to install the minimal set of components necessary to use traffic management features.
Execute the following command to install the Pilot and Citadel:
{{< text bash >}}
$ helm install install/kubernetes/helm/istio --name istio --namespace istio-system
--set ingress.enabled=false
--set gateways.istio-ingressgateway.enabled=false
--set gateways.istio-egressgateway.enabled=false
--set galley.enabled=false
--set sidecarInjectorWebhook.enabled=false
--set mixer.enabled=false
--set prometheus.enabled=false
{{< /text >}}
Ensure the istio-pilot-*
and istio-citadel-*
Kubernetes pods are deployed and their containers are up and running:
{{< text bash >}} $ kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-citadel-b48446f79-wd4tk 1/1 Running 0 1m istio-pilot-58c65f74bc-2f5xn 2/2 Running 0 1m {{< /text >}}
With this minimal set you can install your own application and configure request routing. You will need to manually inject the sidecar.
Installation Options has the full list of options allowing you to tailor the Istio installation to your needs. Before you override the default value with --set
in helm install
, please check the configurations for the option in install/kubernetes/helm/istio/values.yaml
and uncomment the commented context if needed.