4

Kubernetes クラスターがあり、オーバーレイ ネットワークに Flannel を使用しています。それは(実際にはほぼ1年間)正常に機能しており、サービスを2つのポートを持つように変更したところ、突然、以前は機能していて編集しなかったまったく別のサービスについてこれを取得しました。

<Timestamp> <host> flanneld[873]: I0407 18:36:51.705743 00873 vxlan.go:345] L3 miss: <Service's IP>
<Timestamp> <host> flanneld[873]: I0407 18:36:51.705865 00873 vxlan.go:349] Route for <Service's IP> not found 

これには共通の原因がありますか?私は Kubernetes 1.0.X と Flannel 0.5.5 を使用していますが、この問題が発生しているのは 1 つのノードだけであり、残りのノードは問題ありません。不良ノードの kube-proxy も、サービスのエンドポイントが見つからないと言っています。

4

1 に答える 1

4

flannel はサブネット構成を変更することがあります... IP と MTUcat /run/flannel/subnet.envが一致しない場合ps aux | grep docker(またはcat /etc/default/docker)、これを確認できます... その場合、新しい flannel 構成を使用するように docker を再構成する必要があります。

まず、docker ネットワーク インターフェイスを削除する必要があります。

sudo ip link set dev docker0 down
sudo brctl delbr docker0

次に、新しい flannel 構成を使用するように docker を再構成する必要があります。
注: 場合によっては、この手順を手動で行う必要があります (つまり、 /run/flannel/subnet.env の内容を読み取ってから変更し/etc/default/dockerます) 。

source /run/flannel/subnet.env

echo DOCKER_OPTS=\"-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}\" > /etc/default/docker

最後に、ドッカーを再起動します

sudo service docker restart
于 2016-04-08T00:57:30.293 に答える