4.7. OpenStack에 호스팅된 제어 평면 배포


중요

Red Hat OpenStack Platform(RHOSP)에 호스팅된 제어 플레인 클러스터를 배포하는 것은 기술 미리 보기 기능에 불과합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

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

Red Hat OpenStack Platform(RHOSP) 17.1에서 실행되는 호스팅 클러스터를 사용하여 호스팅된 제어 플레인을 배포할 수 있습니다.

호스팅 클러스터 는 관리 클러스터에 호스팅된 API 엔드포인트와 제어 평면을 갖춘 OpenShift Container Platform 클러스터입니다. 호스팅된 제어 평면을 사용하면 제어 평면이 관리 클러스터의 포드로 존재하므로 각 제어 평면에 대한 전용 가상 또는 물리적 머신이 필요하지 않습니다.

4.7.1. OpenStack의 전제 조건

Red Hat OpenStack Platform(RHOSP)에서 호스팅 클러스터를 생성하기 전에 다음 요구 사항을 충족하는지 확인하세요.

  • 관리 OpenShift Container Platform 클러스터 버전 4.17 이상에 대한 관리 액세스 권한이 있습니다. 이 클러스터는 베어 메탈, RHOSP 또는 지원되는 퍼블릭 클라우드에서 실행될 수 있습니다.
  • HyperShift Operator는 "호스팅된 제어 평면 배포 준비"에 지정된 대로 관리 클러스터에 설치됩니다.
  • 관리 클러스터는 기본 Pod 네트워크 CNI로 OVN-Kubernetes로 구성됩니다.
  • OpenShift CLI( oc )와 호스팅 제어 평면 CLI, hcp가 설치됩니다.
  • 예를 들어 Octavia와 같은 로드 밸런서 백엔드는 관리 OCP 클러스터에 설치됩니다. 각 호스팅 클러스터에 대해 kube-api 서비스를 생성하려면 로드 밸런서가 필요합니다.

    • Octavia 부하 분산으로 수신이 구성된 경우 RHOSP Octavia 서비스는 게스트 클러스터를 호스팅하는 클라우드에서 실행됩니다.
  • quay.io/openshift-release-dev 저장소에 유효한 풀 비밀 파일이 있습니다.
  • 관리 클러스터의 기본 외부 네트워크는 게스트 클러스터에서 접근할 수 있습니다. 이 네트워크에 kube-apiserver 로드 밸런서 유형 서비스가 생성됩니다.
  • 수신을 위해 미리 정의된 부동 IP 주소를 사용하는 경우 다음 와일드카드 도메인에 대해 해당 주소를 가리키는 DNS 레코드가 생성됩니다. *.apps.<cluster_name>.<base_domain> , 여기서:

    • <cluster_name> 은 관리 클러스터의 이름입니다.
    • <base_domain> 은 클러스터의 애플리케이션이 있는 부모 DNS 도메인입니다.

4.7.2. etcd 로컬 스토리지를 위한 관리 클러스터 준비

Red Hat OpenStack Platform(RHOSP)의 호스팅 제어 평면(HCP) 배포에서 기본 Cinder 기반 영구 볼륨 클레임(PVC)에 의존하는 대신 TopoLVM CSI 드라이버로 프로비저닝된 로컬 임시 스토리지를 사용하면 etcd 성능을 개선할 수 있습니다.

사전 요구 사항

  • HyperShift가 설치된 관리 클러스터에 액세스할 수 있습니다.
  • RHOSP 플레이버와 머신 세트를 만들고 관리할 수 있습니다.
  • ocopenstack CLI 도구를 설치하고 구성했습니다.
  • TopoLVM 및 LVM(Logical Volume Manager) 저장 개념에 대해 잘 알고 있습니다.
  • 관리 클러스터에 LVM 스토리지 운영자를 설치했습니다. 자세한 내용은 OpenShift Container Platform 설명서의 스토리지 섹션에서 "CLI를 사용하여 LVM 스토리지 설치"를 참조하세요.

