Шаги ==== 1. # podsec-create-policy <ip> 2. # podsec-create-services 3. # podsec-create-imagemakeruser imagemaker 4. # podsec-create-podmanusers poduser 5. # ssh imagemaker@localhost 6. imagemaker$ U7S_KUBEVERSION=v1.28.7 podsec-k8s-save-oci out amd64 k8s-sisyphus Фактический результат ===================== Скрипт считает, что "Версия 1.28 пакетов kubernetes1.28-kubeadm kubernetes1.28-kubelet kubernetes1.28-crio cri-tools1.28 недоступна": > imagemaker$ U7S_KUBEVERSION=v1.28.7 podsec-k8s-save-oci out amd64 k8s-sisyphus > Предупреждение: команда kubeadm версии 1.28.8 уже установлена > Предупреждение: команда crio версии 1.28.4 уже установлена > Версия v1.28.7 crio совпадает с устанавливаемой > Удаление пакетов kubernetes.28-kubeadm > Установка пакетов kubernetes1.28-kubeadm kubernetes1.28-kubelet kubernetes1.28-crio cri-tools1.28 > Версия 1.28 пакетов kubernetes1.28-kubeadm kubernetes1.28-kubelet kubernetes1.28-crio cri-tools1.28 недоступна > Пытаемся установить предыдущую минорную версию 1.27 пакетов kubernetes1.27-kubeadm kubernetes1.27-crio kubernetes1.27-kubelet > Версия 1.27 пакетов kubernetes1.27-kubeadm kubernetes1.27-crio kubernetes1.27-kubelet недоступна > Пытаемся установить предыдущую минорную версию 1.26 пакетов kubernetes1.26-kubeadm kubernetes1.26-crio kubernetes1.26-kubelet > Версия 1.26 пакетов kubernetes1.26-kubeadm kubernetes1.26-crio kubernetes1.26-kubelet недоступна > Пытаемся установить предыдущую минорную версию 1.25 пакетов kubernetes1.25-kubeadm kubernetes1.25-crio kubernetes1.25-kubelet > Минорная версия kubeadm 1.25 менее 1.26 не поддерживается (Про удаление неверных версий см. https://bugzilla.altlinux.org/50041 (Некорректная обрезка версии при удалении пакетов).) Хотя эти пакеты доступны и установлены: > $ apt-cache search kubeadm > kubernetes1.22-kubeadm - Kubernetes tool for standing up clusters > kubernetes1.23-kubeadm - Kubernetes tool for standing up clusters > kubernetes1.24-kubeadm - Kubernetes tool for standing up clusters > kubernetes1.25-kubeadm - Kubernetes tool for standing up clusters > kubernetes1.26-kubeadm - Kubernetes tool for standing up clusters > kubernetes1.27-kubeadm - Kubernetes tool for standing up clusters > kubernetes1.28-kubeadm - Kubernetes tool for standing up clusters Возможно, имеется в виду отсутствие соответствующих образов на registry, так как U7S_SETAVAILABLEIMAGES=yes помогает, но тогда сообщение об ошибке должно быть другим. Ожидаемый результат =================== Успешная сборка архива с образами. Воспроизводимость ================= Воспроизводится на виртуальной машине: [sisyphus] ALT Server 10.2 x86_64 podsec-1.0.10-alt6.noarch kubernetes1.28-kubeadm-1.28.8-alt1.x86_64 kubernetes1.28-kubelet-1.28.8-alt1.x86_64 kubernetes1.28-crio-1.28.8-alt1.noarch cri-tools1.28-1.28.0-alt1.x86_64 В p10 проверяемого функционала ещё нет.
Похоже, проблема в отсутствии повышения привилегий до root, которое было добавлено ранее, но похоже теперь отсутствует. Например, при запуске: > $ U7S_SETAVAILABLEIMAGES=yes U7S_REGISTRY=registry.local U7S_PLATFORM=k8s-sisyphus U7S_KUBEVERSION=v1.26.11 kubeadm init --apiserver-advertise-address <ip> Наблюдается аналогичная проблема, а если корректно запустить эту команду от root, то операции с пакетами выполняются успешно, хоть и с ошибкой: > ... > /usr/bin/podsec-u7s-functions: строка 409: /tmp/aptget.log: Отказано в доступе > ... Уточню, что хотя kubeadm предполагается запускать только от root, podsec-k8s-* запускаются не от root. Привел пример с kubeadm лишь в качестве исследования причины ошибки.
В podsec-1.0.10-alt7.noarch выполняется проверка, что скрипт podsec-k8s-save-oci запускается от root.