3.13. install-config.yaml 파일 구성


3.13.1. install-config.yaml 파일 구성

install-config.yaml 파일에는 몇 가지 추가 정보가 필요합니다. 대부분의 정보는 설치 프로그램과 결과 클러스터를 완전히 관리할 수 있는 하드웨어에 대해 충분히 알려줍니다.

참고

올바른 이미지가 릴리스 페이로드에 있으므로 설치 프로그램에 더 이상 clusterOSImage RHCOS 이미지가 필요하지 않습니다.

  1. install-config.yaml을 설정합니다. pullSecretsshKey 를 포함하여 환경과 일치하도록 적절한 변수를 변경합니다.

    apiVersion: v1
    baseDomain: <domain>
    metadata:
      name: <cluster_name>
    networking:
      machineNetwork:
      - cidr: <public_cidr>
      networkType: OVNKubernetes
    compute:
    - name: worker
      replicas: 2 
    1
    
    controlPlane:
      name: master
      replicas: 3
      platform:
        baremetal: {}
    platform:
      baremetal:
        apiVIPs:
          - <api_ip>
        ingressVIPs:
          - <wildcard_ip>
        provisioningNetworkCIDR: <CIDR>
        bootstrapExternalStaticIP: <bootstrap_static_ip_address> 
    2
    
        bootstrapExternalStaticGateway: <bootstrap_static_gateway> 
    3
    
        bootstrapExternalStaticDNS: <bootstrap_static_dns> 
    4
    
        hosts:
          - name: openshift-master-0
            role: master
            bmc:
              address: ipmi://<out_of_band_ip> 
    5
    
              username: <user>
              password: <password>
            bootMACAddress: <NIC1_mac_address>
            rootDeviceHints:
             deviceName: "<installation_disk_drive_path>" 
    6
    
          - name: <openshift_master_1>
            role: master
            bmc:
              address: ipmi://<out_of_band_ip>
              username: <user>
              password: <password>
            bootMACAddress: <NIC1_mac_address>
            rootDeviceHints:
             deviceName: "<installation_disk_drive_path>"
          - name: <openshift_master_2>
            role: master
            bmc:
              address: ipmi://<out_of_band_ip>
              username: <user>
              password: <password>
            bootMACAddress: <NIC1_mac_address>
            rootDeviceHints:
             deviceName: "<installation_disk_drive_path>"
          - name: <openshift_worker_0>
            role: worker
            bmc:
              address: ipmi://<out_of_band_ip>
              username: <user>
              password: <password>
            bootMACAddress: <NIC1_mac_address>
          - name: <openshift_worker_1>
            role: worker
            bmc:
              address: ipmi://<out_of_band_ip>
              username: <user>
              password: <password>
            bootMACAddress: <NIC1_mac_address>
            rootDeviceHints:
             deviceName: "<installation_disk_drive_path>"
    pullSecret: '<pull_secret>'
    sshKey: '<ssh_pub_key>'
    1
    OpenShift Container Platform 클러스터의 일부인 컴퓨팅 노드 수를 기반으로 컴퓨팅 머신을 확장합니다. replicas 값에 유효한 옵션은 02 보다 크거나 같은 정수입니다. 복제본 수를 0 으로 설정하여 3개의 컨트롤 플레인 시스템만 포함하는 3-노드 클러스터를 배포합니다. 3-노드 클러스터는 테스트, 개발 및 프로덕션에 사용할 수 있는 더 작고 리소스 효율이 높은 클러스터입니다. 컴퓨팅 노드가 하나뿐인 클러스터를 설치할 수 없습니다.
    2
    고정 IP 주소가 있는 클러스터를 배포할 때 베어 메탈 네트워크에 DHCP 서버가 없는 경우 부트스트랩 VM의 고정 IP 주소를 지정하도록 bootstrapExternalStaticIP 구성 설정을 설정해야 합니다.
    3
    고정 IP 주소가 있는 클러스터를 배포할 때 베어 메탈 네트워크에 DHCP 서버가 없는 경우 부트스트랩ExternalStaticGateway 구성 설정을 설정하여 부트스트랩 VM의 게이트웨이 IP 주소를 지정해야 합니다.
    4
    고정 IP 주소가 있는 클러스터를 배포할 때 베어 메탈 네트워크에 DHCP 서버가 없는 경우 부트스트랩 VM의 DNS 주소를 지정하도록 bootstrapExternalStaticDNS 구성 설정을 설정해야 합니다.
    5
    자세한 옵션은 BMC 주소 지정 섹션을 참조하십시오.
    6
    설치 디스크 드라이브의 경로를 설정하려면 디스크의 커널 이름을 입력합니다. 예: /dev/sda.
    중요

    디스크 검색 순서가 보장되지 않으므로 디스크의 커널 이름은 여러 디스크가 있는 시스템의 부팅 옵션 간에 변경될 수 있습니다. 예를 들어 /dev/sda/dev/sdb 가 되고 그 반대의 경우도 마찬가지입니다. 이 문제를 방지하려면 WWN(World Wide Name) 또는 /dev/disk/by-path/ 디스크와 같은 영구 디스크 속성을 사용해야 합니다. 스토리지 위치에 /dev/disk/by-path/<device_path > 링크를 사용하는 것이 좋습니다. 디스크 WWN을 사용하려면 deviceName 매개변수를 wwnWithExtension 매개변수로 바꿉니다. 사용하는 매개변수에 따라 다음 값 중 하나를 입력합니다.

    • 디스크 이름입니다. 예를 들어 /dev/sda 또는 /dev/disk/by-path/.
    • 디스크 WWN. 예를 들어 "0x64cd98fde100024684cf3034da5c2" 입니다. 16진수 값이 아닌 문자열 값으로 사용되도록 디스크 WWN 값을 따옴표 내에 입력해야 합니다.

    rootDeviceHints 매개변수에 대한 이러한 요구 사항을 충족하지 않으면 다음과 같은 오류가 발생할 수 있습니다.

    ironic-inspector inspection failed: No disks satisfied root device hints
    참고

    OpenShift Container Platform 4.12 이전에는 클러스터 설치 프로그램에서 apiVIPingressVIP 구성 설정에 대해 IPv4 주소 또는 IPv6 주소만 허용했습니다. OpenShift Container Platform 4.12 이상에서는 이러한 구성 설정이 더 이상 사용되지 않습니다. 대신 apiVIPsingressVIPs 구성 설정에서 목록 형식을 사용하여 IPv4 주소, IPv6 주소 또는 두 IP 주소 형식을 모두 지정합니다.

  2. 클러스터 구성을 저장할 디렉터리를 생성합니다.

    $ mkdir ~/clusterconfigs
  3. install-config.yaml 파일을 새 디렉터리에 복사합니다.

    $ cp install-config.yaml ~/clusterconfigs
  4. OpenShift Container Platform 클러스터를 설치하기 전에 모든 베어 메탈 노드의 전원이 꺼졌는지 확인합니다.

    $ ipmitool -I lanplus -U <user> -P <password> -H <management-server-ip> power off
  5. 이전 배포에서 남은 경우 이전 부트스트랩 리소스를 제거합니다.

    for i in $(sudo virsh list | tail -n +3 | grep bootstrap | awk {'print $2'});
    do
      sudo virsh destroy $i;
      sudo virsh undefine $i;
      sudo virsh vol-delete $i --pool $i;
      sudo virsh vol-delete $i.ign --pool $i;
      sudo virsh pool-destroy $i;
      sudo virsh pool-undefine $i;
    done

3.13.2. 추가 install-config 매개 변수

install-config.yaml 파일의 필수 매개 변수 hosts 매개 변수 및 bmc 매개 변수는 다음 표를 참조하십시오.

Expand
표 3.1. 필수 매개 변수
매개 변수기본설명

baseDomain

 

클러스터의 도메인 이름입니다. 예: example.com

bootMode

UEFI

노드의 부팅 모드입니다. 옵션은 legacy, UEFIUEFISecureBoot입니다. bootMode가 설정되지 않은 경우 Ironic은 노드를 검사하는 동안 해당 노드를 설정합니다.

bootstrapExternalStaticDNS

 

