Как kube apiserver взаимодействует с kubelet и kube-proxy?

Меня интересует, могу ли я запустить k8s с общедоступной плоскостью управления и рабочими узлами в сети за брандмауэром (что является вариантом использования пограничного / iot-развертывания). Я считаю, что основная проблема - это связь между apiserver и kubelet / kube-proxy. Можно ли настроить его как связь только узел -> главный? Как я могу этого добиться?

Я не смог найти точную информацию, кроме этой короткой заметки, в справочнике по kubelet : HTTP endpoint: HTTP endpoint passed as a parameter on the command line. This endpoint is checked every 20 seconds (also configurable with a flag).

Для kube-proxy я не нашел никакой информации.

Я также новичок в golang, поэтому анализ исходного кода k8s пока не в моих силах. Любая помощь приветствуется :)


person Piotr Kozimor    schedule 03.03.2020    source источник


Ответы (1)


Можно ли настроить его как связь только узел -> главный? Как я могу этого добиться?

Думаю, только попытка докажет, что apiserver не должен связываться с kubelet. Однако в связи с этим: имейте в виду, что в такой настройке kubectl exec и kubectl logs больше не будут работать, потому что эти команды подключаются напрямую к порту 10254 в двоичном файле kubelet вместо того, чтобы отправлять весь этот трафик через сервер API.

Что касается kube-proxy, похоже, он использует внутрикластерный $KUBERNETES_SERVICE_HOST, который будет .1 IP-адресом Service CIDR, и будет использовать программно определяемую сеть для доступа к apiserver. Хотя есть другие конфигурации, в которых том монтируется kubeconfig с хоста, поэтому я предполагаю, что окончательный ответ будет зависеть от того, как вы установили свой кластер.

person mdaniel    schedule 04.03.2020
comment
Спасибо! Я сделал несколько тестов и смог добавить узел. Были запланированы стручки kube-proxy и calico. Kubelete отправляет статус узла в apiserver. Однако из-за неправильной конфигурации ОС происходит сбой среды выполнения контейнера, поэтому я не смог запустить какие-либо рабочие нагрузки на добавленном узле. Полный ответ скоро будет :) - person Piotr Kozimor; 08.03.2020