이 문서는 EVA를 실행하기 위한 Repository와 설치 자산을 준비하고, 대상 서버에 k3s·NFS CSI·NVIDIA runtime/device plugin을 설치한 뒤 GPU MIG를 설정하는 절차를 설명합니다. 명령은 EVA Deployer 저장소의 최상위 디렉터리에서 실행합니다.

1. 설치 모드와 실행 환경 준비

먼저 EVA Deployer에서 설명한 세 Repository 모드 중 하나를 정합니다. remote_repository와 local_repository에서는 다음 변수를 이후의 모든 명령에 같은 값으로 사용합니다.

repository_mode=<remote_repository|local_repository>
repository_registry=<Harbor host:port>
repository_project=eva

Harbor 주소에는 https://를 포함하지 않습니다. 다중 노드에서는 localhost:32080 대신 모든 k3s 노드와 Pod가 도달할 수 있는 Harbor hostname 또는 IP를 지정합니다.

설치 계정

설치와 배포는 eva 계정으로 실행하는 것을 권장합니다. 일부 기본 설정은 /home/eva/.aws, /home/eva/certs 경로를 기준으로 구성되어 있습니다. 다른 계정을 사용하면 AWS 인증 정보와 인증서 경로 등 관련 설정을 해당 환경에 맞게 변경해야 할 수 있습니다.

AWS 인증

ECR 이미지, S3 모델 또는 Release 자산을 인터넷 연결 환경에서 받으려면 AWS 인증을 설정합니다. cloud_repository는 대상 서버 또는 제어 서버에, remote_repository와 local_repository는 인터넷 연결 준비 서버에 설정합니다.

aws configure set aws_access_key_id <AK> --profile default
aws configure set aws_secret_access_key <SK> --profile default
aws configure set region ap-northeast-2 --profile default

Ansible 준비

cloud_repository에서는 대상 서버 또는 대상 서버에 접속 가능한 제어 서버에, remote_repository에서는 Main 서버에 Ansible을 준비합니다.

python3 -m venv .venv
source .venv/bin/activate
pip install ansible
ansible --version

완전 폐쇄망에서는 아래의 Local Harbor 준비 절차에 포함된 offline Python/Ansible 설치를 사용합니다.

2. 제한망·폐쇄망 설치 자산 준비

공통 Offline asset과 apt bundle

remote_repository 또는 local_repository에서 인터넷 연결 준비 서버는 설치 자산을 먼저 준비합니다. download_offline_assets.sh는 Docker Engine, containerd, buildx, Compose plugin과 일반 apt 의존성 .deb 파일을 install/docker/debs/에 함께 내려받습니다.

sudo -v && AWS_PROFILE=default ./install/download_offline_assets.sh

이 스크립트는 Docker 패키지와 의존성을 받기 위해 apt-get update를 수행하므로, 준비 서버에서 root 또는 비밀번호 없이 쓸 수 있는 sudo 권한이 필요합니다. 일반 사용자는 실행 전에 sudo -v로 인증합니다. 준비 서버와 Airgap 서버는 같은 Ubuntu 릴리스와 아키텍처를 사용해야 하며, 실행할 때마다 install/docker/debs/*.deb는 새 의존성 묶음으로 갱신됩니다. 다운로드 뒤 install/docker/debs/manifest.txt가 생성되었는지 확인합니다.

install/apt/debs/에는 Ansible base/NFS role에 필요한 unzip, curl, gnupg, nfs-kernel-server, nfs-common, keyutils와 일반 의존성이 들어 있습니다. 다음 OS 핵심 패키지는 bundle과 Ansible base/NFS 설치 대상에서 제외됩니다.