Kubernetes Minikube не запускается за корпоративным прокси (Windows)

Я пытаюсь запустить миникуб за корпоративным прокси на Windows-машине. Я использую следующую команду запуска

minikube start --alsologtostderr --vm-driver="hyperv" --docker-env http_proxy=http://proxyabc.uk.sample.com:3128 --docker-env https_proxy=http://proxyabc.uk.sample.com:3128 --docker-env "NO_PROXY=localhost,127.0.0.1,192.168.211.157:8443"

версия миникуба = 0.28.0

версия kubectl = 1.9.2

Я также попытался установить переменную no proxy перед командой

set NO_PROXY="$NO_PROXY,192.168.211.158/8443"

Но каждый раз, когда я запускаю команду "minikube start", я получаю следующее сообщение

Ошибка запуска кластера: истекло время ожидания для отмены метки мастера: получение узла мини-куба: Получить https://192.168.211.155:8443/api/v1/nodes/minikube: запрещено

Я уже пробовал решения в

https://github.com/kubernetes/minikube/issues/2706 https://github.com/kubernetes/minikube/issues/2363

1 ответ

set NO_PROXY="$NO_PROXY,192.168.211.158/8443"

Эта косая черта - это не порт, а CIDR, который определяет, сколько IP-адресов следует исключить из прокси-сервера. Отдельно кажется, что вы каким-то образом включили двоеточие в тот, который предоставляется --docker-envчто я тоже считаю неправильным.

И, $NO_PROXY, Синтаксис в вашем set Команда также неверна, так как это unix-y способ ссылки на переменные окружения - вы бы хотели set NO_PROXY="%NO_PROXY%,... просто будьте осторожны, так как если у вас уже нет переменной с именем NO_PROXY, тот set расширится, чтобы прочитать set NO_PROXY=",192.168.etcetc" я не уверен, что это правильный синтаксис для этой переменной.

У меня были проблемы с моим рабочим Mac, но принципы схожи. Документация достаточно проста, чтобы заставить MiniKube указывать на корпоративный прокси-сервер, но она ожидает, что вы будете аутентифицированным пользователем. В моем случае я запускаю tinyproxy на моей локальной машине, которая прослушивает порт 8888, а затем отправляет все, что предназначено для внешнего мира, через cntlm на порт 3128. Чтобы это работало, MiniKube должен связаться с моим mac (его хостом), что достигается с адресом 10.0.2.2 примерно так:--docker-env HTTP_PROXY=http://10.0.2.2:8888 --docker-env HTTPS_PROXY=http://10.0.2.2:8888У меня также были проблемы с "x509: сертификат, подписанный неизвестным полномочным лицом" в командах вытягивания докера в миникубе, которые я решил с помощью --insecure-registry аргумент. Вся моя команда запуска minikube выглядит так, что [наконец-то] работает для меня:

minikube start --docker-env HTTP_PROXY=http://10.0.2.2:8888 --docker-env HTTPS_PROXY=http://10.0.2.2:8888 --docker-env NO_PROXY=10.0.2.2,192.168.99.100 --insecure-registry="k8s.gcr.io"
Другие вопросы по тегам