16.3. 이미지 기반 설치를 사용하여 단일 노드 OpenShift 사전 설치


openshift-install 프로그램을 사용하여 베어 메탈 호스트에 단일 노드 OpenShift를 사전 설치하기 위한 라이브 설치 ISO를 만듭니다. 설치 프로그램을 다운로드하는 방법에 대한 자세한 내용은 "추가 리소스" 섹션의 "설치 프로세스"를 참조하십시오.

설치 프로그램은 시드 이미지 URL과 시드 이미지의 릴리스 버전, 설치 프로세스에 사용할 디스크 등의 기타 입력을 받아서 라이브 설치 ISO를 만듭니다. 그런 다음 라이브 설치 ISO를 사용하여 호스트를 시작하여 사전 설치를 시작할 수 있습니다. 사전 설치가 완료되면 호스트는 최종 사이트별 구성 및 배포를 위해 원격 사이트로 배송될 준비가 됩니다.

이미지 기반 설치를 사용하여 단일 노드 OpenShift 클러스터를 사전 설치하는 간단한 단계는 다음과 같습니다.

  • 시드 이미지를 생성합니다.
  • openshift-install 설치 프로그램을 사용하여 라이브 설치 ISO를 만듭니다.
  • 호스트를 사전 설치하려면 라이브 설치 ISO를 사용하여 호스트를 부팅합니다.

openshift-install 프로그램을 사용하면 단일 노드 OpenShift 시드 이미지 URL과 기타 설치 아티팩트를 라이브 설치 ISO에 내장할 수 있습니다.

참고

image-based-installation-config.yaml 매니페스트 사양에 대한 자세한 내용은 " image-based-installation-config.yaml 매니페스트에 대한 참조 사양" 섹션을 참조하세요.

사전 요구 사항

  • 단일 노드 OpenShift 시드 클러스터에서 시드 이미지를 생성했습니다.
  • openshift-install 프로그램을 다운로드했습니다. openshift-install 프로그램의 버전은 시드 이미지의 OpenShift Container Platform 버전과 일치해야 합니다.
  • 대상 호스트는 시드 이미지 URL과 다른 모든 설치 아티팩트에 대한 네트워크 액세스 권한을 갖습니다.
  • 정적 네트워킹이 필요한 경우 라이브 설치 ISO를 만드는 호스트에 nmstatectl 라이브러리를 설치해야 합니다.

프로세스

  1. 라이브 설치 ISO를 만들고 단일 노드 OpenShift 시드 이미지 URL과 기타 설치 아티팩트를 포함합니다.

    1. 다음을 실행하여 작업 디렉토리를 만듭니다.

      $ mkdir ibi-iso-workdir 
      1
      Copy to Clipboard Toggle word wrap
      1
      ibi-iso-workdir을 작업 디렉토리의 이름으로 바꾸세요.
    2. 선택 사항입니다. ImageBasedInstallationConfig 리소스를 구성할 때 참조로 사용할 설치 구성 템플릿을 만듭니다.

      $ openshift-install image-based create image-config-template --dir ibi-iso-workdir 
      1
      Copy to Clipboard Toggle word wrap
      1
      작업 디렉토리를 지정하지 않으면 명령은 현재 디렉토리를 사용합니다.

      출력 예

      INFO Image-Config-Template created in: ibi-iso-workdir
      Copy to Clipboard Toggle word wrap

      이 명령은 대상 디렉토리에 image-based-installation-config.yaml 설치 구성 템플릿을 생성합니다.

      #
      # Note: This is a sample ImageBasedInstallationConfig file showing
      # which fields are available to aid you in creating your
      # own image-based-installation-config.yaml file.
      #
      apiVersion: v1beta1
      kind: ImageBasedInstallationConfig
      metadata:
        name: example-image-based-installation-config
      # The following fields are required
      seedImage: quay.io/openshift-kni/seed-image:4.19.0
      seedVersion: 4.19.0
      installationDisk: /dev/vda
      pullSecret: '<your_pull_secret>'
      # networkConfig is optional and contains the network configuration for the host in NMState format.
      # See https://nmstate.io/examples.html for examples.
      # networkConfig:
      #   interfaces:
      #     - name: eth0
      #       type: ethernet
      #       state: up
      #       mac-address: 00:00:00:00:00:00
      #       ipv4:
      #         enabled: true
      #         address:
      #           - ip: 192.168.122.2
      #             prefix-length: 23
      #         dhcp: false
      Copy to Clipboard Toggle word wrap
    3. 설치 구성 파일을 편집하세요.

      image-based-installation-config.yaml 파일 예시

      apiVersion: v1beta1
      kind: ImageBasedInstallationConfig
      metadata:
        name: example-image-based-installation-config
      seedImage: quay.io/repo-id/seed:latest
      seedVersion: "4.19.0"
      extraPartitionStart: "-240G"
      installationDisk: /dev/disk/by-id/wwn-0x62c...
      sshKey: 'ssh-ed25519 AAAA...'
      pullSecret: '{"auths": ...}'
      networkConfig:
          interfaces:
            - name: ens1f0
              type: ethernet
              state: up
              ipv4:
                enabled: true
                dhcp: false
                auto-dns: false
                address:
                  - ip: 192.168.200.25
                    prefix-length: 24
              ipv6:
                enabled: false
          dns-resolver:
            config:
              server:
                - 192.168.15.47
                - 192.168.15.48
          routes:
            config:
            - destination: 0.0.0.0/0
              metric: 150
              next-hop-address: 192.168.200.254
              next-hop-interface: ens1f0
      Copy to Clipboard Toggle word wrap

    4. 다음 명령을 실행하여 라이브 설치 ISO를 만듭니다.

      $ openshift-install image-based create image --dir ibi-iso-workdir
      Copy to Clipboard Toggle word wrap

      출력 예

      INFO Consuming Image-based Installation ISO Config from target directory
      INFO Creating Image-based Installation ISO with embedded ignition
      Copy to Clipboard Toggle word wrap