부트스트랩 노드의 정적 네트워크 DNS입니다. 베어 메탈 네트워크에 DHCP(Dynamic Host Configuration Protocol) 서버가 없는 경우 고정 IP 주소가 있는 클러스터를 배포할 때 이 값을 설정해야 합니다. 이 값을 설정하지 않으면 설치 프로그램은 bootstrapExternalStaticGateway 의 값을 사용하므로 게이트웨이 및 DNS의 IP 주소 값이 다를 때 문제가 발생합니다.

bootstrapExternalStaticIP

 

부트스트랩 VM의 고정 IP 주소입니다. 베어 메탈 네트워크에 DHCP 서버가 없는 경우 고정 IP 주소가 있는 클러스터를 배포할 때 이 값을 설정해야 합니다.

bootstrapExternalStaticGateway

 

부트스트랩 VM에 대한 게이트웨이의 고정 IP 주소입니다. 베어 메탈 네트워크에 DHCP 서버가 없는 경우 고정 IP 주소가 있는 클러스터를 배포할 때 이 값을 설정해야 합니다.

sshKey

 

sshKey 구성 설정에는 컨트롤 플레인 노드 및 컴퓨팅 노드에 액세스하는 데 필요한 ~/.ssh/id_rsa.pub 파일의 키가 포함되어 있습니다. 일반적으로 이 키는 provisioner 노드에서 가져옵니다.

pullSecret

 

pullSecret 구성 설정에는 프로비저너 노드를 준비할 때 Install OpenShift on Bare Metal 페이지에서 다운로드한 풀 시크릿 사본이 포함되어 있습니다.

metadata:
    name:
 

OpenShift Container Platform 클러스터에 지정되는 이름입니다. 예: openshift

networking:
    machineNetwork:
    - cidr:
 

외부 네트워크의 공개 CIDR (Classless Inter-Domain Routing)입니다. 예: 10.0.0.0/24

compute:
  - name: worker
 

OpenShift Container Platform 클러스터에는 노드가 없는 경우에도 컴퓨팅 노드에 이름을 제공해야 합니다.

compute:
    replicas: 2
 

replicas는 OpenShift Container Platform 클러스터의 컴퓨팅 노드 수를 설정합니다.

controlPlane:
    name: master
 

OpenShift Container Platform 클러스터에는 컨트롤 플레인 노드의 이름이 필요합니다.

controlPlane:
    replicas: 3
 

replicas는 OpenShift Container Platform 클러스터의 일부로 포함된 컨트롤 플레인 노드 수를 설정합니다.

provisioningNetworkInterface

 

provisioning 네트워크에 연결된 노드의 네트워크 인터페이스 이름입니다. OpenShift Container Platform 4.9 이상 릴리스의 경우 bootMACAddress 구성 설정을 사용하여 Ironic에서 provisioningNetworkInterface 구성 설정을 사용하여 NIC 이름을 식별하는 대신 NIC의 IP 주소를 식별할 수 있습니다.

defaultMachinePlatform

 

플랫폼 구성없이 머신 풀에 사용되는 기본 설정입니다.

apiVIPs

 

(선택 사항) Kubernetes API 통신의 가상 IP 주소입니다.

기본 이름이 올바르게 확인되도록 install-config.yaml 파일에서 MachineNetwork 매개변수에서 예약된 IP로 이 설정을 제공하거나 DNS에서 사전 구성해야 합니다. install-config.yaml 파일의 apiVIPs 구성 설정에 값을 추가할 때 FQDN이 아닌 가상 IP 주소를 사용합니다. 듀얼 스택 네트워킹의 경우 기본 IP 주소는 IPv4 네트워크 또는 IPv6 네트워크일 수 있습니다. 설정되지 않은 경우 설치 프로그램은 api.<cluster_name>.<base_domain >을 사용하여 DNS에서 IP 주소를 파생합니다.

참고

OpenShift Container Platform 4.12 이전에는 클러스터 설치 프로그램에서 apiVIP 구성 설정에 대해 IPv4 주소 또는 IPv6 주소만 허용했습니다. OpenShift Container Platform 4.12 이상에서는 apiVIP 구성 설정이 더 이상 사용되지 않습니다. 대신 apiVIPs 구성 설정에 목록 형식을 사용하여 IPv4 주소, IPv6 주소 또는 두 IP 주소 형식을 모두 지정합니다.

disableCertificateVerification

False

redfishredfish-virtualmedia 는 BMC 주소를 관리하기 위해 이 매개 변수가 필요합니다. BMC 주소에 자체 서명된 인증서를 사용하는 경우 값은 True 여야합니다.

ingressVIPs

 

(선택 사항) Ingress 트래픽의 가상 IP 주소입니다.

기본 이름이 올바르게 확인되도록 install-config.yaml 파일에서 MachineNetwork 매개변수에서 예약된 IP로 이 설정을 제공하거나 DNS에서 사전 구성해야 합니다. install-config.yaml 파일의 ingressVIPs 구성 설정에 값을 추가할 때 FQDN이 아닌 가상 IP 주소를 사용합니다. 듀얼 스택 네트워킹의 경우 기본 IP 주소는 IPv4 네트워크 또는 IPv6 네트워크일 수 있습니다. 설정되지 않은 경우 설치 프로그램은 test.apps.<cluster_name>.<base_domain >을 사용하여 DNS에서 IP 주소를 파생합니다.

참고

OpenShift Container Platform 4.12 이전에는 클러스터 설치 프로그램에서 ingressVIP 구성 설정에 대해 IPv4 주소 또는 IPv6 주소만 허용했습니다. OpenShift Container Platform 4.12 이상에서는 ingressVIP 구성 설정이 더 이상 사용되지 않습니다. 대신 ingressVIPs 구성 설정에 목록 형식을 사용하여 IPv4 주소, IPv6 주소 또는 두 IP 주소 형식을 모두 지정합니다.

Expand
표 3.2. 선택적 매개변수
매개 변수기본설명

provisioningDHCPRange

172.22.0.10,172.22.0.100

provisioning 네트워크에서 노드의 IP 범위를 정의합니다.

provisioningNetworkCIDR

172.22.0.0/24

프로비저닝에 사용할 네트워크의 CIDR입니다. 이 옵션은 provisioning 네트워크에서 기본 주소 범위를 사용하지 않는 경우 필요합니다.

clusterProvisioningIP

provisioningNetworkCIDR의 세 번째 IP 주소입니다.

프로비저닝 서비스가 실행되는 클러스터 내의 IP 주소입니다. 기본값은 provisioning 서브넷의 세 번째 IP 주소입니다. 예: 172.22.0.3

bootstrapProvisioningIP

provisioningNetworkCIDR의 두 번째 IP 주소입니다.

설치 프로그램이 컨트롤 플레인 (마스터) 노드를 배포하는 동안 프로비저닝 서비스가 실행되는 부트스트랩 VM의 IP 주소입니다. 기본값은 provisioning 서브넷의 두 번째 IP 주소입니다. 예를 들면 172.22.0.2 또는 2620:52:0:1307::2 입니다.

externalBridge

baremetal

베어 메탈 네트워크에 연결된 하이퍼바이저의 베어 메탈 브리지의 이름입니다.

provisioningBridge

provisioning

provisioning 네트워크에 연결된 provisioner 호스트의 provisioning 브리지 이름입니다.

architecture

 

클러스터의 호스트 아키텍처를 정의합니다. 유효한 값은 amd64 또는 arm64 입니다.

defaultMachinePlatform

 

플랫폼 구성없이 머신 풀에 사용되는 기본 설정입니다.

bootstrapOSImage

 

부트스트랩 노드의 기본 운영 체제 이미지를 재정의하는 URL입니다. URL에는 이미지의 SHA-256 해시가 포함되어 있어야합니다. 예: https://mirror.openshift.com/rhcos-<version>-qemu.qcow2.gz?sha256=<uncompressed_sha256 > .

provisioningNetwork

 

provisioningNetwork 구성 설정은 클러스터가 provisioning 네트워크를 사용하는지 여부를 결정합니다. 이 경우 구성 설정에서 클러스터가 네트워크를 관리하는지 여부도 결정합니다.

disabled: provisioning 네트워크의 요구 사항을 비활성화하려면 이 매개변수를 Disabled 로 설정합니다. Disabled 로 설정하면 가상 미디어 기반 프로비저닝만 사용하거나 지원 설치 프로그램을 사용하여 클러스터를 가져와야 합니다. Disabled 이고 전원 관리를 사용하는 경우 베어 메탈 네트워크에서 BMC에 액세스할 수 있어야 합니다. Disabled 인 경우 provisioning 서비스에 사용되는 베어 메탈 네트워크에 두 개의 IP 주소를 제공해야 합니다.

