Я создал кластер, используя kudeadm и все работает нормально до тех пор, пока я не пытаюсь настроить правила брандмауэра, такие как разрешение только 10.0.0.0/8 трафик. Это каким-то образом отключает мой модуль VPN (Wireguard) для подключения к Kubernetes. куб-dns с моей локальной машины. Происходит какая-то черная магия, которая выше моей зарплаты.
Если я разрешаю весь трафик со всех общедоступных IP-адресов в кластере, все снова работает нормально. Так что я думаю, что это потому, что kube-прокси использует только эти общедоступные IP-адреса и каким-то образом проксирует соединения через них. Решением этого будет принудительное кубелет и kube-прокси использовать только частные IP-адреса экземпляров (10.0.0.0/8).
Я пытался:
- Параметр
кубелетх --node-ip (видеть здесь). кубелет Затем процесс запускается с этой опцией и устанавливает некоторую аннотацию на этом узле (например, alpha.kubernetes.io/provided-node-ip: 10.0.3.1), но IP-адрес kube-прокси pod не меняется (после перезагрузки). Кто-то сказал, что Kubernetes берет IP-адрес, указанный облачным провайдером (см. здесь), если он предоставлен, но мой облачный провайдер этого не делает (см. здесь). я также использовал сброс кубеадм и позвольте узлу воссоединиться, просто чтобы убедиться.
- Параметр
адрес привязки в kube-прокси ConfigMap также не имеет никакого эффекта. Я установил там IP узла и перезапустил его kube-прокси чтобы проверить это. Нет эффекта. Не нашел способа настроить это на диске самой ноды, т.к. kube-прокси использует только ConfigMap kube-прокси как объем.
Может быть интересно:
- Версия Кубернета: 1.24
- Облачный провайдер: Hetzner
Спасибо за любую помощь!