Kubernetes pod部署需要在工作前重新启动,因为镜像需要很长时间才能拉动



我定义了一个pod yml,类似

apiVersion: v1
kind: Pod
metadata:
name: my-thing
spec:
containers:
- name: web
image: some-image

没有istio或注射容器。然后我尝试创建这个资源。

如果图像需要很长的时间,则超过2分钟。然后,在描述pod时,它说它成功地提取了图像,但随后挂了一段时间,然后说(对我来说毫无意义("错误:超过了上下文截止日期",有趣的是,没有上下文说明"上下文"是什么,结果失败了。

吊舱随后尝试击退,几秒钟后失败,然后挂起并再次"错误:上下文截止日期已超过"。最终,pod由于"未能保留容器名称"而失败,在重新启动后,它会在几秒钟内提取图像并启动。

如果图像最初在2分钟内完成,则没有问题。只要需要足够长的时间来拉动,任何图像都会发生这种情况。我的docker注册表是gcr,我的kubernetes提供者是gke。

我怎样才能知道"错误:超过上下文截止日期"的实际含义?总的来说,这里的问题可能是什么?

我遇到了这个长期存在的containerd问题https://github.com/containerd/containerd/issues/4604

节点本身并没有抱怨磁盘压力,但我确实认为磁盘IO看起来有点高,在采取一些措施减少磁盘IO后,问题得到了解决。

最新更新