Под зависает в состоянии PodInitializing, когда initContainer находится в состоянии OOMKilled.
У меня есть следующая локальная среда Kubernetes:
- ОС: Red Hat Enterprise Linux версии 8.6 (Ootpa)
 - Kubernetes: 1.23.7 (один узел, сборка с помощью kubeadm)
 - Драйвер NVIDIA: 515.65.01
 - набор инструментов nvidia-container: 1.10.0-1.x86_64 (об/мин)
 - контейнер: v1.6.2
 - vcr.io/nvidia/k8s-device-plugin:v0.12.2
 
И я запускаю следующий модуль на своем сервере. Только приложение2 (initContainer2) использует графический процессор.
      initContainer1: app1
↓
initContainer2: app2 (Uses GPU)
↓
container1: app3
Когда приложение2 использует слишком много оперативной памяти и OOM отключается, модуль должен находиться в состоянии, но он зависает вPodInitializingстатус в моей среде.
      NAMESPACE     NAME       READY   STATUS            RESTARTS       AGE     IP               NODE      NOMINATED NODE   READINESS GATES
default       gpu-pod    0/1     PodInitializing   0              83m     xxx.xxx.xxx.xxx   xxxxx   <none>           <none>
Результатkubectl describe podкак следует:
      Init Containers:
  app1:
    ...
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Tue, 30 Aug 2022 10:50:38 +0900
      Finished:     Tue, 30 Aug 2022 10:50:44 +0900
      ...
app2:
    ...
    State:          Terminated
      Reason:       OOMKilled
      Exit Code:    0
      Started:      Tue, 30 Aug 2022 10:50:45 +0900
      Finished:     Tue, 30 Aug 2022 10:50:48 +0900
      ...
app3:
    ...
    State:          Waiting
      Reason:       PodInitializing
      ...
    ...
Эта проблема никогда не возникнет, если я заменю app2 другим контейнером, который не использует графический процессор, или когда я запущу app2 как отдельный контейнер (а не инициализирующий контейнер) модуля. В обоих случаях статус будет правильным.OOMKilled.
Это ошибка? Если да, есть ли обходные пути?