Managed: DHCP, TFTP 등을 포함하여 프로비저닝 네트워크를 완전히 관리하려면 이 매개 변수를 기본값인 Managed 로 설정합니다.

Unmanaged: 이 매개 변수를 Unmanaged 로 설정하여 프로비저닝 네트워크를 활성화하지만 DHCP를 수동으로 설정합니다. 가상 미디어의 프로비저닝이 권장되지만 필요한 경우 PXE를 계속 사용할 수 있습니다.

httpProxy

 

이 매개 변수를 환경 내에서 사용되는 적절한 HTTP 프록시로 설정합니다.

httpsProxy

 

이 매개 변수를 환경 내에서 사용되는 적절한 HTTPS 프록시로 설정합니다.

noProxy

 

이 매개 변수를 환경 내 프록시 사용에 대한 적절한 예외 목록으로 설정합니다.

3.13.2.1. 호스트

hosts 매개 변수는 클러스터를 빌드하는 데 사용되는 별도의 베어 메탈 자산 목록입니다.

Expand
표 3.3. 호스트
이름기본설명

name

 

세부 정보와 연결할 BareMetalHost 리소스의 이름입니다. 예: openshift-master-0

role

 

베어 메탈 노드의 역할입니다. 마스터 (컨트롤 플레인 노드) 또는 작업자 (컴퓨팅 노드) 중 하나입니다.

bmc

 

베이스 보드 관리 컨트롤러에 대한 연결 세부 정보입니다. 자세한 내용은 BMC 주소 지정 섹션을 참조하십시오.

bootMACAddress

 

호스트가 provisioning 네트워크에 사용하는 NIC의 MAC 주소입니다. ironic은 bootMACAddress 구성 설정을 사용하여 IP 주소를 검색합니다. 그러면 호스트에 바인딩됩니다.

참고

provisioning 네트워크를 비활성화한 경우 호스트에서 유효한 MAC 주소를 제공해야 합니다.

networkConfig

 

이 선택적 매개 변수를 설정하여 호스트의 네트워크 인터페이스를 구성합니다. 자세한 내용은 "(선택 사항) 호스트 네트워크 인터페이스 구성을 참조하십시오.

3.13.3. BMC 주소 지정

대부분의 벤더는 IPMI(Intelligent Platform Management Interface)를 사용하여 BMC(Baseboard Management Controller) 주소 지정을 지원합니다. IPMI는 통신을 암호화하지 않습니다. 보안 또는 전용 관리 네트워크를 통해 데이터 센터 내에서 사용하기에 적합합니다. 공급 업체에 문의하여 Redfish 네트워크 부팅을 지원하는지 확인합니다. Redfish는 통합, 하이브리드 IT 및 소프트웨어 정의 데이터 센터 (SDDC)를 위한 간편한 보안 관리 기능을 제공합니다. Redfish는 사람이 읽을 수 있고 머신을 사용할 수 있으며 일반적인 인터넷 및 웹 서비스 표준을 활용하여 최신 툴 체인에 직접 정보를 노출합니다. 하드웨어에서 Redfish 네트워크 부팅을 지원하지 않는 경우 IPMI를 사용합니다.

노드가 Registering 상태인 동안 설치 중에 BMC 주소를 수정할 수 있습니다. 노드가 Registering 상태를 벗어나면 BMC 주소를 수정해야 하는 경우 Ironic에서 노드의 연결을 해제하고 BareMetalHost 리소스를 편집하고 노드를 Ironic에 다시 연결해야 합니다. 자세한 내용은 BareMetalHost 리소스 편집 섹션을 참조하십시오.

3.13.3.1. IPMI

IPMI를 사용하는 호스트는 ipmi://<out-of-band-ip>:<port> 주소 형식을 사용하며 지정되지 않은 경우 기본적으로 포트 623으로 설정됩니다. 다음 예제는 install-config.yaml 파일 내의 IPMI 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: ipmi://<out-of-band-ip>
          username: <user>
          password: <password>
중요

BMC 주소 지정에 IPMI를 사용하여 PXE 부팅 시 provisioning 네트워크가 필요합니다. provisioning 네트워크없이 PXE 부팅 호스트를 사용할 수 없습니다. provisioning 네트워크없이 배포하는 경우 redfish-virtualmedia 또는 idrac-virtualmedia 와 같은 가상 미디어 BMC 주소 지정 옵션을 사용해야 합니다. 자세한 내용은 "HPE iLO용 BMC 주소 지정" 섹션의 "HPE iLO용 Redfish 가상 미디어" 또는 "Dell iDRAC용 BMC 주소 지정" 섹션의 "Dell iDRAC용 Redfish 가상 미디어"를 참조하십시오.

3.13.3.2. Redfish 네트워크 부팅

Redfish를 활성화하려면 redfish:// 또는 redfish+http://를 사용하여 TLS를 비활성화합니다. 설치 프로그램에는 호스트 이름 또는 IP 주소와 시스템 ID 경로가 모두 필요합니다. 다음 예제는 install-config.yaml 파일 내의 Redfish 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish://<out-of-band-ip>/redfish/v1/Systems/1
          username: <user>
          password: <password>

대역 외 관리 주소에 대한 인증 기관의 인증서를 사용하는 것이 좋지만 자체 서명 된 인증서를 사용하는 경우 bmc 설정에 disableCertificateVerification:True를 포함해야 합니다. 다음 예제는 install-config.yaml 파일 내의 disableCertificateVerification:True 설정 매개 변수를 사용하는 Redfish 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish://<out-of-band-ip>/redfish/v1/Systems/1
          username: <user>
          password: <password>
          disableCertificateVerification: True

3.13.4. Redfish API 지원 확인

Redfish API를 사용하여 설치할 때 설치 프로그램은 베어 메탈에서 설치 관리자 프로비저닝 인프라를 사용할 때 BMC(Baseboard Management Controller)에서 여러 Redfish 끝점을 호출합니다. Redfish를 사용하는 경우 설치 전에 BMC가 모든 Redfish API를 지원하는지 확인합니다.

프로세스

  1. 다음 명령을 실행하여 BMC의 IP 주소 또는 호스트 이름을 설정합니다.

    $ export SERVER=<ip_address> 
    1
    1
    & lt;ip_address& gt;를 BMC의 IP 주소 또는 호스트 이름으로 바꿉니다.
  2. 다음 명령을 실행하여 시스템의 ID를 설정합니다.

    $ export SystemID=<system_id> 
    1
    1
    &lt ;system_id&gt;를 시스템 ID로 바꿉니다. 예를 들어 System.Embedded.1 또는 1. 자세한 내용은 다음 벤더별 BMC 섹션을 참조하십시오.

Redfish API 목록

  1. 다음 명령을 실행하여 지원 전원을 켭니다.

    $ curl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "On"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.Reset
  2. 다음 명령을 실행하여 전원 지원을 확인합니다.

    $ curl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "ForceOff"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.Reset
  3. 다음 명령을 실행하여 pxe 를 사용하는 임시 부팅 구현을 확인합니다.

    $ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: <ETAG>"  https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "pxe", "BootSourceOverrideEnabled": "Once"}}
  4. 다음 명령을 실행하여 레거시 또는 UEFI 를 사용하는 펌웨어 부팅 모드를 설정하는 상태를 확인합니다.

    $ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: <ETAG>"  https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideMode":"UEFI"}}

Redfish 가상 미디어 API 목록

  1. 다음 명령을 실행하여 cd 또는 dvd 를 사용하는 임시 부팅 장치를 설정하는 기능을 확인합니다.

    $ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: <ETAG>" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "cd", "BootSourceOverrideEnabled": "Once"}}'
  2. 가상 미디어는 하드웨어에 따라 POST 또는 PATCH 를 사용할 수 있습니다. 다음 명령 중 하나를 실행하여 가상 미디어를 마운트하는 기능을 확인합니다.

    $ curl -u $USER:$PASS -X POST -H "Content-Type: application/json" https://$Server/redfish/v1/Managers/$ManagerID/VirtualMedia/$VmediaId -d '{"Image": "https://example.com/test.iso", "TransferProtocolType": "HTTPS", "UserName": "", "Password":""}'
    $ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: <ETAG>" https://$Server/redfish/v1/Managers/$ManagerID/VirtualMedia/$VmediaId -d '{"Image": "https://example.com/test.iso", "TransferProtocolType": "HTTPS", "UserName": "", "Password":""}'
