安装Service Mesh(Istio)在dockers desktop的问题

在通过手动安装(Releases · istio/istio)完成istioctl工具后,通过以下命令安装Istio

XML 复制代码
istioctl install --set profile=demo -y

在通过dockers desktop安装过程中总是遇到奇怪的网络下载问题,如:

XML 复制代码
✔ Istio core installed ⛵️
✘ Istiod encountered an error: failed to wait for resource: resources not ready after 5m0s: context deadline exceeded
  Deployment/istio-system/istiod (container failed to start: ImagePullBackOff: Back-off pulling image "docker.io/istio/pilot:1.31.0": ErrImagePull: failed to pull and unpack image "docker.io/istio/pilot:1.31.0": failed to resolve reference "docker.io/istio/pilot:1.31.0": unexpected status from HEAD request to http://registry-mirror:1273/v2/istio/pilot/manifests/1.31.0?ns=docker.io: 500 Internal Server Error)
✘ Egress gateways encountered an error: failed to wait for resource: resources not ready after 5m0s: context deadline exceeded
  Deployment/istio-system/istio-egressgateway (container failed to start: ContainerCreating: )
✘ Ingress gateways encountered an error: failed to wait for resource: resources not ready after 5m0s: context deadline exceeded
  Deployment/istio-system/istio-ingressgateway (container failed to start: ContainerCreating: )
Error: failed to install manifests: 3 errors occurred:
        * failed to wait for resource: resources not ready after 5m0s: context deadline exceeded
  Deployment/istio-system/istiod (container failed to start: ImagePullBackOff: Back-off pulling image "docker.io/istio/pilot:1.31.0": ErrImagePull: failed to pull and unpack image "docker.io/istio/pilot:1.31.0": failed to resolve reference "docker.io/istio/pilot:1.31.0": unexpected status from HEAD request to http://registry-mirror:1273/v2/istio/pilot/manifests/1.31.0?ns=docker.io: 500 Internal Server Error)
        * failed to wait for resource: resources not ready after 5m0s: context deadline exceeded
  Deployment/istio-system/istio-egressgateway (container failed to start: ContainerCreating: )
        * failed to wait for resource: resources not ready after 5m0s: context deadline exceeded
  Deployment/istio-system/istio-ingressgateway (container failed to start: ContainerCreating: )

这里的解决方案是:

1.打开 Docker Desktop → Settings → Docker Engine ,在 JSON 配置中找到 registry-mirrors 字段,删除或修正无效的地址,只保留如下的镜像地址,然后重启dockers desktop

XML 复制代码
"registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io"
  ]

2.手动安装pilot

XML 复制代码
docker pull docker.io/istio/pilot:1.31.0

# 使用本地策略
istioctl install --set profile=demo --set values.global.imagePullPolicy=IfNotPresent -y

这次安装完成后Istio安装成功,但是但是Egress和Ingress网关却失败了,接下来,我们继续安装

3.手动拉取proxy

XML 复制代码
# 拉取proxy代理
docker pull docker.io/istio/proxyv2:1.31.0

# 删除两个网关 Deployment
kubectl delete deployment istio-ingressgateway -n istio-system
kubectl delete deployment istio-egressgateway -n istio-system

最后在重新安装

XML 复制代码
istioctl install --set profile=demo --set values.global.imagePullPolicy=IfNotPresent -y

这样所有的安装都成功了。验证网关 Pod 状态

XML 复制代码
kubectl get pods -n istio-system -w

在这个过程中如果有安装失败的情况,我们先要清理数据

XML 复制代码
# 卸载
istioctl uninstall --purge -y

# 删除命名空间
kubectl delete namespace istio-system

# 清理 webhook
kubectl delete validatingwebhookconfiguration istio-validator-istio-system 2>$null
kubectl delete mutatingwebhookconfiguration istio-sidecar-injector 2>$null
相关推荐
分布式存储与RustFS1 小时前
在 Kubernetes 里跑对象存储的三个方案:Helm、Operator、以及什么时候别用 K8s
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
旋生万物4 小时前
素数螺旋映射 $z_n=n^{1+i}$ 的角分布统计检验与零模型对比
大数据·前端·人工智能·算法·云原生·螺旋生成论·螺旋相位
A.说学逗唱的Coke6 小时前
【云原生专题】Kubernetes 备份完全实战:用 Velero 搞定集群备份、恢复与跨集群迁移(附完整命令与踩坑记录)
云原生·容器·kubernetes
分布式存储与RustFS17 小时前
模型 checkpoint 放对象存储:分片上传、断点续传与残留清理
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS1 天前
用RustFS给Harbor当S3存储后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS1 天前
DPU卸载纠删码与加密:解决AI对象存储的CPU瓶颈
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
kuroomi1 天前
非云原生应用监控
云原生
分布式存储与RustFS1 天前
自托管对象存储的三种 TLS 签发:自签、Let‘s Encrypt、内网 CA 的选择与轮换
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS1 天前
把现有 S3 工具链直接接到 RustFS:100% 兼容到底覆盖哪些 API
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
2601_962219011 天前
操作日志全留存架构:万象生鲜系统生鲜业务合规审计底层实现方案
微服务·云原生·架构