5.3.3.3. kuryr-cni
kuryr-cni コンテナーは、Kuryr-Kubernetes デプロイメントで、OpenShift Container Platform ノードへの Kuryr CNI スクリプトのインストールおよび設定と、ホスト上の Pod をネットワーク接続する kuryr-daemon サービスの実行の 2 つのロールを果たします。これは、Kuryr CNI スクリプトを OpenShift Container Platform ノードにインストールして設定し、ホスト上の Pod
をネットワーク化する kuryr-daemon サービスを実行するロールを担います。つまり、kuryr-cni コンテナーはすべての OpenShift Container Platform ノードで実行する必要があるため、DaemonSet
としてモデル化されます。
OpenShift Container Platform CNI は、新しい Pod が起動するか、Pod が OpenShift Container Platform ホストから削除されるたびに、Kuryr CNI スクリプトを呼び出します。このスクリプトは、ローカルの kuryr-cni のコンテナー ID を Docker API から取得して、CNI 呼び出し引数すべてを渡す Docker 実行ファイルを使用して、Kuryr CNI プラグインバイナリーを実行します。次に、このプラグインは、ローカルの HTTP ソケット経由で kuryr-daemon を呼び出し、再度すべてのパラメーターを渡します。
kuryr-daemon サービスは、このサービス用に作成された Neutron VIF に関する Pod
のアノテーションを監視します。特定の Pod
に対する CNI 要求が受信されると、デーモンのメモリーで VIF 情報がすでに認識されているか、Pod
定義にアノテーションが表示されるのを待ちます。VIF 情報を認識したら、すべてのネットワーク操作が行われます。