У меня есть 3-узловый кластер с «голым железом», установленный с KUBEADM (сборка с Intel NUC под управлением CentOS 7).
Главный узел снабжен 2 различными сетевыми интерфейсами, один для внешнего доступа, а второй -настроен как DHCP-сервер кластерной локальной сети.Переадресация IP-адресов и маскирование между двумя сетевыми окнами включаются с помощью следующих правил iptables
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i {{lan_interface_name}} -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o {{wan_interface_name}} -j MASQUERADE
iptables -A FORWARD -i {{wan_interface_name}} -o {{lan_interface_name}} -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -i {{lan_interface_name}} -o {{wan_interface_name}} -j ACCEPT
Кроме того, я также включил переадресацию между интерфейсом Docker и интерфейсом LAN для каждого узла в кластере
iptables -I INPUT -i docker0 -j ACCEPT
iptables -t nat -A POSTROUTING -o {{lan_interface_name}} -j MASQUERADE
iptables -I FORWARD -i {{lan_interface_name}} -o docker0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -i docker0 -o {{lan_interface_name}} -j ACCEPT
Чтобы не было проблем с iptables, я включил весь трафик по умолчанию
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
Пока это /Файл etc / sysctl.conf
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1
Я следовал инструкциям kubeadm для запуска кластера с CALICO (https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/), и все, кажется, работает правильно, кроме (даже kube-DNS доступен для каждого POD в каждом узле) для предоставляемых сервисов.
Просто для тестирования я создал развертывание nginx и показал его через nodeport:
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 30m
nginx NodePort 10.96.227.49 <none> 80:31242/TCP 22m
Если я попытаюсь свернутьIP-адрес кластера в том же узле POD все в порядке, хотя, если я попытаюсь свернуть его в другой тайм-аут запроса скручивания узла.
Любая помощь будет очень признательна.