У меня есть эта версия kubeadm
[root@megatron ~]# версия kubeadm
версия kubeadm: &version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-03T13:44: 24Z", версия Go: "go1.18.1", компилятор: "gc", платформа: "linux/amd64"}
Мой докер настроен и работает правильно, и может легко и правильно загружать все необходимые изображения через прокси-сервер, который я использую.
У меня есть конфигурации прокси-сервера HTTP по всем направлениям в профиле, bashrc, среде и т. Д.
Когда я пытаюсь запустить kubeadm и получить изображения, время ожидания истекает.
I0520 10:56:32.085975 260833 version.go:186] получение версии Kubernetes по URL-адресу: https://dl.k8s.io/release/stable-1.txt
статус выхода 1
output: time="2022-05-20T10:59:03-04:00" level=fatal msg="pulling image: rpc error: code = Unknown desc = не удалось извлечь и распаковать образ \"k8s.gcr.io/ kube-apiserver: v1.24.0\: не удалось разрешить ссылку \"k8s.gcr.io/kube-apiserver:v1.24.0\": не удалось выполнить запрос: Head \"https://k8s.gcr.io /v2/kube-apiserver/manifests/v1.24.0\": наберите tcp 172.253.63.82:443: тайм-аут ввода/вывода"
, ошибка
k8s.io/kubernetes/cmd/kubeadm/app/util/runtime.(*CRIRuntime).PullImage
cmd/kubeadm/app/util/runtime/runtime.go:121
k8s.io/kubernetes/cmd/kubeadm/app/cmd.PullControlPlaneImages
cmd/kubeadm/приложение/cmd/config.go:340
k8s.io/kubernetes/cmd/kubeadm/app/cmd.newCmdConfigImagesPull.func1
cmd/kubeadm/приложение/cmd/config.go:312
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute
продавец/github.com/spf13/cobra/command.go:856
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC
продавец/github.com/spf13/cobra/command.go:974
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Команда).Выполнить
продавец/github.com/spf13/cobra/command.go:902
k8s.io/kubernetes/cmd/kubeadm/app.Run
cmd/kubeadm/приложение/kubeadm.go:50
main.main
cmd/kubeadm/kubeadm.go:25
время выполнения.main
/usr/local/go/src/runtime/proc.go:250
время выполнения.goexit
/usr/local/go/src/runtime/asm_amd64.s:1571
не удалось получить изображение "k8s.gcr.io/kube-apiserver:v1.24.0"
k8s.io/kubernetes/cmd/kubeadm/app/cmd.PullControlPlaneImages
cmd/kubeadm/приложение/cmd/config.go:341
k8s.io/kubernetes/cmd/kubeadm/app/cmd.newCmdConfigImagesPull.func1
cmd/kubeadm/приложение/cmd/config.go:312
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute
продавец/github.com/spf13/cobra/command.go:856
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC
продавец/github.com/spf13/cobra/command.go:974
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Команда).Выполнить
продавец/github.com/spf13/cobra/command.go:902
k8s.io/kubernetes/cmd/kubeadm/app.Run
cmd/kubeadm/приложение/kubeadm.go:50
main.main
cmd/kubeadm/kubeadm.go:25
время выполнения.main
/usr/local/go/src/runtime/proc.go:250
время выполнения.goexit
/usr/local/go/src/runtime/asm_amd64.s:1571
Я даже вручную вытащил нужные образы
[root@megatron ~]# список изображений конфигурации kubeadm
k8s.gcr.io/kube-apiserver:v1.24.0
k8s.gcr.io/кубе-контроллер-менеджер:v1.24.0
k8s.gcr.io/кубе-планировщик: v1.24.0
k8s.gcr.io/кубе-прокси:v1.24.0
k8s.gcr.io/пауза:3.7
k8s.gcr.io/etcd:3.5.3-0
k8s.gcr.io/coredns/coredns:v1.8.6
[root@megatron ~]# docker pull k8s.gcr.io/coredns/coredns:v1.8.6
v1.8.6: Извлечение из coredns/coredns
Дайджест: sha256:5b6ec0d6de9baaf3e92d0f66cd96a25b9edbce8716f5f15dcd1a616b3abd590e
Статус: Образ обновлен для k8s.gcr.io/coredns/coredns:v1.8.6.
k8s.gcr.io/coredns/coredns:v1.8.6
[root@мегатрон ~]#
Мне нужна помощь, чтобы понять, почему kubeadm не использует надлежащий http-прокси, что, по-видимому, имеет место при попытке получить https://dl.k8s.io/release/stable-1.txt
Нет проблем с получением этого файла, почему его не получает kubeadm?
[root@starscream ~]# wget https://dl.k8s.io/release/stable-1.txt
--20.05.2022, 11:09:46-- https://dl.k8s.io/release/stable-1.txt
Подключение к [PROXY]:8080... подключено.
Запрос прокси-сервера отправлен, ожидается ответ... 302 Временно перемещен
Расположение: https://storage.googleapis.com/kubernetes-release/release/stable-1.txt [следующий]
--20.05.2022, 11:09:47-- https://storage.googleapis.com/kubernetes-release/release/stable-1.txt
Подключение к [PROXY]:8080... подключено.
Запрос прокси-сервера отправлен, ожидается ответ... 200 OK
Длина: 7 [текст/обычный]
Сохранение в: «stable-1.txt».
стабильный-1.txt 100%[========================================= ===========================================>] 7 --. -КБ/с в 0 с
20.05.2022, 11:09:48 (331 КБ/с) — «stable-1.txt» сохранен [7/7]
Обновлять:
Посмотрев на вариант принудительной версии, я попробовал это
Образы конфигурации kubeadm pull --kubernetes-version 1.24.0 --v=5
Теперь он не пытается получить файл stable-1.txt. Я подозреваю, что упустил тот факт, что он, возможно, смог получить его независимо.
Теперь он ВСЕ ЕЩЕ пытается извлечь изображения, которые уже есть в докере.
Почему kubeadm пытается получить изображения, которые уже существуют?
I0520 12:57:24.402436 228499 kubelet.go:214] значение KubeletConfiguration.cgroupDriver пусто; установив его на «systemd»
статус выхода 1
output: time="2022-05-20T12:59:54-04:00" level=fatal msg="pulling image: rpc error: code = Unknown desc = не удалось извлечь и распаковать образ \"k8s.gcr.io/ kube-apiserver:v1.24.0\: не удалось разрешить ссылку \"k8s.gcr.io/kube-apiserver:v1.24.0\": не удалось выполнить запрос: Head \"https://k8s.gcr.io/ v2/kube-apiserver/manifests/v1.24.0\": наберите tcp 142.250.145.82:443: тайм-аут ввода/вывода"
, ошибка
То, что прокси не используется, по-прежнему не помогает. Я могу это принять, но почему kubeadm не использует существующие образы?