Как настроить IP-адрес привязки kube-прокси? - PullRequest
0 голосов
/ 30 января 2019

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

Я думаю, что настройка kube-proxy - это путь.Я сделал следующее

kubeadm config view > ~/cluster.yaml
# edit proxy bind address
vi ~/cluster.yaml
kubeadm reset
rm -rf /data/minikube
kubeadm init --config cluster.yaml

После выполнения netstat -ln | grep 8443 я вижу tcp 0 0 :::8443 :::* LISTEN, что означает, что он не принимал IP.

Я также пытался kubeadm init --apiserver-advertise-address 127.0.0.1, но это только меняетрекламируемый адрес до 10.xxx в kubeadm config view.Я чувствую, что это, вероятно, неправильно в любом случаеЯ не хочу, чтобы сервер API был недоступен для других контейнеров докеров, которым требуется доступ к нему или что-то в этом роде.

Я также попытался сделать это kubeadm config upload from-file --config ~/cluster.yaml, а затем попытаться вручную перезапустить докер, на котором запущен kube-прокси.Также попытался перезагрузить компьютер / кластер после изменения конфигурации kubeadm, но не смог понять это.При перезагрузке виртуальной машины minikube вручную команда kubeadm исчезает, и даже не запускается докер.Различные онлайн-методы перезапуска вещей, похоже, тоже не работают (возможно, просто делают это неправильно).

Также пытался редактировать конфигурационный файл докера kube-proxy (привязанный к локальному каталогу), но он перезаписывается при перезапускедокерЯ не понимаю.

В панели управления kubernetes нет ничего, что позволяло бы мне также редактировать конфигурационный файл kube-proxy (так как он является демоном).

В конечном счете, я хочу использоватьпрокси-сервер, прошедший аутентификацию и расположенный напротив мастера k8s (в частности, apiserver).Прямой доступ к мастеру k8s извне виртуальной машины не будет работать.

Спасибо

1 Ответ

0 голосов
/ 30 января 2019

вы можете ограничить его через конфигурацию локальной сети.(Брандмауэр, Маршруты) Насколько я знаю, API должен быть доступен, по крайней мере, через локальную сеть, где находятся другие узлы. За исключением того, что вы хотите иметь один кластер "узел".

Итакесли у вас нет другой сетевой карты, где вы могли бы рекламировать или привязать адрес, вам нужно ограничить ее тогда вышеупомянутыми правилами брандмауэра или маршрутизации.

По теме вашего первоначального вопроса, не так ли?заглянуть в этот вопрос?https://github.com/kubernetes/kubernetes/issues/39586

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...