프로세스

  1. openstack CLI를 사용하여 추가 임시 디스크가 있는 Nova 플레이버를 만듭니다. 예를 들면 다음과 같습니다.

    $ openstack flavor create \
      --id auto \
      --ram 8192 \
      --disk 0 \
      --ephemeral 100 \
      --vcpus 4 \
      --public \
      hcp-etcd-ephemeral
    Copy to Clipboard Toggle word wrap
    참고

    Nova는 서버가 해당 플레이버로 생성될 때 임시 디스크를 인스턴스에 자동으로 연결하고 이를 vfat 로 포맷합니다.

  2. 새로운 플레이버를 사용하는 컴퓨팅 머신 세트를 만듭니다. 자세한 내용은 OpenShift Container Platform 설명서의 "OpenStack에서 컴퓨팅 머신 세트 만들기"를 참조하세요.
  3. 귀하의 요구 사항에 맞게 기계 세트를 확장하세요. 고가용성을 위해 클러스터를 배포하는 경우 최소 3개의 작업자를 배포해야 포드를 적절히 분산할 수 있습니다.
  4. etcd에서 사용할 수 있도록 새로운 워커 노드에 레이블을 지정합니다. 예를 들면 다음과 같습니다.

    $ oc label node <node_name> hypershift-capable=true
    Copy to Clipboard Toggle word wrap

    이 라벨은 임의적입니다. 나중에 업데이트할 수 있습니다.

  5. lvmcluster.yaml 이라는 파일에서 etcd에 대한 로컬 스토리지 구성에 대한 다음 LVMCluster 사용자 지정 리소스를 만듭니다.

    apiVersion: lvm.topolvm.io/v1alpha1
    kind: LVMCluster
    metadata:
      name: etcd-hcp
      namespace: openshift-storage
    spec:
      storage:
        deviceClasses:
        - name: etcd-class
          default: true
          nodeSelector:
             nodeSelectorTerms:
             - matchExpressions:
               - key: hypershift-capable
                operator: In
                values:
                - "true"
          deviceSelector:
            forceWipeDevicesAndDestroyAllData: true
            paths:
            - /dev/vdb
    Copy to Clipboard Toggle word wrap

    이 예제 리소스에서는:

    • 임시 디스크 위치는 /dev/vdb 이며, 대부분의 경우에 해당합니다. 귀하의 경우 이 위치가 맞는지 확인하고, 심볼릭 링크는 지원되지 않는다는 점에 유의하세요.
    • 기본 Nova 임시 디스크는 VFAT로 포맷되어 제공되므로 forceWipeDevicesAndDestroyAllData 매개변수는 True 값으로 설정됩니다.
  6. 다음 명령을 실행하여 LVMCluster 리소스를 적용합니다.

    oc apply -f lvmcluster.yaml
    Copy to Clipboard Toggle word wrap
  7. 다음 명령을 실행하여 LVMCluster 리소스를 확인하세요.

    $ oc get lvmcluster -A
    Copy to Clipboard Toggle word wrap

    출력 예

    NAMESPACE           NAME    STATUS
    openshift-storage   etcd-hcp   Ready
    Copy to Clipboard Toggle word wrap

  8. 다음 명령을 실행하여 StorageClass 리소스를 확인하세요.

    $ oc get storageclass
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                    PROVISIONER               RECLAIMPOLICY   VOLUMEBINDINGMODE     ALLOWVOLUMEEXPANSION   AGE
    lvms-etcd-class         topolvm.io                Delete          WaitForFirstConsumer  true                   23m
    standard-csi (default)  cinder.csi.openstack.org  Delete          WaitForFirstConsumer  true                   56m
    Copy to Clipboard Toggle word wrap

이제 성능이 뛰어난 etcd 구성으로 호스팅된 클러스터를 배포할 수 있습니다. 배포 프로세스는 "OpenStack에서 호스팅된 클러스터 만들기"에 설명되어 있습니다.

