kubeadm を使用して Kubernets をセットアップしており、Flannel を使用してポッド ネットワークをセットアップしました。セットアップは基本的にうまくいきましたが、あらゆる種類の問題 (およびバグ) に遭遇しており、ネットワークのセットアップ プロセス (CNI やフランネルなど) に含まれるさまざまな手順をよりよく理解しようとしています。
エンドユーザー/管理者の観点から--pod-network-cidr
、いくつかのネットワーク引数を渡してkubeadm
、後で を使用して flannel のポッド構成を適用しますkubectl
。その後、Kubernetes は各ノードでフランネル ポッドを開始します。すべてが機能していると仮定すると、flannel は Kubernetes のコンテナー ネットワーク インターフェイス (CNI) を使用してポッド ネットワークをセットアップする必要があります。
このプロセスの結果として、以下を含むポッド ネットワークを取得する必要があります。
cni0
橋。flannel.x
インターフェイス。- ホストとポッド ネットワークの間でルーティングするための iptables エントリ。
次のファイルとバイナリがセットアップに関係しているようです:
kubectl
などの CNI 構成を読み取り、構成/etc/cni/net.d/10-flannel.conflist
ファイルに記述されている CNI プラグインを呼び出します。- どういうわけか
/var/lib/cni
、ネットワーク設定用の構成ファイルが含まれていると思われるフォルダーが作成されています。 - のような CNI プラグイン
/opt/cni/bin/flannel
が実行されていますが、それが何をするのかまだわかりません。
このリストに欠けているものと、(2.) がこれらのステップにどのように適合するか。はどのよう/var/lib/cni
に作成され、どのプログラムがこれを担当していますか?