Не удается запустить модуль с помощью gVisor
Я пытаюсь установить надстройку gvisor в миникубе: https://github.com/kubernetes/minikube/blob/master/deploy/addons/gvisor/README.md
minikube start --container-runtime=containerd \
--docker-opt containerd=/var/run/containerd/containerd.sock
minikube addons enable gvisor
После короткого ожидания модуль gvisor запускается.
NAME READY STATUS RESTARTS AGE
pod/gvisor 1/1 Running 0 24s
Все идет нормально. Но когда я пытаюсь создать пример модуля, он застревает вContainerCreating
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 55s default-scheduler Successfully assigned default/nginx-untrusted to minikube
Warning FailedCreatePodSandBox 50s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "75807f2be807da0264c5210cba355a294bd8725ca29ea565b05685cb5fa4ddee": failed to set bridge addr: could not add IP address to "cni0": permission denied
Warning FailedCreatePodSandBox 38s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "47e315477fd91cd2a542e98f26fed5e2e758b8655c298048dcb3b2aa1cb47a49": failed to set bridge addr: could not add IP address to "cni0": permission denied
Warning FailedCreatePodSandBox 22s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "be59a5452249bec42f5400f7465de22e9c91cd35b9a492673b7215dc3097571d": failed to set bridge addr: could not add IP address to "cni0": permission denied
Warning FailedCreatePodSandBox 6s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "4fd2de889a5c685dfe590e8ed4d86b66ce3a11c28cfa02eb42835b2b3b492723": failed to set bridge addr: could not add IP address to "cni0": permission denied
Поиск того, что может быть причиной сообщения об отказе в разрешении, не дал ничего полезного. Я пробовал форсировать различные параметры CNI (мост, бязь), но это просто приводит к другим ошибкам. Если я отключу gvisor, я смогу создавать модули без каких-либо проблем, поэтому среда выполнения containerd работает нормально.
Будем признательны за любые советы о том, как отследить, откуда приходит сообщение «отказано в доступе».minikube logs
просто, похоже, повторяет одно и то же сообщение «отказано в доступе».
1 ответ
Я поднял вопрос и вот ответ:
https://github.com/google/gvisor/issues/7877#issuecomment-1226399080
containerd
обновил свой формат конфигурации (еще раз). Minikube ломается, потому что плагин пытается использовать старый формат. Позвольте мне сделать быстрое исправление... нам нужен лучший способ исправленияconfig.toml
для настройки среды выполнения. Прямо сейчас он заменяет весь файл и может потерять другие изменения конфигурации.
Короче говоря, это должно быть исправлено в следующем выпуске.