4.7.3. 수신을 위한 플로팅 IP 생성

수동 개입 없이 호스팅된 클러스터에서 인그레스를 사용할 수 있도록 하려면 미리 해당 클러스터에 대한 플로팅 IP 주소를 만들 수 있습니다.

사전 요구 사항

  • Red Hat OpenStack Platform(RHOSP) 클라우드에 액세스할 수 있습니다.
  • 수신을 위해 미리 정의된 부동 IP 주소를 사용하는 경우 다음 와일드카드 도메인에 대해 해당 주소를 가리키는 DNS 레코드가 생성됩니다. *.apps.<cluster_name>.<base_domain> , 여기서:

    • <cluster_name> 은 관리 클러스터의 이름입니다.
    • <base_domain> 은 클러스터의 애플리케이션이 있는 부모 DNS 도메인입니다.

프로세스

  • 다음 명령을 실행하여 부동 IP 주소를 만듭니다.

    $ openstack floating ip create <external_network_id>
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <external_network_id>
    외부 네트워크의 ID를 지정합니다.
참고

--openstack-ingress-floating-ip 플래그를 사용하여 미리 IP 주소를 생성하지 않고 해당 IP 주소를 지정하면 cloud-provider-openstack 구성 요소가 자동으로 해당 IP 주소를 생성하려고 시도합니다. 이 프로세스는 Neutron API 정책이 특정 IP 주소로 부동 IP 주소를 생성하는 것을 허용하는 경우에만 성공합니다.

4.7.4. OpenStack에 RHCOS 이미지 업로드

호스팅된 제어 플레인과 Red Hat OpenStack Platform(RHOSP) 배포에 노드 풀을 배포할 때 사용할 RHCOS 이미지를 지정하려면 이미지를 RHOSP 클라우드에 업로드합니다. 이미지를 업로드하지 않으면 OpenStack Resource Controller(ORC)가 OpenShift Container Platform 미러에서 이미지를 다운로드하고 호스팅된 클러스터를 삭제한 후 해당 이미지를 삭제합니다.

사전 요구 사항

  • OpenShift Container Platform 미러에서 RHCOS 이미지를 다운로드했습니다.
  • RHOSP 클라우드에 액세스할 수 있습니다.

프로세스

  • 다음 명령을 실행하여 RHCOS 이미지를 RHOSP에 업로드합니다.

    $ openstack image create --disk-format qcow2 --file <image_file_name> rhcos
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <image_file_name>
    RHCOS 이미지의 파일 이름을 지정합니다.

4.7.5. OpenStack에서 호스팅 클러스터 생성

hcp CLI를 사용하여 Red Hat OpenStack Platform(RHOSP)에서 호스팅 클러스터를 생성할 수 있습니다.

사전 요구 사항

  • "호스팅된 제어 평면 배포 준비"의 모든 필수 단계를 완료했습니다.
  • "OpenStack의 필수 구성 요소"를 검토했습니다.
  • "etcd 로컬 스토리지를 위한 관리 클러스터 준비"의 모든 단계를 완료했습니다.
  • 관리 클러스터에 액세스할 수 있습니다.
  • RHOSP 클라우드에 액세스할 수 있습니다.

프로세스

  • hcp create 명령을 실행하여 호스팅 클러스터를 만듭니다. 예를 들어, "etcd 로컬 스토리지를 위한 관리 클러스터 준비"에 자세히 설명된 고성능 etcd 구성을 활용하는 클러스터의 경우 다음을 입력합니다.

    $ hcp create cluster openstack \
      --name my-hcp-cluster \
      --openstack-node-flavor m1.xlarge \
      --base-domain example.com \
      --pull-secret /path/to/pull-secret.json \
      --release-image quay.io/openshift-release-dev/ocp-release:4.19.0-x86_64 \
      --node-pool-replicas 3 \
      --etcd-storage-class lvms-etcd-class
    Copy to Clipboard Toggle word wrap
참고

