NSX-T Data Center CNI 插件必须安装在 Kubernetes 节点上。

对于 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 配置文件为 NSX 节点代理(称为 node-agent-apparmor)提供 AppArmor 配置文件,这与 docker-default 配置文件在以下方面有所不同:

  • 移除了 deny mount 规则。
  • 添加了 mount 规则。
  • 添加了一些 networkcapabilityfileumount 选项。
您可以使用不同的配置文件替换 node-agent-apparmor 配置文件。但是,安装 NSX 节点代理时使用的文件 nsx-node-agent-ds.yml 中引用了配置文件名称 node-agent-apparmor。如果您使用其他配置文件,则必须在 nsx-node-agent-ds.ymlspec: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.rpmnsx-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 配置文件。