참고

Redfish API의 PowerOnPowerOff 명령은 Redfish 가상 미디어 API와 동일합니다. 일부 하드웨어에서는 Managers/$ManagerID 대신 Systems/$SystemID 아래의 VirtualMedia 리소스만 찾을 수 있습니다. VirtualMedia 리소스의 경우 UserNamePassword 필드는 선택 사항입니다.

중요

HTTPSHTTPTransferProtocolTypes 에서 지원되는 유일한 매개변수 유형입니다.

3.13.5. Dell iDRAC용 BMC 주소 지정

bmc 항목의 주소 구성 설정은 URL 체계의 컨트롤러 유형과 네트워크의 위치를 포함하여 OpenShift Container Platform 클러스터 노드에 연결하기 위한 URL입니다. 각 bmc 항목의 사용자 이름 구성은 Administrator 권한이 있는 사용자를 지정해야 합니다.

platform:
  baremetal:
    hosts:
      - name: <hostname>
        role: <master | worker>
        bmc:
          address: <address> 
1

          username: <user> 
2

          password: <password>
1
address 구성 설정은 프로토콜을 지정합니다.
2
사용자 이름 구성 설정은 관리자 권한이 있는 사용자를 지정해야 합니다.

Dell 하드웨어의 경우 Red Hat은 통합 iDRAC(Dell Remote Access Controller) 가상 미디어, Redfish 네트워크 부팅 및 IPMI를 지원합니다.

3.13.5.1. Dell iDRAC의 BMC 주소 형식

Expand
프로토콜주소 형식

iDRAC 가상 미디어

idrac-virtualmedia://<out_of_band_ip>/redfish/v1/Systems/System.Embedded.1

Redfish 네트워크 부팅

redfish://<out_of_band_ip>/redfish/v1/Systems/System.Embedded.1

IPMI

ipmi://<out_of_band_ip>

중요

Redfish 가상 미디어의 프로토콜로 idrac-virtualmedia를 사용합니다. redfish-virtualmedia는 Dell 하드웨어에서 작동하지 않습니다. Dell의 idrac-virtualmedia는 Dell의 OEM 확장 기능과 함께 Redfish 표준을 사용합니다.

자세한 내용은 다음 섹션을 참조하십시오.

3.13.5.2. Dell iDRAC 용 Redfish 가상 미디어

Dell 서버의 Redfish 가상 미디어의 경우 address 설정에서 idrac-virtualmedia://를 사용합니다. redfish-virtualmedia://를 사용하는 것은 작동하지 않습니다.

참고

idrac-virtualmedia://를 Redfish 가상 미디어의 프로토콜로 사용합니다. idrac -virtualmedia:// 프로토콜은 Ironic의 idrac 하드웨어 유형 및 Redfish 프로토콜에 해당하므로 redfish-virtualmedia://를 사용하면 Dell 하드웨어에서 작동하지 않습니다. Dell의 idrac-virtualmedia:// 프로토콜은 Dell의 OEM 확장에 Redfish 표준을 사용합니다. Ironic은 WSMAN 프로토콜로 idrac 유형도 지원합니다. 따라서 Dell 하드웨어에서 가상 미디어와 함께 Redfish를 사용하도록 선택할 때 예기치 않은 동작을 방지하려면 idrac-virtualmedia://를 지정해야 합니다.

다음 예는 install-config.yaml 파일 내에서 iDRAC 가상 미디어를 사용하는 방법을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: idrac-virtualmedia://<out_of_band_ip>/redfish/v1/Systems/System.Embedded.1
          username: <user>
          password: <password>

대역 외 관리 주소에 대한 인증 기관의 인증서를 사용하는 것이 좋지만 자체 서명 된 인증서를 사용하는 경우 bmc 설정에 disableCertificateVerification:True를 포함해야 합니다.

참고

OpenShift Container Platform 클러스터 노드에 iDRAC 콘솔을 통해 AutoAttach 가 활성화되어 있는지 확인합니다. 메뉴 경로는 구성 가상 미디어 연결 모드 자동 연결 입니다.

다음 예제는 install-config.yaml 파일 내의 disableCertificateVerification:True 설정 매개 변수를 사용하는 Redfish 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: idrac-virtualmedia://<out_of_band_ip>/redfish/v1/Systems/System.Embedded.1
          username: <user>
          password: <password>
          disableCertificateVerification: True

3.13.5.3. iDRAC 용 Redfish 네트워크 부팅

Redfish를 활성화하려면 redfish:// 또는 redfish+http://를 사용하여 TLS(transport layer security)를 비활성화합니다. 설치 프로그램에는 호스트 이름 또는 IP 주소와 시스템 ID 경로가 모두 필요합니다. 다음 예제는 install-config.yaml 파일 내의 Redfish 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish://<out_of_band_ip>/redfish/v1/Systems/System.Embedded.1
          username: <user>
          password: <password>

대역 외 관리 주소에 대한 인증 기관 인증서를 사용하는 것이 좋지만 자체 서명된 인증서를 사용하는 경우 bmc 구성에 disableCertificateVerification:True 를 포함해야 합니다. 다음 예제는 install-config.yaml 파일 내의 disableCertificateVerification:True 설정 매개 변수를 사용하는 Redfish 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish://<out_of_band_ip>/redfish/v1/Systems/System.Embedded.1
          username: <user>
          password: <password>
          disableCertificateVerification: True
참고

펌웨어 버전 04.40.00.00 이 있는 Dell iDRAC 9에는 알려진 문제가 있으며 베어 메탈 배포 시 설치 관리자 프로비저닝 설치를 위한 5.xx 시리즈를 포함한 모든 릴리스가 있습니다. 가상 콘솔 플러그인은 기본적으로 eHTML5로 설정되어 InsertVirtualMedia 워크플로에 문제가 발생하는 향상된 HTML5 버전입니다. 이 문제를 방지하려면 플러그인을 HTML5를 사용하도록 설정합니다. 메뉴 경로는 구성 가상 콘솔 플러그인 유형 HTML5 입니다.

OpenShift Container Platform 클러스터 노드에 iDRAC 콘솔을 통해 AutoAttach 가 활성화되어 있는지 확인합니다. 메뉴 경로는 구성 가상 미디어 연결 모드 자동 연결입니다 .

3.13.6. HPE iLO용 BMC 주소 지정

bmc 항목의 address 필드는 URL 체계의 컨트롤러 유형 및 네트워크에서의 위치를 포함하여 OpenShift Container Platform 클러스터 노드에 연결하기 위한 URL입니다.

platform:
  baremetal:
    hosts:
      - name: <hostname>
        role: <master | worker>
        bmc:
          address: <address> 
1

          username: <user>
          password: <password>
1
address 구성 설정은 프로토콜을 지정합니다.

HPE iLO(integrated Lights Out)의 경우 Red Hat은 Redfish 가상 미디어, Redfish 네트워크 부팅 및 IPMI를 지원합니다.

Expand
표 3.4. HPE iLO의 BMC 주소 형식
프로토콜주소 형식

RedFish 가상 미디어

redfish-virtualmedia://<out-of-band-ip>/redfish/v1/Systems/1

Redfish 네트워크 부팅

redfish://<out-of-band-ip>/redfish/v1/Systems/1

IPMI

ipmi://<out-of-band-ip>

자세한 내용은 다음 섹션을 참조하십시오.

3.13.6.1. HPE iLO용 Redfish 가상 미디어

HPE 서버용 Redfish 가상 미디어를 활성화하려면 address 설정에서 redfish-virtualmedia://를 사용합니다. 다음 예제는 install-config.yaml 파일 내에서 Redfish 가상 미디어를 사용하는 방법을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish-virtualmedia://<out-of-band-ip>/redfish/v1/Systems/1
          username: <user>
          password: <password>