검증

  • 작업 디렉토리에서 출력을 확인하세요.

    ibi-iso-workdir/
      └── rhcos-ibi.iso
    Copy to Clipboard Toggle word wrap

16.3.1.1. 대상 호스트에 추가 파티션 구성

설치 ISO는 이미지 기반 설치 프로세스의 일부로 /var/lib/containers 디렉토리에 대한 파티션을 만듭니다.

coreosInstallerArgs 사양을 사용하여 추가 파티션을 만들 수 있습니다. 예를 들어, 충분한 저장 공간이 있는 하드 디스크의 경우 LVM(Logical Volume Manager) 스토리지와 같은 저장 옵션을 위한 추가 파티션이 필요할 수 있습니다.

참고

/var/lib/containers 파티션에는 사전 캐시된 이미지에 대한 충분한 디스크 공간을 확보하기 위해 최소 500GB가 필요합니다. /var/lib/containers 파티션보다 큰 시작 위치로 추가 파티션을 만들어야 합니다.

프로세스

  1. image-based-installation-config.yaml 파일을 편집하여 추가 파티션을 구성합니다.

    image-based-installation-config.yaml 파일 예시

    apiVersion: v1beta1
    kind: ImageBasedInstallationConfig
    metadata:
      name: example-extra-partition
    seedImage: quay.io/repo-id/seed:latest
    seedVersion: "4.19.0"
    installationDisk: /dev/sda
    pullSecret: '{"auths": ...}'
    # ...
    skipDiskCleanup: true 
    1
    
    coreosInstallerArgs:
       - "--save-partindex" 
    2
    
       - "6" 
    3
    
    ignitionConfigOverride: |
      {
        "ignition": {
          "version": "3.2.0"
        },
        "storage": {
          "disks": [
            {
              "device": "/dev/sda", 
    4
    
              "partitions": [
                {
                  "label": "storage", 
    5
    
                  "number": 6, 
    6
    
                  "sizeMiB": 380000, 
    7
    
                  "startMiB": 500000 
    8
    
                }
              ]
            }
          ]
        }
      }
    Copy to Clipboard Toggle word wrap

    1
    설치 프로세스 중에 디스크 형식을 건너뛰려면 true 를 지정합니다.
    2
    파티션을 보존하려면 이 인수를 지정하세요.
    3
    라이브 설치 ISO에는 5개의 파티션이 필요합니다. 보존할 추가 파티션을 식별하려면 5보다 큰 숫자를 지정합니다.
    4
    대상 호스트에 설치 디스크를 지정합니다.
    5
    파티션의 레이블을 지정합니다.
    6
    파티션의 번호를 지정합니다.
    7
    파티션 크기를 MiB 단위로 지정합니다.
    8
    추가 파티션에 대한 디스크의 시작 위치를 MiB 단위로 지정합니다. var/lib/containers 의 파티션보다 큰 시작점을 지정해야 합니다.

