Kubernetes在离线环境中忽略导入到ctr图像的图像

uklbhaso  于 12个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(100)

我有一个有趣的情况,似乎我不能使用本地导入的图像(直接到ctr缓存)。设置是一个单节点microk8s,我已经移动并导入了所有必要的图像来启动环境。主要问题发生在我尝试使用helm设置Cilium时(helm图表也被转移)。
我可以看到图像存在于ctr ls中(检查名称空间是k8s.io):

microk8s ctr --namespace k8s.io image ls | grep cilium

quay.io/cilium/cilium:v1.11.12                                                                                  application/vnd.docker.distribution.manifest.list.v2+json sha256:67e6af41d4711bf3514ee1055b6b5b9a83b048c6224da78e7824550b3ec28940 152.9 MiB linux/amd64,linux/arm64                                                        io.cri-containerd.image=managed
quay.io/cilium/cilium:v1.14.2@sha256:6263f3a3d5d63b267b538298dbeb5ae87da3efacf09a2c620446c873ba807d35**           application/vnd.docker.distribution.manifest.list.v2+json sha256:6263f3a3d5d63b267b538298dbeb5ae87da3efacf09a2c620446c873ba807d35 174.1 MiB linux/amd64,linux/arm64                                                        io.cri-containerd.image=managed
quay.io/cilium/cilium@sha256:67e6af41d4711bf3514ee1055b6b5b9a83b048c6224da78e7824550b3ec28940                   application/vnd.docker.distribution.manifest.list.v2+json sha256:67e6af41d4711bf3514ee1055b6b5b9a83b048c6224da78e7824550b3ec28940 152.9 MiB linux/amd64,linux/arm64                                                        io.cri-containerd.image=managed
quay.io/cilium/operator-generic:v1.11.12                                                                        application/vnd.docker.distribution.manifest.list.v2+json sha256:4a036edd5afce506dc5e0ed340902c017c166f16f0a9ab37d59031f26c88a9d0 16.0 MiB  linux/amd64,linux/arm64                                                        io.cri-containerd.image=managed
quay.io/cilium/operator-generic:v1.14.2@sha256:52f70250dea22e506959439a7c4ea31b10fe8375db62f5c27ab746e3a2af866d application/vnd.docker.distribution.manifest.list.v2+json sha256:52f70250dea22e506959439a7c4ea31b10fe8375db62f5c27ab746e3a2af866d 22.5 MiB  linux/amd64,linux/arm64                                                        io.cri-containerd.image=managed
quay.io/cilium/operator-generic@sha256:4a036edd5afce506dc5e0ed340902c017c166f16f0a9ab37d59031f26c88a9d0         application/vnd.docker.distribution.manifest.list.v2+json sha256:4a036edd5afce506dc5e0ed340902c017c166f16f0a9ab37d59031f26c88a9d0 16.0 MiB  linux/amd64,linux/arm64                                                        io.cri-containerd.image=managed

字符串
然后我只是使用安装掌舵图正常

microk8s helm install -f values.yml cilium /var/tmp/microk8s/helm_charts/cilium -n kube-system


什么进展顺利,但随后纤毛荚未能被创建为:

Warning  ErrImageNeverPull  1s (x5 over 46s)  kubelet            Container image "quay.io/cilium/cilium:v1.14.2@sha256:6263f3a3d5d63b267b538298dbeb5ae87da3efacf09a2c620446c873ba807d35" is not present with pull policy of Never
  Warning  Failed             1s (x5 over 46s)  kubelet            Error: ErrImageNeverPull


我仔细检查了图像名称和摘要,它们在节点上加载的内容和错误显示的内容之间匹配。我已经将映像拉取策略设置为never,因为这是一个离线环境,我没有本地注册表。虽然可以启动内置的microk8s注册表进行引导,但我不确定它是否会工作,因为我正在更改CNI。我知道在microk8s上Cilium可以通过插件来部署,但这只是模板和应用一个旧的 Helm 图表,使可扩展性成为一个问题。我非常喜欢通过 Helm 管理。
仍然主要的问题是,图像被简单地忽略,即使它是存在的,我很迷失在这个问题。感谢任何帮助或想法。

bxjv4tth

bxjv4tth1#

重新安装microk8s实际上解决了这个问题,从1.27.5升级到1.28.1,图像加载没有任何问题。

相关问题