Install with istioctl
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.1.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
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