是否可以在 Kubernetes 静态 pod 中运行 init 容器?

是否可以在 Kubernetes 静态 pod 中运行 init 容器?

我在 1.21.5 Kubernetes 集群中运行一个静态 pod,如下所示本指南

我现在尝试使用通常的语法将一个 init 容器添加到我的静态 pod 清单中

initContainers:
  - name: debug
    image: gcr.io/my-image
    command:
    - ...

不幸的是,使用 crictl 和 kubectl 时,我发现我的静态 pod 启动正常,但是日志中、crictl 中以及 kubectl 中的 pod 容器计数中都没有 init 容器。

静态 pod 是否支持 init 容器?

谢谢你!

答案1

我尝试复制此场景,但是使用您的图像时出现错误:图像拉回,但是当我使用 nginx 图像时,我已成功创建了初始化容器。

部署之前请检查图像中是否存在错误。

这是我使用过的 yaml 文件。

apiVersion: v1

kind: Pod

metadata:

 name: static-web

 labels:

   role: myrole

spec:

 containers:

   - name: web

     image: nginx

     ports:

       - name: web

         containerPort: 80

         protocol: TCP

 initContainers:
  
   - name: debug
    
     image: nginx

创建 Pod 后,尝试使用此命令kubectl describe -f <nameofyamlfile>.yaml

在此处输入图片描述

在上面的屏幕截图中,您可以看到容器的错误或状态。

有关示例代码和验证,请按照 初始化容器

相关内容