安装istio遇到的事情

执行以下命令出现的问题

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安装-优快云博客

我推荐这个博客中第二种方法: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参考的是:

Istio教程(一)---安装 Istio -

Istio下载及安装_istio离线安装-优快云博客

### 如何在离线环境下安装 Istio 的服务网格 #### 准备工作 为了在离线环境中成功安装 Istio,需要提前下载所有必要的依赖项并将它们传输到目标机器。以下是详细的准备过程: 1. **获取 Istio 发行包** 访问官方 Istio 下载页面,在联网的计算机上下载最新版本的 Istio 压缩包。该压缩包通常包含二进制文件、YAML 文件和其他资源文件[^5]。 2. **收集 Kubernetes 和 Helm 工具链** 确保已准备好与目标集群兼容的 Kubernetes CLI (`kubectl`) 版本以及 Helm 安装包。如果目标环境未启用互联网连接,则这些工具也需要预先下载并复制至目标主机。 3. **镜像拉取清单生成** 使用 `istioctl` 工具来提取运行 Istio 所需的所有容器镜像列表。命令如下所示: ```bash istioctl manifest generate --set profile=demo | kubectl imagebuilder -f - ``` 此脚本将输出完整的 Docker 镜像地址集合,便于后续将其批量导出为 tar 归档文件[^6]。 4. **打包并迁移数据** 将上述步骤中的软件包(包括但不限于 Istio 自身及其关联组件)、Docker 镜像存档以及其他可能涉及的基础库整理成统一目录结构后拷贝给无网络接入权限的目标服务器。 #### 实际部署流程 一旦所有必需品均已就位于本地存储设备之上,便可依照以下顺序执行实际安装操作: 1. 加载先前保存下来的容器映射档案回宿主机内部缓存区; ```bash docker load < path/to/image.tar ``` 2. 初始化 Helm 并添加官方 Chart 存储仓库链接(尽管处于断开状态仍可正常运作因为已经预加载完毕相关内容); 3. 应用自定义配置模板渲染最终产物并通过标准 API 接口提交给管理节点解析生效即可完成整个端到端解决方案构建任务[^7]。 ```yaml apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: profile: demo ``` 以上 YAML 示例展示了最基本的控制平面实例规格声明方式[^8]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值