問題タブ [flanneld]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
51 参照

kubernetes - ポッドが kube-dns に到達できない

私はkubernetesの初心者です。kubeadm と virtualbox を使用して、1 つのマスターと 2 つのワーカー (worker1、worker2) を持つローカル クラスターをセットアップしました。コンテナ ランタイムとして containerd を選択しました。

私はネットワークの問題に直面しており、それが私を夢中にさせています。

DNS が解決されていないため、ポッドから外部アドレスに ping を実行できません

以下を使用してクラスターをセットアップしました。

スワップと SELinux は無効になっています。

フランネルを使用しています。

cat /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf

主人:

ワーカー1:

マスターから kube-dns cluster-IP に到達できます。

しかし、ワーカーからはできません:

kubernetes の dnsutils ポッド ( https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/ ) を使用していくつかのテストを行いました。

(このポッドは worker1 にデプロイされていますが、worker2 でも同じ問題が発生します)

ノード間に接続があります。ただし、異なるノード上のポッドは互いに ping できません。例:

10.244.3.2 は worker1 からのみ到達可能で、10.224.4.2 は worker2 からのみ到達可能です。

私の推測では、kube-proxy に何か問題があると思われますが、それが何であるかはわかりません。

ポッド ログにエラーが表示されません。

助言がありますか?

ありがとう

編集:

解決した

Flannel は間違ったインターフェイスを使用していました。私のノードには 3 つのネットワーク インターフェイスがあるため、--iface で正しいインターフェイスを指定しました。

また、firewalld が DNS へのリクエストをブロックしていることに気付き、その追加を解決しました ( firewalld (Kubernetes) を無効にせずに Flannel を使用するにはどうすればよいですか):