

# 컨테이너에 EFA 소프트웨어 설치
<a name="efa-installer-containers"></a>

이 섹션에서는 컨테이너화된 환경에서 EFA 설치 프로그램을 사용하는 방법을 다룹니다. Dockerfile에 명령을 추가하거나 실행 중인 컨테이너의 쉘에서 직접 실행하여 EFA 소프트웨어를 설치할 수 있습니다.

**쉘 명령을 사용하여 컨테이너에 EFA 소프트웨어를 설치하려면**

1. 운영 체제 패키지를 업데이트합니다. 이 단계에서는 최신 패키지가 있는지 확인합니다.
   + Debian 기반 운영 체제의 경우:

     ```
     apt-get update && apt-get upgrade -y
     ```
   + RHEL 기반 운영 체제의 경우:

     ```
     yum update -y
     ```

1. EFA 설치 프로그램을 다운로드합니다. 최신 EFA 설치 프로그램을 사용하는 것이 좋습니다. 최신 버전에 대한 자세한 내용은 [Elastic Fabric Adapter 릴리스 정보](efa-changelog.md)를 참조하세요.

   ```
   mkdir /tmp/efa \
   && cd /tmp/efa \
   && curl -O https://efa-installer.amazonaws.com/aws-efa-installer-{{version}}.tar.gz
   ```

   (선택 사항) EFA 설치 프로그램 패키지의 서명을 확인합니다.

   ```
   wget https://efa-installer.amazonaws.com/aws-efa-installer.key \
   && gpg --import aws-efa-installer.key \
   && cat aws-efa-installer.key | gpg --fingerprint \
   && wget https://efa-installer.amazonaws.com/aws-efa-installer-{{version}}.tar.gz.sig \
   && gpg --verify ./aws-efa-installer-{{version}}.tar.gz.sig
   ```

1. EFA 소프트웨어를 설치합니다. 다음 명령에 사용할 수 있는 인수는 다음과 같습니다.
   + `--skip-kmod` — 커널 모듈 설치를 건너뜁니다. 컨테이너 환경은 커널 모듈을 수정할 수 없습니다.
   + `--skip-limit-conf` — 제한 구성을 건너뜁니다. 컨테이너 내부에서는 `ulimit`를 설정할 수 없습니다. 대신 컨테이너 생성의 일부로 구성합니다.
   + `--no-verify` — EFA 디바이스 감지를 건너뜁니다. 디바이스 감지는 컨테이너화된 환경에서 작동하지 않는 `lspci`를 사용합니다.

   ```
   tar -xf aws-efa-installer-{{version}}.tar.gz \
   && cd aws-efa-installer \
   && ./efa_installer.sh -y --skip-kmod --skip-limit-conf --no-verify
   ```
**참고**  
NGC 컨테이너의 경우, EFA 설치 프로그램 버전 1.49.0 이상에서는 위의 플래그 3개 대신 `--enable-ngc` 플래그를 사용할 수 있습니다. 이 플래그는 모든 컨테이너별 구성을 자동으로 처리합니다.  

   ```
   ./efa_installer.sh -y --enable-ngc
   ```

1. 임시 설치 파일을 정리합니다.

   ```
   rm -rf /tmp/efa
   ```