13.3.5. (선택 사항) RHCOS 이미지 캐시 생성
이미지 캐싱을 사용하려면 부트스트랩 VM에서 클러스터 노드를 프로비저닝하는 데 사용하는 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지를 다운로드해야 합니다. 이미지 캐싱은 선택 사항이지만 대역폭이 제한된 네트워크에서 설치 프로그램을 실행할 때 특히 유용합니다.
올바른 이미지가 릴리스 페이로드에 있으므로 설치 프로그램에 더 이상 clusterOSImage RHCOS 이미지가 필요하지 않습니다.
대역폭이 제한된 네트워크에서 설치 프로그램을 실행하고 RHCOS 이미지 다운로드가 15~20분 이상 걸리는 경우 설치 프로그램이 시간 초과됩니다. 이러한 경우 웹 서버에서 이미지를 캐시할 수 있습니다.
이미지가 포함된 컨테이너를 설치합니다.
절차
podman을 설치합니다.$ sudo dnf install -y podmanRHCOS 이미지 캐싱에 사용할 방화벽 포트
8080을 엽니다.$ sudo firewall-cmd --add-port=8080/tcp --zone=public --permanent$ sudo firewall-cmd --reloadbootstraposimage를 저장할 디렉터리를 만듭니다.$ mkdir /home/kni/rhcos_image_cache새로 생성된 디렉터리에 적절한 SELinux 컨텍스트를 설정합니다.
$ sudo semanage fcontext -a -t httpd_sys_content_t "/home/kni/rhcos_image_cache(/.*)?"$ sudo restorecon -Rv /home/kni/rhcos_image_cache/설치 프로그램이 부트스트랩 VM에 배포할 RHCOS 이미지의 URI를 가져옵니다.
$ export RHCOS_QEMU_URI=$(/usr/local/bin/openshift-baremetal-install coreos print-stream-json | jq -r --arg ARCH "$(arch)" '.architectures[$ARCH].artifacts.qemu.formats["qcow2.gz"].disk.location')설치 프로그램이 부트스트랩 VM에 배포할 이미지의 이름을 가져옵니다.
$ export RHCOS_QEMU_NAME=${RHCOS_QEMU_URI##*/}부트스트랩 VM에 배포된 RHCOS 이미지의 SHA 해시를 가져옵니다.
$ export RHCOS_QEMU_UNCOMPRESSED_SHA256=$(/usr/local/bin/openshift-baremetal-install coreos print-stream-json | jq -r --arg ARCH "$(arch)" '.architectures[$ARCH].artifacts.qemu.formats["qcow2.gz"].disk["uncompressed-sha256"]')이미지를 다운로드하여
/home/kni/rhcos_image_cache디렉터리에 배치합니다.$ curl -L ${RHCOS_QEMU_URI} -o /home/kni/rhcos_image_cache/${RHCOS_QEMU_NAME}SELinux 유형이 새 파일의
httpd_sys_content_t인지 확인합니다.$ ls -Z /home/kni/rhcos_image_cachePod를 생성합니다.
$ podman run -d --name rhcos_image_cache \1 -v /home/kni/rhcos_image_cache:/var/www/html \ -p 8080:8080/tcp \ quay.io/centos7/httpd-24-centos7:latest- 1
rhcos_image_cache라는 이름의 캐싱 웹 서버를 생성합니다. 이 Pod는 배포를 위해install-config.yaml파일에서bootstrapOSImage이미지를 제공합니다.
bootstrapOSImage구성을 생성합니다.$ export BAREMETAL_IP=$(ip addr show dev baremetal | awk '/inet /{print $2}' | cut -d"/" -f1)$ export BOOTSTRAP_OS_IMAGE="http://${BAREMETAL_IP}:8080/${RHCOS_QEMU_NAME}?sha256=${RHCOS_QEMU_UNCOMPRESSED_SHA256}"$ echo " bootstrapOSImage=${BOOTSTRAP_OS_IMAGE}"platform.baremetal아래의install-config.yaml파일에 필요한 구성을 추가합니다.platform: baremetal: bootstrapOSImage: <bootstrap_os_image>1 - 1
- &
lt;bootstrap_os_image>를$BOOTSTRAP_OS_IMAGE값으로 바꿉니다.
자세한 내용은 " install-config.yaml 파일 구성" 섹션을 참조하십시오.