대역 외 관리 주소에 대한 인증 기관의 인증서를 사용하는 것이 좋지만 자체 서명 된 인증서를 사용하는 경우 bmc 설정에 disableCertificateVerification:True를 포함해야 합니다. 다음 예제는 install-config.yaml 파일 내의 disableCertificateVerification:True 설정 매개 변수를 사용하는 Redfish 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish-virtualmedia://<out-of-band-ip>/redfish/v1/Systems/1
          username: <user>
          password: <password>
          disableCertificateVerification: True
참고

Ironic은 가상 미디어에서 iLO4를 지원하지 않으므로 iLO4를 실행하는 9세대 시스템에서 Redfish 가상 미디어가 지원되지 않습니다.

3.13.6.2. HPE iLO용 Redfish 네트워크 부팅

Redfish를 활성화하려면 redfish:// 또는 redfish+http://를 사용하여 TLS를 비활성화합니다. 설치 프로그램에는 호스트 이름 또는 IP 주소와 시스템 ID 경로가 모두 필요합니다. 다음 예제는 install-config.yaml 파일 내의 Redfish 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish://<out-of-band-ip>/redfish/v1/Systems/1
          username: <user>
          password: <password>

대역 외 관리 주소에 대한 인증 기관의 인증서를 사용하는 것이 좋지만 자체 서명 된 인증서를 사용하는 경우 bmc 설정에 disableCertificateVerification:True를 포함해야 합니다. 다음 예제는 install-config.yaml 파일 내의 disableCertificateVerification:True 설정 매개 변수를 사용하는 Redfish 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish://<out-of-band-ip>/redfish/v1/Systems/1
          username: <user>
          password: <password>
          disableCertificateVerification: True

3.13.7. Fujitsu iRMC용 BMC 주소 지정

bmc 항목의 address 필드는 URL 체계의 컨트롤러 유형 및 네트워크에서의 위치를 포함하여 OpenShift Container Platform 클러스터 노드에 연결하기 위한 URL입니다.

platform:
  baremetal:
    hosts:
      - name: <hostname>
        role: <master | worker>
        bmc:
          address: <address> 
1

          username: <user>
          password: <password>
1
address 구성 설정은 프로토콜을 지정합니다.

Fujitsu 하드웨어의 경우 Red Hat은 통합된 iRMC(Remote Management Controller) 및 IPMI를 지원합니다.

Expand
표 3.5. Fujitsu iRMC의 BMC 주소 형식
프로토콜주소 형식

iRMC

irmc://<out-of-band-ip>

IPMI

ipmi://<out-of-band-ip>

iRMC

Fujitsu 노드는 irmc://<out-of-band-ip>를 사용할 수 있으며 기본값은 포트 443 입니다. 다음 예제는 install-config.yaml 파일 내의 iRMC 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: irmc://<out-of-band-ip>
          username: <user>
          password: <password>
참고

현재 Fujitsu는 베어 메탈에 설치 관리자 프로비저닝 설치를 위해 iRMC S5 펌웨어 버전 3.05P 이상을 지원합니다.

3.13.8. Cisco CIMC용 BMC 주소 지정

bmc 항목의 address 필드는 URL 체계의 컨트롤러 유형 및 네트워크에서의 위치를 포함하여 OpenShift Container Platform 클러스터 노드에 연결하기 위한 URL입니다.

platform:
  baremetal:
    hosts:
      - name: <hostname>
        role: <master | worker>
        bmc:
          address: <address> 
1

          username: <user>
          password: <password>
1
address 구성 설정은 프로토콜을 지정합니다.

Cisco UCSX-210C-M6 하드웨어의 경우 Red Hat은 Cisco CIMC(Integrated Management Controller)를 지원합니다.

Expand
표 3.6. Cisco CIMC의 BMC 주소 형식
프로토콜주소 형식

RedFish 가상 미디어

redfish-virtualmedia://<server_kvm_ip>/redfish/v1/Systems/<serial_number>

Cisco UCSX-210C-M6 하드웨어에 Redfish 가상 미디어를 활성화하려면 address 설정에서 redfish-virtualmedia:// 를 사용합니다. 다음 예제는 install-config.yaml 파일 내에서 Redfish 가상 미디어를 사용하는 방법을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish-virtualmedia://<server_kvm_ip>/redfish/v1/Systems/<serial_number>
          username: <user>
          password: <password>

대역 외 관리 주소에 대한 인증 기관의 인증서를 사용하는 것이 좋지만 자체 서명 된 인증서를 사용하는 경우 bmc 설정에 disableCertificateVerification:True를 포함해야 합니다. 다음 예제는 install-config.yaml 파일 내에서 disableCertificateVerification:True 설정 매개 변수를 사용하여 Redfish 설정을 보여줍니다.

platform:
  baremetal:
    hosts:
      - name: openshift-master-0
        role: master
        bmc:
          address: redfish-virtualmedia://<server_kvm_ip>/redfish/v1/Systems/<serial_number>
          username: <user>
          password: <password>
          disableCertificateVerification: True

3.13.9. 루트 장치 팁

rootDeviceHints 매개 변수를 사용하면 설치 프로그램이 RHCOS (Red Hat Enterprise Linux CoreOS) 이미지를 특정 장치에 프로비저닝할 수 있습니다. 설치 프로그램은 장치를 검색한 순서대로 검사하고 검색된 값을 팁과 비교합니다. 설치 프로그램은 팁과 일치하는 첫 번째 검색된 장치를 사용합니다. 이 설정은 여러 팁을 결합할 수 있지만 장치는 설치 프로그램이이를 선택할 수 있도록 모든 팁과 일치해야 합니다.

Expand
표 3.7. 서브 필드
서브 필드설명

deviceName

Linux 장치 이름(예: /dev/vda 또는 /dev/disk/by-path/ )이 포함된 문자열입니다.

참고

스토리지 위치에 /dev/disk/by-path/<device_path > 링크를 사용하는 것이 좋습니다.

팁은 실제 값과 정확히 일치해야 합니다.

hctl

0:0:0:0과 같은 SCSI 버스 주소를 포함하는 문자열. 팁은 실제 값과 정확히 일치해야 합니다.

model

공급 업체별 장치 식별자가 포함된 문자열. 팁은 실제 값의 하위 문자열입니다.

vendor

장치의 공급 업체 또는 제조업체 이름이 포함된 문자열입니다. 팁은 실제 값의 하위 문자열입니다.

serialNumber

장치 일련 번호가 포함된 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다.

minSizeGigabytes

장치의 최소 크기 (기가 바이트)를 나타내는 정수입니다.

wwn

고유 저장소 식별자를 포함하는 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다.

wwnWithExtension

공급 업체 확장이 추가된 고유 한 저장소 식별자가 포함된 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다.

wwnVendorExtension

고유 공급 업체 저장소 식별자를 포함하는 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다.

rotational

장치가 회전 디스크 여야하는지 (true) 아닌지 (false)를 나타내는 부울 값입니다.

사용 예

     - name: master-0
       role: master
       bmc:
         address: ipmi://10.10.0.3:6203
         username: admin
         password: redhat
       bootMACAddress: de:ad:be:ef:00:40
       rootDeviceHints:
         deviceName: "/dev/sda"

3.13.10. 선택 사항: 프록시 설정

프록시를 사용하여 OpenShift Container Platform 클러스터를 배포하려면 install-config.yaml 파일을 다음과 같이 변경합니다.

apiVersion: v1
baseDomain: <domain>
proxy:
  httpProxy: http://USERNAME:PASSWORD@proxy.example.com:PORT
  httpsProxy: https://USERNAME:PASSWORD@proxy.example.com:PORT
  noProxy: <WILDCARD_OF_DOMAIN>,<PROVISIONING_NETWORK/CIDR>,<BMC_ADDRESS_RANGE/CIDR>

다음은 값을 포함하는 noProxy의 예입니다.

noProxy: .example.com,172.22.0.0/24,10.10.0.0/24

프록시가 활성화된 상태에서 해당 키 / 값 쌍에 적절한 프록시 값을 설정합니다.

주요 고려 사항:

  • 프록시에 HTTPS 프록시가 없는 경우 httpsProxy 값을 https://에서 http://로 변경합니다.
  • 프로비저닝 네트워크를 사용하는 경우 이를 noProxy 설정에 포함하십시오. 그렇지 않으면 설치 프로그램이 실패합니다.
  • 모든 프록시 설정을 프로버저너 노드 내에서 환경 변수로 설정합니다. 예를 들어, HTTP_PROXY, https_proxy, NO_PROXY가 포함됩니다.
참고

IPv6로 프로비저닝할 때 noProxy 설정에서 CIDR 주소 블록을 정의할 수 없습니다. 각 주소를 별도로 정의해야 합니다.

3.13.11. 선택 사항: provisioning 네트워크없이 배포

provisioning 네트워크없이 OpenShift Container Platform 클러스터를 배포하려면 install-config.yaml 파일을 다음과 같이 변경하십시오.

platform:
  baremetal:
    apiVIPs:
      - <api_VIP>
    ingressVIPs:
      - <ingress_VIP>
    provisioningNetwork: "Disabled" 
1
1
필요한 경우 provisioningNetwork 구성 설정을 추가하고 Disabled 로 설정합니다.
중요

provisioning 네트워크는 PXE 부팅에 필요합니다. provisioning 네트워크없이 배포하는 경우 redfish-virtualmedia 또는 idrac-virtualmedia 와 같은 가상 미디어 BMC 주소 지정 옵션을 사용해야 합니다. 자세한 내용은 "HPE iLO용 BMC 주소 지정" 섹션의 "HPE iLO용 Redfish 가상 미디어" 또는 "Dell iDRAC용 BMC 주소 지정" 섹션의 "Dell iDRAC용 Redfish 가상 미디어"를 참조하십시오.

3.13.12. 듀얼 스택 네트워킹을 사용하여 IP 주소 지정 배포

부트스트랩 가상 머신(VM)의 듀얼 스택 네트워킹을 사용하여 IP 주소 지정을 배포할 때 부트스트랩 VM은 단일 IP 버전으로 작동합니다.

참고

다음 예제는 DHCP용입니다. DHCP 기반 듀얼 스택 클러스터는 1일 차부터 각각 하나의 IPv4 및 하나의 IPv6 가상 IP 주소(VIP)를 사용하여 배포할 수 있습니다.

고정 IP 주소로 클러스터를 배포하려면 부트스트랩 VM, API 및 Ingress VIP의 IP 주소를 구성해야 합니다. install-config 에 설정된 고정 IP를 사용하여 듀얼 스택을 구성하려면 API 및 수신에 각각 하나의 VIP가 필요합니다. 배포 후 보조 VIP를 추가합니다.

OpenShift Container Platform 클러스터의 듀얼 스택 네트워킹의 경우 클러스터 노드에 대해 IPv4 및 IPv6 주소 끝점을 구성할 수 있습니다. 클러스터 노드에 대한 IPv4 및 IPv6 주소 끝점을 구성하려면 install-config.yaml 파일에서 machineNetwork,clusterNetworkserviceNetwork 구성 설정을 편집합니다. 각 설정에는 각각 두 개의 CIDR 항목이 있어야 합니다. IPv4 제품군을 기본 주소 제품군으로 사용하는 클러스터의 경우 먼저 IPv4 설정을 지정합니다. IPv6 제품군을 기본 주소 제품군으로 사용하는 클러스터의 경우 먼저 IPv6 설정을 지정합니다.

클러스터 노드의 IPv4 및 IPv6 주소 끝점을 포함하는 NMState YAML 구성 파일의 예

machineNetwork:
- cidr: {{ extcidrnet }}
- cidr: {{ extcidrnet6 }}
clusterNetwork:
- cidr: 10.128.0.0/14
  hostPrefix: 23
- cidr: fd02::/48
  hostPrefix: 64
serviceNetwork:
- 172.30.0.0/16
- fd03::/112

중요

베어 메탈 플랫폼의 install-config.yaml 파일의 networkConfig 섹션에 NMState 구성을 지정한 경우 interfaces.wait-ip: ipv4+ipv6 을 NMState YAML 파일에 추가하여 클러스터가 듀얼 스택 네트워크에 배포되지 않도록 하는 문제를 해결합니다.

wait-ip 매개변수를 포함하는 NMState YAML 구성 파일의 예

networkConfig:
  nmstate:
    interfaces:
    - name: <interface_name>
# ...
      wait-ip: ipv4+ipv6
# ...

IPv4 및 IPv6 주소를 사용하는 애플리케이션의 클러스터에 인터페이스를 제공하려면 Ingress VIP 및 API VIP 서비스에 대한 IPv4 및 IPv6 가상 IP(VIP) 주소 끝점을 구성합니다. IPv4 및 IPv6 주소 끝점을 구성하려면 install-config.yaml 파일에서 apiVIPsingressVIPs 구성 설정을 편집합니다. apiVIPsingressVIPs 구성 설정은 목록 형식을 사용합니다. 목록 순서는 각 서비스의 기본 및 보조 VIP 주소를 나타냅니다.

platform:
  baremetal:
    apiVIPs:
      - <api_ipv4>
      - <api_ipv6>
    ingressVIPs:
      - <wildcard_ipv4>
      - <wildcard_ipv6>
참고

듀얼 스택 네트워킹 구성이 있는 클러스터의 경우 IPv4 및 IPv6 주소를 동일한 인터페이스에 할당해야 합니다.

3.13.13. 선택 사항: 호스트 네트워크 인터페이스 구성

설치하기 전에 install-config.yaml 파일에서 networkConfig 구성 설정을 설정하여 NMState를 사용하여 호스트 네트워크 인터페이스를 구성할 수 있습니다.

이 기능의 가장 일반적인 사용 사례는 베어 메탈 네트워크에서 고정 IP 주소를 지정하는 것이지만 스토리지 네트워크와 같은 다른 네트워크도 구성할 수 있습니다. 이 기능은 VLAN, VXLAN, 브리지, 본딩, 경로, MTU 및 DNS 확인자 설정과 같은 기타 NMState 기능을 지원합니다.

주의

클러스터의 DNS 확인자 설정에서 지원되지 않는 rotate 옵션을 설정하지 마십시오. 옵션은 내부 API의 DNS 확인 기능을 중단합니다.

사전 요구 사항

  • 고정 IP 주소를 사용하여 각 노드에 유효한 호스트 이름으로 PTR DNS 레코드를 구성합니다.
  • NMState CLI(nmstate)를 설치합니다.
중요

provisioning 네트워크를 사용하는 경우 Ironic에서 dnsmasq 툴을 사용하여 구성합니다. 완전히 정적 배포를 수행하려면 가상 미디어를 사용해야 합니다.

프로세스

  1. 선택 사항: 설치 프로그램에서 NMState YAML 구문을 확인하지 않기 때문에 install-config.yaml 파일에 구문을 포함하기 전에 nmstatectl gc 로 NMState 구문을 테스트하는 것이 좋습니다.

    참고

    YAML 구문의 오류로 인해 네트워크 구성을 적용하지 못할 수 있습니다. 또한 검증된 YAML 구문을 유지 관리하는 것은 배포 후 또는 클러스터를 확장할 때 Kubernetes NMState를 사용하여 변경 사항을 적용할 때 유용합니다.

    1. NMState YAML 파일을 생성합니다.

      interfaces: 
      1
      
      - name: <nic1_name>
        type: ethernet
        state: up
        ipv4:
          address:
          - ip: <ip_address>
            prefix-length: 24
          enabled: true
      dns-resolver:
        config:
          server:
          - <dns_ip_address>
      routes:
        config:
        - destination: 0.0.0.0/0
          next-hop-address: <next_hop_ip_address>
          next-hop-interface: <next_hop_nic1_name>
      1
      < nic1_name > , < ip_address > , < dns_ip_address > , < next_hop_ip_address > 및 < next_hop_nic1_name >을 적절한 값으로 바꿉니다.
    2. 다음 명령을 실행하여 구성 파일을 테스트합니다.

      $ nmstatectl gc <nmstate_yaml_file>

      & lt;nmstate_yaml_file&gt;을 구성 파일 이름으로 바꿉니다.

  2. install-config.yaml 파일 내의 호스트에 NMState 구성을 추가하여 networkConfig 구성 설정을 사용합니다.

        hosts:
          - name: openshift-master-0
            role: master
            bmc:
              address: redfish+http://<out_of_band_ip>/redfish/v1/Systems/
              username: <user>
              password: <password>
              disableCertificateVerification: null
            bootMACAddress: <NIC1_mac_address>
            bootMode: UEFI
            rootDeviceHints:
              deviceName: "/dev/sda"
            networkConfig: 
    1
    
              interfaces: 
    2
    
              - name: <nic1_name>
                type: ethernet
                state: up
                ipv4:
                  address:
                  - ip: <ip_address>
                    prefix-length: 24
                  enabled: true
              dns-resolver:
                config:
                  server:
                  - <dns_ip_address>
              routes:
                config:
                - destination: 0.0.0.0/0
                  next-hop-address: <next_hop_ip_address>
                  next-hop-interface: <next_hop_nic1_name>
    1
    NMState YAML 구문을 추가하여 호스트 인터페이스를 구성합니다.
    2
    < nic1_name > , < ip_address > , < dns_ip_address > , < next_hop_ip_address > 및 < next_hop_nic1_name >을 적절한 값으로 바꿉니다.
    중요

    클러스터를 배포한 후에는 install-config.yaml 파일의 networkConfig 구성 설정을 수정하여 호스트 네트워크 인터페이스를 변경할 수 없습니다. 배포 후 Kubernetes NMState Operator를 사용하여 호스트 네트워크 인터페이스를 변경합니다.