검증

  • 라이브 설치 ISO로 호스트의 사전 설치를 완료하면 대상 호스트에 로그인하고 다음 명령을 실행하여 파티션을 확인합니다.

    $ lsblk
    Copy to Clipboard Toggle word wrap

    출력 예

    sda    8:0    0  140G  0 disk
    ├─sda1 8:1    0    1M  0 part
    ├─sda2 8:2    0  127M  0 part
    ├─sda3 8:3    0  384M  0 part /var/mnt/boot
    ├─sda4 8:4    0  120G  0 part /var/mnt
    ├─sda5 8:5    0  500G  0 part /var/lib/containers
    └─sda6 8:6    0  380G  0 part
    Copy to Clipboard Toggle word wrap

16.3.2. 호스트에 라이브 설치 ISO 프로비저닝

원하는 방법을 사용하여 rhcos-ibi.iso 라이브 설치 ISO에서 대상 베어 메탈 호스트를 부팅하여 단일 노드 OpenShift를 사전 설치합니다.

검증

  1. 대상 호스트에 로그인합니다.
  2. 다음 명령을 실행하여 시스템 로그를 확인하세요.

    $ journalctl -b
    Copy to Clipboard Toggle word wrap

    출력 예

    Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="All the precaching threads have finished."
    Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Total Images: 125"
    Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Images Pulled Successfully: 125"
    Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Images Failed to Pull: 0"
    Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Completed executing pre-caching"
    Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Pre-cached images successfully."
    Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13 17:01:44" level=info msg="Skipping shutdown"
    Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13 17:01:44" level=info msg="IBI preparation process finished successfully!"
    Aug 13 17:01:44 10.46.26.129 systemd[1]: var-lib-containers-storage-overlay.mount: Deactivated successfully.
    Aug 13 17:01:44 10.46.26.129 systemd[1]: Finished SNO Image-based Installation.
    Aug 13 17:01:44 10.46.26.129 systemd[1]: Reached target Multi-User System.
    Aug 13 17:01:44 10.46.26.129 systemd[1]: Reached target Graphical Interface.
    Copy to Clipboard Toggle word wrap

16.3.3. image-based-installation-config.yaml 매니페스트에 대한 참조 사양

다음 내용은 image-based-installation-config.yaml 매니페스트에 대한 사양을 설명합니다.

openshift-install 프로그램은 image-based-installation-config.yaml 매니페스트를 사용하여 단일 노드 OpenShift의 이미지 기반 설치를 위한 라이브 설치 ISO를 만듭니다.

Expand
표 16.4. 필수 사양
사양유형설명

seedImage

string

ISO 생성 프로세스에 사용할 시드 이미지를 지정합니다.

seedVersion

string

시드 이미지의 OpenShift 컨테이너 플랫폼 릴리스 버전을 지정합니다. 시드 이미지의 릴리스 버전은 seedVersion 필드에 지정한 릴리스 버전과 일치해야 합니다.

installationDisk

string

설치 과정에 사용될 디스크를 지정합니다.

디스크 검색 순서가 보장되지 않으므로 여러 디스크가 있는 시스템의 부팅 옵션에 따라 디스크의 커널 이름이 변경될 수 있습니다. 예를 들어, /dev/sda는 /dev/sdb 가 되고 그 반대의 경우도 마찬가지입니다. 이 문제를 방지하려면 디스크 World Wide Name(WWN)과 같은 영구 디스크 속성을 사용해야 합니다(예: /dev/disk/by-id/wwn-<disk-id> ).

pullSecret

string

사전 캐시 프로세스 중에 사용할 풀 시크릿을 지정합니다. 풀 시크릿에는 컨테이너 레지스트리에서 릴리스 페이로드 이미지를 풀하기 위한 인증 자격 증명이 포함되어 있습니다.

시드 이미지에 별도의 개인 레지스트리 인증이 필요한 경우 풀 시크릿에 인증 세부 정보를 추가합니다.

Expand
표 16.5. 선택 사양
사양유형설명

shutdown

boolean

설치 프로세스가 완료된 후 호스트를 종료할지 여부를 지정합니다. 기본값은 false입니다.

extraPartitionStart

string

/var/lib/containers 에 사용되는 추가 파티션의 시작을 지정합니다. 기본값은 -40G 로, 이는 파티션 크기가 정확히 40GiB이고 디스크 끝에서부터 40GiB 공간을 사용한다는 것을 의미합니다. 양수 값을 지정하면 파티션이 디스크의 해당 위치에서 시작하여 디스크 끝까지 확장됩니다.

extraPartitionLabel

string

/var/lib/containers 에 사용하는 추가 파티션의 레이블입니다. 기본 파티션 레이블은 var-lib-containers 입니다.

참고

설치 ISO의 파티션 레이블이 시드 이미지의 머신 구성에 설정된 파티션 레이블과 일치하는지 확인해야 합니다. 파티션 레이블이 다르면 호스트에 설치하는 동안 파티션 마운트가 실패합니다. 자세한 내용은 "ostree stateroots 간 공유 컨테이너 파티션 구성"을 참조하세요.

extraPartitionNumber

부호 없는 정수

/var/lib/containers 에 사용하는 추가 파티션의 번호입니다. 기본 숫자는 5 입니다.

skipDiskCleanup

boolean

설치 과정에서는 호스트의 디스크가 포맷됩니다. 이 단계를 건너뛰려면 이 사양을 'true'로 설정하세요. 기본값은 false입니다.

networkConfig

string

호스트에 대한 네트워킹 구성을 지정합니다(예:

networkConfig:
    interfaces:
      - name: ens1f0
        type: ethernet
        state: up
        ...
Copy to Clipboard Toggle word wrap

정적 네트워킹이 필요한 경우 라이브 설치 ISO를 만드는 호스트에 nmstatectl 라이브러리를 설치해야 합니다. nmstate를 사용하여 네트워크 구성을 정의하는 방법에 대한 자세한 내용은 nmstate.io를 참조하세요.

중요

인터페이스 이름은 운영 체제에 표시되는 실제 NIC 이름과 일치해야 합니다.

proxy

string

설치 ISO 생성 중에 사용할 프록시 설정을 지정합니다(예:

proxy:
  httpProxy: "http://proxy.example.com:8080"
  httpsProxy: "http://proxy.example.com:8080"
  noProxy: "no_proxy.example.com"
Copy to Clipboard Toggle word wrap

imageDigestSources

string

릴리스 이미지 콘텐츠에 대한 소스 또는 저장소를 지정합니다(예:

imageDigestSources:
  - mirrors:
      - "registry.example.com:5000/ocp4/openshift4"
    source: "quay.io/openshift-release-dev/ocp-release"
Copy to Clipboard Toggle word wrap

additionalTrustBundle

string

PEM으로 인코딩된 X.509 인증서 번들을 지정합니다. 설치 프로그램은 이를 설치 ISO의 /etc/pki/ca-trust/source/anchors/ 디렉토리에 추가합니다.

additionalTrustBundle: |
  -----BEGIN CERTIFICATE-----
  MTICLDCCAdKgAwfBAgIBAGAKBggqhkjOPQRDAjB9MQswCQYRVEQGE
  ...
  l2wOuDwKQa+upc4GftXE7C//4mKBNBC6Ty01gUaTIpo=
  -----END CERTIFICATE-----
Copy to Clipboard Toggle word wrap

sshKey

string

호스트에 대한 액세스를 인증하기 위한 SSH 키를 지정합니다.

ignitionConfigOverride

string

Ignition 구성에 대한 사용자 재정의를 포함하는 JSON 문자열을 지정합니다. 구성은 설치 프로그램에서 생성된 Ignition 구성 파일과 병합됩니다. 이 기능을 사용하려면 Ignition 버전이 3.2 이상이어야 합니다.

coreosInstallerArgs

string

커널 인수와 디스크 분할 옵션을 구성하는 데 사용할 수 있는 coreos-install 명령에 대한 사용자 정의 인수를 지정합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat