Customizing Istio Installation

The documentation for customizing the Istio installation is present here.

The simplest way to customize an Istio installation is by passing configuration parameters via the --set options on the command line.

Using the --set option
istioctl install --set values.global.logging.level=debug

Alternatively, the IstioOperator configuration can be specified in a YAML file and passed to istioctl using the -f option.

As an example, consider the yaml file for installing the demo profile without the istio-egressgateway.

install-demo-profile-without-egress-gateway.yaml
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  profile: demo
  components:
    egressGateways:
      - name: istio-egressgateway
        enabled: false
Using the IstioOperator config file
istioctl install -f install-demo-profile-without-egress-gateway.yaml

It is possible to customize the Kubernetes settings for Istio components.

As an example, consider the yaml file for installing the demo profile with the resources on the istio-egressgateway being customized.

install-demo-profile-with-custom-resources.yaml
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  profile: demo
  components:
    egressGateways:
      - name: istio-egressgateway
        enabled: true
        k8s:
          resources:
            requests:
              cpu: 5m # override from default 500m
              memory: 20Mi # ... default 2048Mi
istioctl install -f install-demo-profile-with-custom-resources.yaml