Rate This Document
Findability
Accuracy
Completeness
Readability

Preparing for Installation

Prepare the installation environment, including deploying the Kubernetes cluster and preparing container images, as instructed in this section.

  • Before installing Istio, ensure that the Kubernetes cluster has been deployed. If not, you can use a Kubernetes cluster management tool, such as Sealos, to quickly deploy the cluster.
  • Before installing Istio, ensure that the network environment can pull the required container images. If not, prepare the images and import them to the target environment.

    Run the following command to check the required image versions:

    istioctl manifest generate --set profile=default | grep "image:"

    The following is an example of the command output:

    image: busybox:1.28
    image: docker.io/istio/proxyv2:1.23.4
    image: docker.io/istio/pilot:1.23.4

Example of Importing and Exporting Container Images

In a multi-node Kubernetes cluster, Istio-related pods may be scheduled to any node. To avoid Istio installation failures, import the related images to all nodes. If there are too many nodes, install Istio first (the installation will be blocked if the corresponding node does not have the required images). Run the kubectl get pods -A -o wide command to check the nodes where the Istio-related pods are scheduled, and import images to the nodes.

Assume that environment A and environment B (which may have multiple nodes) are available. In environment A, Docker has been installed and container images can be pulled properly. In environment B, the Kubernetes cluster has been deployed, the container runtime is containerd, and Istio needs to be installed, but container images cannot be directly pulled. In this case, perform the following operations to import images in advance:

  1. Pull the required image in environment A. The following uses busybox:1.28 as an example.
    docker pull busybox:1.28
  2. Save the related image as a TAR package in environment A.
    docker save busybox:1.28 -o busybox-1.28.tar
  3. Upload the image TAR package to environment B and import the image to environment B.
    ctr -n k8s.io images import busybox-1.28.tar 

You can pull and import other images (such as docker.io/istio/proxyv2:1.23.4 and docker.io/istio/pilot:1.23.4) by following the preceding operations.