클러스터 생성 시에는 다양한 옵션을 사용할 수 있습니다. RHOSP 관련 옵션에 대한 자세한 내용은 "OpenStack에서 호스팅된 제어 평면 클러스터를 생성하기 위한 옵션"을 참조하세요. 일반 옵션에 대한 내용은 hcp 문서를 참조하세요.

검증

  1. 다음 명령을 실행하여 호스팅된 클러스터가 준비되었는지 확인하세요.

    $ oc -n clusters-<cluster_name> get pods
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <cluster_name>
    클러스터의 이름을 지정합니다.

    몇 분 후에는 호스팅된 제어 평면 포드가 실행 중이라는 출력이 표시됩니다.

    출력 예

    NAME                                                  READY   STATUS    RESTARTS   AGE
    capi-provider-5cc7b74f47-n5gkr                        1/1     Running   0          3m
    catalog-operator-5f799567b7-fd6jw                     2/2     Running   0          69s
    certified-operators-catalog-784b9899f9-mrp6p          1/1     Running   0          66s
    cluster-api-6bbc867966-l4dwl                          1/1     Running   0          66s
    ...
    ...
    ...
    redhat-operators-catalog-9d5fd4d44-z8qqk              1/1     Running   0
    Copy to Clipboard Toggle word wrap

  2. 클러스터의 etcd 구성을 검증하려면:

    1. 다음 명령을 실행하여 etcd 영구 볼륨 클레임(PVC)을 검증합니다.

      $ oc get pvc -A
      Copy to Clipboard Toggle word wrap
    2. 호스팅된 제어 평면 etcd Pod 내부에서 다음 명령을 실행하여 마운트 경로와 장치를 확인하세요.

      $ df -h /var/lib
      Copy to Clipboard Toggle word wrap
참고

클러스터 API(CAPI) 공급자가 생성하는 RHOSP 리소스에는 openshiftClusterID=<infraID> 레이블이 지정됩니다.

호스팅 클러스터를 생성하는 데 사용하는 YAML 매니페스트의 HostedCluster.Spec.Platform.OpenStack.Tags 필드의 값으로 리소스에 대한 추가 태그를 정의할 수 있습니다. 노드 풀을 확장한 후에는 태그가 리소스에 적용됩니다.

4.7.5.1. OpenStack에서 호스팅 제어 평면 클러스터를 생성하기 위한 옵션

Red Hat OpenStack Platform(RHOSP)에서 호스팅 제어 플레인 클러스터를 배포하는 동안 hcp CLI에 여러 옵션을 제공할 수 있습니다.

Expand
옵션설명필수 항목

--openstack-ca-cert-file

OpenStack CA 인증서 파일의 경로입니다. 제공되지 않으면 clouds.yaml 의 클라우드 항목에서 자동으로 추출됩니다.

없음

--openstack-cloud

clouds.yaml 의 클라우드 항목 이름입니다. 기본값은 openstack 입니다.

없음

--openstack-credentials-file

OpenStack 자격 증명 파일의 경로입니다. 제공되지 않으면 hcp는 다음 디렉토리를 검색합니다.

  • 현재 작업 디렉토리
  • $HOME/.config/openstack
  • /etc/openstack

없음

--openstack-dns-nameservers

서브넷을 생성할 때 제공되는 DNS 서버 주소 목록입니다.

없음

--openstack-external-network-id

OpenStack 외부 네트워크의 ID입니다.

없음

--openstack-ingress-floating-ip

OpenShift 수신을 위한 플로팅 IP.

없음

--openstack-node-additional-port

노드에 연결할 추가 포트. 유효한 값은 network-id , vnic-type , disable-port-securityaddress-pairs 입니다.

없음

--openstack-node-availability-zone

노드 풀의 가용성 영역입니다.

없음

--openstack-node-flavor

노드 풀에 대한 설명입니다.

제공됨

--openstack-node-image-name

노드 풀의 이미지 이름입니다.

없음

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat