Bug 59616 - Скрипт _kubelet.sh использует удалённый флаг --pod-infra-container-image
Summary: Скрипт _kubelet.sh использует удалённый флаг --pod-infra-container-image
Status: NEW
Alias: None
Product: Branch p11
Classification: Unclassified
Component: podsec-k8s (show other bugs)
Version: unspecified
Hardware: x86_64 Linux
: P5 normal
Assignee: ALexey Kostarev
QA Contact: qa-p11@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-06-23 14:58 MSK by Лавренко Егор Сергеевич
Modified: 2026-06-23 14:58 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Лавренко Егор Сергеевич 2026-06-23 14:58:06 MSK
Проверялось на системах:
Alt Server 11.1 x86-64

Версия пакета:
podsec-1.3.0-alt2

Описание проблемы:
Скрипт /usr/libexec/podsec/u7s/bin/_kubelet.sh, вызываемый при запуске kubelet в rootless-режиме, передаёт kubelet флаг --pod-infra-container-image=<image>. 

Начиная с Kubernetes 1.35 этот флаг полностью удалён из кода kubelet (см. https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.35.md#urgent-upgrade-notes). В результате kubelet отказывается стартовать с ошибкой unknown flag: --pod-infra-container-image, и все поды на узле не могут быть запущены.

Шаги воспроизведения:
1. Выполнить настройку master:
# sed -i '/swap/d' /etc/fstab
# hostnamectl set-hostname podsec-master
# reboot
2. Установить пакеты:
# apt-get install podsec podsec-k8s
3. Добавить в переменную PATH путь до утилит Podsec:
# export PATH=/usr/libexec/podsec/u7s/bin/:$PATH && which kubeadm
4. Добавить следующие переменные (последний доступный манифест flannel для podsec в /etc/podsec/u7s/manifests/kube-flannel/):
# export U7S_KUBEVERSION=v1.35.0 && export U7S_FLANNEL_TAG=v0.27.3
5. Выполнить инициализацию кластера:
# kubeadm init --apiserver-advertise-address $(hostname -i | cut -d' ' -f2)

Ожидаемый результат:
Кластер корректно развернулся

Реальный результат:
# machinectl shell u7s-admin@ /bin/bash
$ journalctl --user -u kubelet.service -n 100 --no-pager
...
июн 23 14:06:44 podsec-master kubelet[3075]: /usr/libexec/podsec/u7s/bin/_kubelet.sh: TIME=14:06:44.100253655 UID=0 PID=2552 PARS=
июн 23 14:06:44 podsec-master kubelet[3093]: Flag --container-runtime-endpoint has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.
июн 23 14:06:44 podsec-master kubelet[3093]: E0623 14:06:44.282090     383 run.go:72] "command failed" err="failed to parse kubelet flag: unknown flag: --pod-infra-container-image"
июн 23 14:06:44 podsec-master systemd[2508]: kubelet.service: Main process exited, code=exited, status=1/FAILURE
июн 23 14:06:44 podsec-master systemd[2508]: kubelet.service: Failed with result 'exit-code'.

Дополнительно:
1. Не удается воспроизвести на Sisyphus, поскольку инициализация кластера блокируется:
...
Настройка использования образа registry.altlinux.org/sisyphus/pause:3.10.1 при запуска pod'ов в podman (podman pod init)
Failed to connect to user scope bus via local transport: Нет такого файла или каталога
Failed to connect to user scope bus via local transport: Нет такого файла или каталога
Failed to connect to user scope bus via local transport: Нет такого файла или каталога
...
2. Ошибка исправляется, если предварительно удалить флаг --pod-infra-container-image из скрипта /usr/libexec/podsec/u7s/bin/_kubelet.sh