执行以下命令出现的问题
istioctl install --set profile=demo -y
运行以下命令发现Events存在的问题
kubectl describe pod -n istio-system
问题一:镜像拉取失败
在全网搜索无果之后,我下载了docker desktop来把镜像下载到本地,然后再把本地的镜像上传到虚拟机中,其中下载docker desktop的时候需要先下载WSL2
step1:下载WSL2
这是下载的教程:全网最全Win10/11系统下WSL2+Ubuntu20.04的全流程安装指南(两种支持安装至 D 盘方式)_win10 wsl2安装-CSDN博客
我推荐这个博客中第二种方法:UI界面安装,直接在windows的控制面板上勾选,这样在终端使用安装的时候就不会卡住。

step2:安装Docker Desktop
访问 Docker 官网:Docker: Accelerated Container Application Development。
汉化Docker Desktop教程:GitHub - asxez/DockerDesktop-CN: Docker汉化 Docker中文版 Docker汉化包 DockerDesktop汉化 Docker Windows Docker MACS
step3:上传镜像到虚拟机
在Docker Desktop终端保存镜像:
docker save -o <输出文件路径> <镜像名称>:<标签>
镜像源传输
/path/to/nacos-server-v2.1.1.tar是保存到本机的文件路径。user 是目标服务器的用户名,target-server是目标服务器的IP地址。/path/to/destination/是目标服务器上的保存路径。
scp /path/to/nacos-server-v2.1.1.tar user@target-server:/path/to/destination/
导入镜像源
我有使用远程终端传输工具Wideterm,上边有图形的导入,所以上边的镜像源传输完全可以使用UI界面来完成。下边这一步是kubernetes的master以及node都需要操作的。
docker load -i <镜像名称>:<标签>
以上镜像问题就解决了。
问题二:就绪探针问题
Readiness probe failed: Get "http://10.244.2.3:8080/ready": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
我是在把Events给DeepSeek时按照他给的输出逐步排除,发现是我的Flannel出现了问题,可能之前在学习的时候搞坏了。所以需要删除重装,以下是具体操作步骤。我这边没有安装calico,如果有同时安装flannel以及calico,需要重新找教程。
#第一步,在master节点删除flannel
kubectl delete -f <部署k8s下载flannel的yaml文件>
#第二步,在node节点清理flannel网络留下的文件
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni/
rm -f /etc/cni/net.d/*
#第三步,重启kubelet
systemctl start kubelet
问题三:configmap istio-ca-root-cert not found
MountVolume.SetUp failedfor volume"istiod-ca-cert": configmap"istio-ca-root-cert"not found
解决办法
kubectl rollout restart deployment istiod -n istio-system
注意:清理缓存
屡次执行以下命令会出现许多错误缓存,导致安装失败
istioctl install --set profile=demo -y
可以执行以下命令清理缓存
#删除命名空间
kubectl delete namespace istio-system
kubectl get crds | grep istio | awk '{print $1}' | xargs kubectl delete crd
以上是我遇到的问题,再次执行就可以安装成功啦

最后一句,这个istio还挺好看的~
安装istio参考的是: