Kubernetes ノードに NSX-T Data Center CNI プラグインをインストールする必要があります。

Ubuntu の場合、NSX-T CNI プラグインをインストールすると、AppArmor プロファイル ファイル ncp-apparmor/etc/apparmor.d にコピーされ、ロードされます。インストールの前に、AppArmor サービスが実行されており、 /etc/apparmor.d ディレクトリを作成しておく必要があります。これを行わないと、インストールは失敗します。次のコマンドで、AppArmor モジュールが有効かどうかを確認できます。
    sudo cat /sys/module/apparmor/parameters/enabled
次のコマンドで、AppArmor サービスが開始されているかどうかを確認できます。
    sudo /etc/init.d/apparmor status
NSX-T CNI プラグインのインストール時に AppArmor サービスを実行していない場合、インストールが終了するとメッセージが表示されます。
    subprocess installed post-installation script returned error exit status 1

このメッセージには、AppArmor プロファイルのロードを除いて、すべてのインストール手順が完了したことを示されます。

ncp-apparmor プロファイル ファイルは、node-agent-apparmor と呼ばれる NSX Node Agent 用の AppArmor プロファイルを提供します。これは、docker-default プロファイルとは次の点で異なります。

  • deny mountルールが削除されている。
  • mountルールが追加されている。
  • いくつかの networkcapabilityfile、および umount オプションが追加されている。
node-agent-apparmorプロファイルは、別のプロファイルに置き換えることができます。ただし、プロファイル名「 node-agent-apparmor 」は、NSX Node Agent のインストールに使用する nsx-node-agent-ds.yml ファイルで参照されます。別のプロファイルを使用する場合は、 nsx-node-agent-ds.yml のセクション spec:template:metadata:annotations にある次のエントリでプロファイル名を指定する必要があります。
    container.apparmor.security.beta.kubernetes.io/<container-name>: localhost/<profile-name>

手順

  1. Linux ディストリビューション用の、適切なインストール ファイルをダウンロードします。
    ファイル名は nsx-cni-1.0.0.0.0.xxxxxxx-1.x86_64.rpm または nsx-cni-1.0.0.0.0.xxxxxxx.deb です。 xxxxxxx はビルド番号です。
  2. 手順 1 でダウンロードした rpm または deb ファイルをインストールします。
    プラグインが /opt/cni/bin にインストールされます。CNI 構成ファイル 10-nsx.conf が /etc/cni/net.d にコピーされます。rpm は、ループバック プラグインの構成ファイル /etc/cni/net.d/99-loopback.conf もインストールします。