Ситуация понятная: containerd всё еще пытается использовать IPv6 (ошибка dial tcp [2600:...]), несмотря на наши попытки его отключить. Go-библиотеки внутри containerd часто игнорируют системные настройки sysctl, если видят IPv6-адреса в DNS-ответах.
Нужно применить «грубую силу», чтобы заставить его работать.
## 1. Исправляем конфиг containerd (самое важное)
В Альте и новых версиях containerd формат конфига зеркал изменился. Чтобы он перестал стучаться на оригинальные IP, нужно использовать формат config_path (рекомендуемый) или перепроверить текущий.
Давай попробуем полностью заменить блок реестра в /etc/containerd/config.toml на этот (найди секцию [plugins."io.containerd.grpc.v1.cri".registry] и замени всё под ней):
[plugins."io.containerd.grpc.v1.cri".registry]
config_path = ""
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
endpoint = ["https://gcr.io", "https://daocloud.io"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://daocloud.io"]
После этого:
sudo systemctl restart containerd
## 2. Если IPv6 всё еще лезет (Правка hosts)
Если зеркала не подхватываются из-за того, что резолвер первым делом выдает IPv6, мы можем временно обмануть систему.
Добавь в /etc/hosts «заглушку» для IPv6 адреса самого себя:
echo "::1 localhost ip6-localhost ip6-loopback" | sudo tee /etc/hosts# Убедись, что там нет других записей для registry.k8s.io
## 3. Попробуй скачать через другое зеркало напрямую
Иногда daocloud капризничает. Попробуй этот вариант:
sudo crictl pull docker.m.daocloud.io/google_containers/pause:3.10
Если этот образ скачается — значит, интернет и зеркало в порядке, просто containerd не понимает, что registry.k8s.io нужно перенаправлять на зеркало.
## 4. Проверь синтаксис конфига
Если ты ошибся на один пробел в .toml, секция зеркал просто игнорируется.
Выполни команду для полной перезаписи блока зеркал (через tee, чтобы не ошибиться):
sudo sed -i '/\[plugins."io.containerd.grpc.v1.cri".registry.mirrors\]/Q' /etc/containerd/config.toml
sudo tee -a /etc/containerd/config.toml <<EOF
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
endpoint = ["https://daocloud.io", "https://gcr.io"]
EOF
sudo systemctl restart containerd
Как только sudo crictl pull registry.k8s.io/pause:3.10 сработает — ты сможешь запустить init.
P.S. В твоем выводе была ошибка coredns:1.13.1 not found. Это потому, что полный путь registry.k8s.io/coredns/coredns:v1.13.1 (нужна буква v перед версией).
Попробуй применить пункт 4 и снова сделать pull. Получилось?