1

KUBEADM (CentOS 7 を実行する Intel NUC を使用した buildt) がインストールされた 3 ノードのベアメタル クラスターがあります。

マスター ノードには 2 つの異なるネットワーク インターフェイスが提供されます。1 つは外部アクセス用で、もう 1 つはクラスター ローカル ネットワークの DHCP サーバーとして構成されます。2 つのネットワーク間の 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 デプロイメントを作成し、ノードポートを介して公開しました。 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

POD の同じノード内でクラスター IP をカールさせようとすると、すべて問題ありませんが、別のノードでカールさせようとすると、カール要求のタイムアウトが発生します。

どんな助けでも本当に感謝しています。

4

1 に答える 1