Install with istioctl
Follow this guide to install and configure an Istio mesh with support for ambient mode. If you are new to Istio, and just want to try it out, follow the quick start instructions instead.
This installation guide uses the istioctl command-line tool. istioctl
, like other installation methods, exposes many customization options. Additionally, it offers has user input validation to help prevent installation errors, and includes many post-installation analysis and configuration tools.
Using these instructions, you can select any one of Istio’s built-in configuration profiles and then further customize the configuration for your specific needs.
The istioctl
command supports the full IstioOperator API via command-line options for individual settings, or passing a YAML file containing an IstioOperator
custom resource.
Prerequisites
Before you begin, check the following prerequisites:
- Download the Istio release.
- Perform any necessary platform-specific setup.
Install or upgrade the Kubernetes Gateway API CRDs
Note that the Kubernetes Gateway API CRDs do not come installed by default on most Kubernetes clusters, so make sure they are installed before using the Gateway API:
$ kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \
{ kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml; }
Install Istio using the ambient profile
istioctl
supports a number of configuration profiles that include different default options, and can be customized for your production needs. Support for ambient mode is included in the ambient
profile. Install Istio with the following command:
$ istioctl install --set profile=ambient --skip-confirmation
This command installs the ambient
profile on the cluster defined by your Kubernetes configuration.
Configure and modify profiles
Istio’s installation API is documented in the IstioOperator API reference. You can use the --set
option to istioctl install
to modify individual installation parameters, or specify your own configuration file with -f
.
Full details on how to use and customize istioctl
installations are available in the sidecar installation documentation.
Uninstall Istio
To completely uninstall Istio from a cluster, run the following command:
$ istioctl uninstall --purge -y
The optional --purge
flag will remove all Istio resources, including cluster-scoped resources that may be shared with other Istio control planes.
Alternatively, to remove only a specific Istio control plane, run the following command:
$ istioctl uninstall <your original installation options>
The control plane namespace (e.g., istio-system
) is not removed by default. If no longer needed, use the following command to remove it:
$ kubectl delete namespace istio-system