Услуги Kubernetes доступны только на хосте POD - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть 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 все в порядке, хотя, если я попытаюсь свернуть его в другой тайм-аут запроса скручивания узла.

Любая помощь будет очень признательна.

1 Ответ

0 голосов
/ 11 сентября 2018

Кубернетес и Калико делают запутанные вещи с iptables, поэтому я считаю, что у вас где-то есть конфликт или правило блокировки. Я рекомендую отключить все правила для запуска, затем установить Docker и затем ваши k8s с kubeadm.

...