전제 조건
전용 Linux 평가 호스트를 사용하세요. 공용 자체 호스팅 배포에는 KVM 및 libvirt에 대한 관리 액세스 권한이 있으므로 프로덕션 하이퍼바이저에서 시작하거나 신뢰할 수 없는 네트워크에 노출하지 마십시오.
호스트 요구 사항
| 요구사항 | 검증 |
|---|---|
| KVM 지원 Linux 호스트 | test -e /dev/kvm |
| libvirt 데몬 실행 | virsh -c qemu:///system list --all |
| Compose v2를 사용한 Docker | docker compose version |
| 호스트 이미지 디렉토리 | /var/lib/libvirt/images이 존재하며 공간이 충분합니다 |
| 소스-ISO 디렉토리 | /opt/openfactory/iso이 존재하거나 명시적인 호스트 경로를 설정 |
| 프로모션 이미지 디렉토리 | 설치 프로그램 전용 이미지를 사용하는 경우 /var/lib/libvirt/images/.openfactory-golden이 존재합니다 |
| 여유 용량 | 컨테이너와 모든 동시 게스트를 위한 충분한 CPU, 메모리 및 디스크 |
설치된 QCOW2를 불변 골든 이미지 경로로 승격시키는 경우 호스트에도 qemu-img가 필요합니다.
접속 확인
운영자가 Docker를 사용할 수 있고 Docker 데몬이 libvirt 소켓과 /dev/kvm을 마운트할 수 있는지 확인하세요. 일반적인 KVM 권한 복구는 다음과 같습니다.
sudo usermod -aG kvm "$USER"다시 테스트하기 전에 로그아웃했다가 다시 로그인하세요. /dev/kvm 또는 libvirt 소켓을 모두 쓰기 가능하게 만들어 권한 실패를 해결하지 마세요.
네트워크 및 보안 결정
시작하기 전에 호스트 포트 80에 연결할 수 있는 사람을 결정합니다. 기본 Compose 파일에는 TLS 종료가 없으며 신뢰할 수 있는 평가 네트워크용입니다. 호스트 방화벽에서 포트를 바인딩하거나 필터링합니다. 인터넷에 공개하지 마세요.
또한 결정하십시오:
- 이미지를 업로드하거나 실행할 수 있는 운영자
- 평가 데이터가 이후에 어떻게 제거될지;
- 게스트 네트워크가 호스트, 로컬 네트워크 또는 인터넷에 도달할 수 있는지 여부
- 사용이 허가되고 승인된 소스 ISO 및 골든 이미지.
기록할 입력
평가 중인 Git 커밋, 호스트 배포, Docker 버전, libvirt/QEMU 버전, 선택한 디렉터리, 사용 가능한 용량 및 네트워크 노출을 기록합니다. 이러한 사실은 실패를 재현 가능하게 만들고 평가 결과가 다른 호스트의 자격으로 오인되는 것을 방지합니다.