3.13.14. 서브넷에 대한 호스트 네트워크 인터페이스 구성

엣지 컴퓨팅 시나리오의 경우 엣지에 더 가까운 컴퓨팅 노드를 찾는 것이 유용할 수 있습니다. 서브넷에서 원격 노드를 찾으려면 컨트롤 플레인 서브넷 및 로컬 컴퓨팅 노드에 사용한 것과 다른 네트워크 세그먼트 또는 서브넷을 원격 노드에 사용할 수 있습니다. 엣지의 대기 시간을 줄이고 에지 컴퓨팅 시나리오의 서브넷을 설정하여 확장성을 향상시킬 수 있습니다.

중요

기본 로드 밸런서를 사용하는 경우 OpenShiftManagedDefault 및 OpenShift Container Platform 클러스터에 원격 노드를 추가하는 경우 모든 컨트롤 플레인 노드를 동일한 서브넷에서 실행해야 합니다. 둘 이상의 서브넷을 사용하는 경우 매니페스트를 사용하여 컨트롤 플레인 노드에서 실행되도록 Ingress VIP를 구성할 수도 있습니다. 자세한 내용은 "컨트롤 플레인에서 실행할 네트워크 구성 요소 구성"을 참조하십시오.

"네트워크 간 통신 설정" 섹션에 설명된 대로 원격 노드의 다른 네트워크 세그먼트 또는 서브넷을 설정한 경우 작업자가 고정 IP 주소, 본딩 또는 기타 고급 네트워킹을 사용하는 경우 machineNetwork 구성 설정에서 서브넷을 지정해야 합니다. 각 원격 노드의 networkConfig 매개변수에 노드 IP 주소를 설정할 때 고정 IP 주소를 사용할 때 컨트롤 플레인 노드가 포함된 서브넷의 게이트웨이 및 DNS 서버도 지정해야 합니다. 이렇게 하면 원격 노드가 컨트롤 플레인이 포함된 서브넷에 도달할 수 있으며 컨트롤 플레인에서 네트워크 트래픽을 수신할 수 있습니다.

참고

여러 서브넷이 있는 클러스터를 배포하려면 원격 노드가 로컬 프로비저닝 네트워크에 액세스할 수 없기 때문에 redfish-virtualmedia 또는 idrac-virtualmedia 와 같은 가상 미디어를 사용해야 합니다.

프로세스

  1. 고정 IP 주소를 사용할 때 install-config.yaml 파일에서 machineNetwork 에 서브넷을 추가합니다.

    networking:
      machineNetwork:
      - cidr: 10.0.0.0/24
      - cidr: 192.168.0.0/24
      networkType: OVNKubernetes
  2. 고정 IP 주소 또는 본딩과 같은 고급 네트워킹을 사용할 때 NMState 구문을 사용하여 각 엣지 컴퓨팅 노드의 networkConfig 매개변수에 게이트웨이 및 DNS 구성을 추가합니다.

    networkConfig:
      interfaces:
      - name: <interface_name> 
    1
    
        type: ethernet
        state: up
        ipv4:
          enabled: true
          dhcp: false
          address:
          - ip: <node_ip> 
    2
    
            prefix-length: 24
          gateway: <gateway_ip> 
    3
    
      dns-resolver:
        config:
          server:
          - <dns_ip> 
    4
    1
    &lt ;interface_name&gt;을 인터페이스 이름으로 바꿉니다.
    2
    & lt;node_ip& gt;를 노드의 IP 주소로 바꿉니다.
    3
    <gateway_ip>를 게이트웨이의 IP 주소로 바꿉니다.
    4
    <dns_ip>를 DNS 서버의 IP 주소로 바꿉니다.

SLAAC(상태 비저장 주소 자동 구성)를 사용하는 이중 스택 클러스터의 경우 ipv6.addr-gen-mode 네트워크 설정에 전역 값을 지정해야 합니다. NMState를 사용하여 이 값을 설정하여 RAM 디스크 및 클러스터 구성 파일을 구성할 수 있습니다. 이러한 위치에서 일관된 ipv6.addr-gen-mode 를 구성하지 않으면 IPv6 주소 불일치가 클러스터의 CSR 리소스와 BareMetalHost 리소스 간에 발생할 수 있습니다.

사전 요구 사항

  • NMState CLI(nmstate)를 설치합니다.

프로세스

  1. 선택 사항: 설치 프로그램에서 NMState YAML 구문을 확인하지 않기 때문에 nmstatectl gc 명령을 사용하여 NMState YAML 구문을 테스트하는 것이 좋습니다. install-config.yaml 파일에 포함하기 전에는 NMState YAML 구문을 확인하지 않습니다.

    1. NMState YAML 파일을 생성합니다.

      interfaces:
      - name: eth0
        ipv6:
          addr-gen-mode: <address_mode> 
      1
      1
      & lt;address_mode >를 클러스터의 IPv6 주소에 필요한 주소 생성 모드로 바꿉니다. 유효한 값은 eui64,stable-privacy 또는 random 입니다.
    2. 다음 명령을 실행하여 구성 파일을 테스트합니다.

      $ nmstatectl gc <nmstate_yaml_file> 
      1
      1
      & lt;nmstate_yaml_file& gt;을 테스트 구성 파일의 이름으로 바꿉니다.
  2. install-config.yaml 파일 내의 hosts.networkConfig 섹션에 NMState 구성을 추가합니다.

        hosts:
          - name: openshift-master-0
            role: master
            bmc:
              address: redfish+http://<out_of_band_ip>/redfish/v1/Systems/
              username: <user>
              password: <password>
              disableCertificateVerification: null
            bootMACAddress: <NIC1_mac_address>
            bootMode: UEFI
            rootDeviceHints:
              deviceName: "/dev/sda"
            networkConfig:
              interfaces:
              - name: eth0
                ipv6:
                  addr-gen-mode: <address_mode> 
    1
    
    ...
    1
    & lt;address_mode >를 클러스터의 IPv6 주소에 필요한 주소 생성 모드로 바꿉니다. 유효한 값은 eui64,stable-privacy 또는 random 입니다.

3.13.16. 듀얼 포트 NIC에 대한 호스트 네트워크 인터페이스 구성

설치하기 전에 install-config.yaml 파일에서 networkConfig 구성 설정을 설정하여 NMState를 사용하여 듀얼 포트 네트워크 인터페이스 컨트롤러(NIC)를 지원하여 호스트 네트워크 인터페이스를 구성할 수 있습니다.

중요

SR-IOV 장치에 대한 NIC 파티셔닝 활성화와 관련된 Day 1 작업을 지원하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 다음 링크를 참조하십시오.

OpenShift Virtualization에서는 다음 본딩 모드만 지원합니다.

  • mode=1 active-backup
  • mode=2 balance-xor
  • mode=4 802.3ad

사전 요구 사항

  • 고정 IP 주소를 사용하여 각 노드에 유효한 호스트 이름으로 PTR DNS 레코드를 구성합니다.
  • NMState CLI(nmstate)를 설치합니다.
참고

