我有一个有趣的情况,似乎我不能使用本地导入的图像(直接到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 管理。
仍然主要的问题是,图像被简单地忽略,即使它是存在的,我很迷失在这个问题。感谢任何帮助或想法。
1条答案
按热度按时间bxjv4tth1#
重新安装microk8s实际上解决了这个问题,从1.27.5升级到1.28.1,图像加载没有任何问题。