Menu Close
8장. 네트워크 기반 환경에서 에지 이미지에 RHEL 배포
RHEL 설치 프로그램 그래픽 사용자 인터페이스 또는 Kickstart 파일을 사용하여 에지용 RHEL을 배포할 수 있습니다. Edge 이미지에 RHEL을 배포하는 전체 프로세스는 배포 환경이 네트워크 기반인지 또는 비 네트워크 기반인지에 따라 다릅니다.
베어 메탈에 이미지를 배포하려면 Kickstart 파일을 사용합니다.
네트워크 기반 배포
네트워크 기반 환경에서 에지 이미지에 RHEL을 배포하려면 다음과 같은 상위 수준 단계를 수행해야 합니다.
- 이미지 파일 콘텐츠를 추출합니다.
- 웹 서버 설정
- 이미지 설치
8.1. 에지 이미지 커밋을 위해 RHEL 추출
커밋을 다운로드한 후 .tar 파일을 추출하고 ref 이름과 커밋 ID를 기록해 둡니다.
다운로드한 커밋 파일은 OSTree 리포지토리가 있는 .tar
파일로 구성됩니다. OSTree 리포지토리에는 커밋과 compose.json
파일이 포함되어 있습니다.
compose.json 파일에는 "Ref"(참조 ID) 및 커밋 ID와 같은 정보가 포함된 커밋 메타데이터가 포함되어 있습니다. 커밋에는 rpm 패키지가 포함되어 있습니다.
패키지 콘텐츠를 추출하려면 다음 단계를 수행합니다.
사전 요구 사항
- Kickstart 파일을 생성하거나 기존 파일을 사용합니다.
절차
다운로드한 이미지 tar 파일을 추출합니다.
# tar xvf <UUID>-commit.tar
.tar
파일을 추출한 디렉터리로 이동합니다.compose.json
파일과 OSTree 디렉터리가 포함되어 있습니다.compose.json
파일에는 커밋 번호가 포함되어 있고 OSTree 디렉터리에는 rpm 패키지가 포함되어 있습니다.compose.json
파일을 열고 커밋 ID 번호를 기록해 둡니다. 웹 서버를 설정하려면 이 숫자가 필요합니다.jq
JSON 프로세서가 설치된 경우jq
툴을 사용하여 커밋 해시 ID를 검색할 수도 있습니다.# jq '.["ostree-commit"]' < compose.json
커밋에
rpm
패키지를 나열합니다.# rpm-ostree db list rhel/9/x86_64/edge --repo=repo
Kickstart 파일을 사용하여 RHEL 설치 프로그램을 실행합니다. 기존 파일을 사용하거나 Kickstart 생성기 도구를 사용하여 만들 수 있습니다.
Kickstart 파일에서 파일 시스템을 프로비저닝하고, 사용자를 만들고, 에지 이미지용 RHEL을 가져오고 배포하는 방법에 대한 세부 정보를 포함해야 합니다. RHEL 설치 프로그램은 설치 프로세스 중에 이 정보를 사용합니다.
다음은 Kickstart 파일 예제입니다.
lang en_US.UTF-8 keyboard us timezone Etc/UTC --isUtc text zerombr clearpart --all --initlabel autopart reboot user --name=core --group=wheel sshkey --username=core "ssh-rsa AAAA3Nza…." ostreesetup --nogpg --osname=rhel --remote=edge --url=https://mirror.example.com/repo/ --ref=rhel/9/x86_64/edge
ostreesetup
명령은 OStree 기반 설치를 설정하는 데 사용됩니다. 다음 플래그를 사용하여 OSTree 커밋을 가져옵니다.- --nogpg - GPG 키 확인을 비활성화합니다.
- --osname - OS 설치를 위한 관리 루트입니다.
- --remote - OS 설치를 위한 관리 루트
- --URL - 설치할 리포지토리의 URL입니다.
- --ref - 설치에 사용할 저장소의 분기 이름입니다.
--URL=https://mirror.example.com/repo/ 은 에지 커밋을 추출하고 nginx를 통해 제공하는 호스트 시스템의 주소입니다. 주소를 사용하여 게스트 시스템에서 호스트 시스템에 연결할 수 있습니다.
예를 들어
/var/www/html
디렉터리에서 커밋 이미지를 추출하고 호스트 이름이www.example.com
인 시스템에서 nginx를 통해 커밋을 제공하는 경우 --url 매개 변수의 값은http://www.example.com/repo
입니다.참고HTTP 프로토콜을 사용하여 Apache HTTP 서버에서 https가 활성화되어 있지 않기 때문에 커밋을 제공할 서비스를 시작합니다.