azure-aks - 无法拉取映像“mcr.microsoft.comoss/calico/pod2daemon-flexvol:v3.18.1(缺少“/”)
问题描述
执行摘要
几个星期以来,我们偶尔会在所有 AKS Kubernetes 集群上看到以下错误:
Failed to pull image "mcr.microsoft.comoss/calico/pod2daemon-flexvol:v3.18.1
显然在“mcr.microsoft.com”之后缺少一个“/”。将集群从 1.17 升级到 1.20 后,问题开始出现。
这个拼写错误来自哪里?我们能做些什么吗?
一些细节
完整的错误是:
Failed to pull image "mcr.microsoft.comoss/calico/pod2daemon-flexvol:v3.18.1": rpc error: code = Unknown desc = failed to pull and unpack image "mcr.microsoft.comoss/calico/pod2daemon-flexvol:v3.18.1": failed to resolve reference "mcr.microsoft.comoss/calico/pod2daemon-flexvol:v3.18.1": failed to do request: Head https://mcr.microsoft.comoss/v2/calico/pod2daemon-flexvol/manifests/v3.18.1: dial tcp: lookup mcr.microsoft.comoss on 168.63.129.16:53: no such host
在 50% 的情况下,还会记录以下内容:
Pod 'calico-system/calico-typha-685d454c58-pdqkh' triggered a Warning-Event: 'FailedMount'. Warning Message: Unable to attach or mount volumes: unmounted volumes=[typha-ca typha-certs calico-typha-token-424k6], unattached volumes=[typha-ca typha-certs calico-typha-token-424k6]: timed out waiting for the condition
除了警告之外,似乎对集群健康没有可衡量的影响——我在任何服务中都看不到相关的错误。
我们没有找到导致该行为的触发器。它似乎与我们所做的任何更改(部署、扩展……)无关。
似乎也没有关于频率的模式。有时几天都没有问题,然后我们每天弹出10次错误。
另一个观察结果是 calico-kube-controller 和几个 pod 被重新启动。副本集和部署没有改变。
由于 daemonset 的所有 pod 最终都在运行,因此问题似乎在一段时间后自行解决。
解决方案
您是否在防火墙后面,并使用此链接进行设置
https://docs.microsoft.com/en-us/azure/aks/limit-egress-traffic
如果是这样,将 HTTP 添加到 mcr.microsoft.com,看起来 MS 最近在更新中错过了“s”
保罗
推荐阅读
- cmake - CMakeLists.txt:96 处的 CMake 错误(安装):安装 TARGETS 给定未知参数“NAMELINK_COMPONENT”
- git - 在 Gitahead 的原点上创建标签
- c - 在创建 for 循环时使用 if
- c# - 添加时在 CookieContainer 中操作 cookie
- python - 如何使用用户输入向我的 csv 文件添加新行
- c# - 从 HttpTrigger 函数读取 Azure IoT Hub 遥测
- jquery - 你如何创建一个数据库来保存选定的下拉列表?
- c# - 如何在 acumatica 中选择所有 itemclass
- javascript - 如何在 Node 中导出类实例?
- matlab - 如何在matlab 2016b中设置hsv彩色图像的色调和饱和度值