YAML 구문의 오류로 인해 네트워크 구성을 적용하지 못할 수 있습니다. 또한 검증된 YAML 구문을 유지 관리하는 것은 배포 후 또는 클러스터를 확장할 때 Kubernetes NMState를 사용하여 변경 사항을 적용할 때 유용합니다.

프로세스

  1. install-config.yaml 파일 내의 호스트에 networkConfig 필드에 NMState 구성을 추가합니다.

        hosts:
          - name: worker-0
            role: worker
            bmc:
              address: redfish+http://<out_of_band_ip>/redfish/v1/Systems/
              username: <user>
              password: <password>
              disableCertificateVerification: false
            bootMACAddress: <NIC1_mac_address>
            bootMode: UEFI
            networkConfig: 
    1
    
              interfaces: 
    2
    
               - name: eno1 
    3
    
                 type: ethernet 
    4
    
                 state: up
                 mac-address: 0c:42:a1:55:f3:06
                 ipv4:
                   enabled: true
                   dhcp: false 
    5
    
                 ethernet:
                   sr-iov:
                     total-vfs: 2 
    6
    
                 ipv6:
                   enabled: false
                   dhcp: false
               - name: sriov:eno1:0
                 type: ethernet
                 state: up 
    7
    
                 ipv4:
                   enabled: false 
    8
    
                 ipv6:
                   enabled: false
               - name: sriov:eno1:1
                 type: ethernet
                 state: down
               - name: eno2
                 type: ethernet
                 state: up
                 mac-address: 0c:42:a1:55:f3:07
                 ipv4:
                   enabled: true
                 ethernet:
                   sr-iov:
                     total-vfs: 2
                 ipv6:
                   enabled: false
               - name: sriov:eno2:0
                 type: ethernet
                 state: up
                 ipv4:
                   enabled: false
                 ipv6:
                   enabled: false
               - name: sriov:eno2:1
                 type: ethernet
                 state: down
               - name: bond0
                 type: bond
                 state: up
                 min-tx-rate: 100 
    9
    
                 max-tx-rate: 200 
    10
    
                 link-aggregation:
                   mode: active-backup 
    11
    
                   options:
                     primary: sriov:eno1:0 
    12
    
                   port:
                     - sriov:eno1:0
                     - sriov:eno2:0
                 ipv4:
                   address:
                     - ip: 10.19.16.57 
    13
    
                       prefix-length: 23
                   dhcp: false
                   enabled: true
                 ipv6:
                   enabled: false
              dns-resolver:
                config:
                  server:
                    - 10.11.5.160
                    - 10.2.70.215
              routes:
                config:
                  - destination: 0.0.0.0/0
                    next-hop-address: 10.19.17.254
                    next-hop-interface: bond0 
    14
    
                    table-id: 254
    1
    networkConfig 필드에는 호스트의 네트워크 구성에 대한 정보가 있으며, 인터페이스,dns-resolver, 경로를 포함한 하위 필드가 있습니다.
    2
    interfaces 필드는 호스트에 정의된 네트워크 인터페이스의 배열입니다.
    3
    인터페이스의 이름입니다.
    4
    인터페이스 유형입니다. 이 예제에서는 이더넷 인터페이스를 생성합니다.
    5
    반드시 필요하지 않은 경우 물리적 기능(PF)의 DHCP를 비활성화하려면 이 값을 'false'로 설정합니다.
    6
    인스턴스화할 SR-IOV 가상 기능(VF) 수로 설정합니다.
    7
    이 값을 up 으로 설정합니다.
    8
    본딩에 연결된 VF의 IPv4 주소를 비활성화하려면 이를 false 로 설정합니다.
    9
    VF에 대해 최소 전송 속도(Mbps)를 설정합니다. 이 샘플 값은 100Mbps의 속도를 설정합니다.
    • 이 값은 최대 전송 속도보다 작거나 같아야 합니다.
    • Intel NIC는 min-tx-rate 매개변수를 지원하지 않습니다. 자세한 내용은 BZ#1772847 에서 참조하십시오.
    10
    VF에 대해 최대 전송 속도(Mbps)를 설정합니다. 이 샘플 값은 200Mbps의 속도를 설정합니다.
    11
    필요한 본딩 모드를 설정합니다.
    12
    본딩 인터페이스의 기본 포트를 설정합니다. 본딩은 기본 장치를 본딩 인터페이스의 첫 번째 장치로 사용합니다. 본딩은 실패하는 경우가 아니면 기본 장치 인터페이스를 종료하지 않습니다. 이 설정은 특히 본딩 인터페이스의 특정 NIC가 더 빨라서 더 큰 부하를 처리할 수 있는 경우 유용합니다. 이 설정은 본딩 인터페이스가 active-backup 모드(mode 1)인 경우에만 유효합니다.
    13
    본딩 인터페이스의 고정 IP 주소를 설정합니다. 노드 IP 주소입니다.
    14
    bond0 을 기본 경로의 게이트웨이로 설정합니다.
    중요

    클러스터를 배포한 후에는 install-config.yaml 파일의 networkConfig 구성 설정을 변경하여 호스트 네트워크 인터페이스를 변경할 수 없습니다. 배포 후 Kubernetes NMState Operator를 사용하여 호스트 네트워크 인터페이스를 변경합니다.

3.13.17. 여러 클러스터 노드 구성

동일한 설정으로 OpenShift Container Platform 클러스터 노드를 동시에 구성할 수 있습니다. 여러 클러스터 노드를 구성하면 각 노드에 대한 중복 정보가 install-config.yaml 파일에 추가됩니다. 이 파일에는 클러스터의 여러 노드에 동일한 구성을 적용하는 특정 매개변수가 포함되어 있습니다.

컴퓨팅 노드는 컨트롤러 노드와 별도로 구성됩니다. 그러나 두 노드 유형의 구성은 install-config.yaml 파일에서 강조 표시된 매개 변수를 사용하여 다중 노드 구성을 활성화합니다. 다음 예와 같이 networkConfig 매개변수를 BOND 로 설정합니다.

hosts:
- name: ostest-master-0
 [...]
 networkConfig: &BOND
   interfaces:
   - name: bond0
     type: bond
     state: up
     ipv4:
       dhcp: true
       enabled: true
     link-aggregation:
       mode: active-backup
       port:
       - enp2s0
       - enp3s0
- name: ostest-master-1
 [...]
 networkConfig: *BOND
- name: ostest-master-2
 [...]
 networkConfig: *BOND
참고

여러 클러스터 노드의 구성은 설치 관리자 프로비저닝 인프라에 대한 초기 배포에만 사용할 수 있습니다.

3.13.18. 선택 사항: 관리형 Secure Boot 구성

redfish, redfish-virtualmedia, 또는 idrac-virtualmedia와 같은 Redfish BMC 주소를 사용하여 설치 관리자 프로비저닝 클러스터를 배포할 때 관리형 Secure Boot를 활성화할 수 있습니다. 관리형 Secure Boot를 활성화하려면 각 노드에 bootMode 구성 설정을 추가합니다.

예제

hosts:
  - name: openshift-master-0
    role: master
    bmc:
      address: redfish://<out_of_band_ip> 
1

      username: <username>
      password: <password>
    bootMACAddress: <NIC1_mac_address>
    rootDeviceHints:
     deviceName: "/dev/sda"
    bootMode: UEFISecureBoot 
2

1
bmc.address 설정이 redfish, redfish-virtualmedia, idrac-virtualmedia를 프로토콜로 사용하는지 확인합니다. 자세한 내용은 "BMC addressing for HPE iLO" 또는 "BMC addressing for Dell iDRAC"를 참조하십시오.
2
bootMode 설정의 기본값은 UEFI입니다. 이 파일을 UEFISecureBoot로 변경하여 관리되는 Secure Boot를 활성화합니다.
참고

노드가 관리형 Secure Boot를 지원할 수 있는지 확인하려면 "사전 요구 사항"의 "노드 구성"을 참조하십시오. 노드가 관리형 Secure Boot를 지원하지 않는 경우 "노드 구성" 섹션의 "수동으로 Secure Boot의 노드 구성"을 참조하십시오. Secure Boot를 수동으로 구성하려면 Redfish 가상 미디어가 필요합니다.

참고

IPMI는 Secure Boot 관리 기능을 제공하지 않으므로 Red Hat은 IPMI에 Secure Boot를 지원하지 않습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동