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.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
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