Рейтинг:0

kubeadm init не может подключиться через прокси

флаг bd

У меня есть эта версия 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 не использует существующие образы?

флаг in
Привет, Пол Арбор, добро пожаловать в S.F. Основываясь на [этом пожаре в корзине] (https://github.com/kubernetes/kubeadm/issues/324), я предполагаю, что вам, возможно, придется явно указать версию kubernetes через `--kubernetes-version $whatever_you_want`, чтобы чтобы kubeadm не пытался получить этот файл .txt. Удачи!
Paul Arbour avatar
флаг bd
Такая помойка, так огонь.
флаг in
Этот обновленный фиктивный результат связан с тем, что ваш демон docker или containerd также должен быть настроен для использования прокси; Кажется, я припоминаю, что есть `--skip-phases`, которые могут помочь вам обойти это, но на самом деле вы захотите решить настоящую проблему.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.