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
AppArmor 서비스가 실행되지 않는 상태에서 NSX-T CNI 플러그인을 설치하면 설치가 완료될 때 다음 메시지가 표시됩니다.
    subprocess installed post-installation script returned error exit status 1

이 메시지는 AppArmor 프로파일을 로드하는 단계를 제외하고 모든 설치 단계가 완료되었음을 나타냅니다.

ncp-apparmor 프로파일 파일에 포함된 NSX 노드 에이전트용 AppArmor 프로파일인 node-agent-apparmor는 다음과 같은 점에서 docker-default 프로파일과 다릅니다.

  • deny mount 규칙이 제거되었습니다.
  • mount 규칙이 추가되었습니다.
  • 일부 network, capability, fileumount 옵션이 추가되었습니다.
node-agent-apparmor 프로파일을 다른 프로파일로 바꿀 수 있습니다. 그러나 프로파일 이름 node-agent-apparmor는 NSX 노드 에이전트의 설치에 사용되는 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도 설치합니다.