安装前准备
请参考本小节完成安装环境准备,包括K8s集群的部署、容器镜像准备。
- 安装Istio前请确保已完成K8s集群的部署;若暂未部署K8s集群,可利用集群管理工具(如sealos)快速完成集群部署。
- 安装Istio前请确保网络环境可顺利拉取所需容器镜像。若所处环境无法直接拉取容器镜像,需要提前准备相关镜像并导入目标环境。
istioctl manifest generate --set profile=default | grep "image:"
输出结果示例如下。
image: busybox:1.28 image: docker.io/istio/proxyv2:1.23.4 image: docker.io/istio/pilot:1.23.4
容器镜像导入导出示例
在多节点的K8s集群中,Istio相关Pod可能被调度到任意节点上,为了避免istio安装失败,可以在所有节点上导入相关镜像。若节点数过多,可先进行istio安装步骤(会因对应节点缺失相关镜像阻塞),并利用kubectl get pods -A -o wide查看Istio的相关Pod被调度到哪个节点,然后在相应节点导入镜像。
假设目前有环境A和目标环境B(可能有多个节点),其中环境A已安装了Docker,且可以正常拉取容器镜像;而环境B已部署了K8s集群,容器运行时为Containerd,需要安装Istio,但无法直接拉取容器镜像,则可进行如下操作提前导入镜像。
- 在环境A中拉取相关镜像,以busybox:1.28为例。
docker pull busybox:1.28
- 在环境A中将相关镜像保存为tar包。
docker save busybox:1.28 -o busybox-1.28.tar
- 将镜像tar包上传至环境B,并在环境B中导入。
ctr -n k8s.io images import busybox-1.28.tar
可参考上述操作,拉取、导入其他镜像(docker.io/istio/proxyv2:1.23.4、docker.io/istio/pilot:1.23.4等)。
父主题: 安装Istio