4.7. OpenStack에 호스팅된 컨트롤 플레인 배포


중요

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

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

RHOSP(Red Hat OpenStack Platform) 17.1에서 실행되는 호스팅된 클러스터로 호스팅되는 컨트롤 플레인을 배포할 수 있습니다.

호스팅 클러스터는 관리 클러스터에서 호스팅되 는 API 끝점 및 컨트롤 플레인이 있는 OpenShift Container Platform 클러스터입니다. 호스트된 컨트롤 플레인을 사용하면 각 컨트롤 플레인의 전용 가상 또는 물리적 시스템 필요 없이 컨트롤 플레인이 관리 클러스터에 Pod로 존재합니다.

4.7.1. OpenStack 사전 요구 사항

RHOSP(Red Hat OpenStack Platform)에서 호스팅 클러스터를 생성하기 전에 다음 요구 사항을 충족해야 합니다.

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

    • ingress가 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 로컬 스토리지를 위한 관리 클러스터 준비

RHOSP(Red Hat OpenStack Platform)에 HCP(Hosted Control Plane) 배포에서 기본 Cinder 기반 PVC(영구 볼륨 클레임)를 사용하는 대신 TopoLVM CSI 드라이버로 프로비저닝된 로컬 임시 스토리지를 사용하여 etcd 성능을 향상시킬 수 있습니다.

사전 요구 사항

  • HyperShift가 설치된 관리 클러스터에 액세스할 수 있습니다.
  • RHOSP 플레이버 및 머신 세트를 생성하고 관리할 수 있습니다.
  • ocopenstack CLI 툴이 설치되어 구성되어 있습니다.
  • TopoLVM 및 LVM(Logical Volume Manager) 스토리지 개념에 대해 잘 알고 있습니다.
  • 관리 클러스터에 LVM Storage Operator가 설치되어 있어야 합니다. 자세한 내용은 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

    이 예에서 resource는 다음과 같습니다.

    • 임시 디스크 위치는 대부분의 경우 /dev/vdb 입니다. 경우에 따라 이 위치가 true인지 확인하고 심볼릭 링크가 지원되지 않습니다.
    • 기본 Nova 임시 디스크가 VFAT 형식으로 포맷되므로 매개 변수 forceWipeDevicesAndDestroyAllDataTrue 값으로 설정됩니다.
  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. Ingress를 위한 유동 IP 생성

수동으로 개입하지 않고 호스팅 클러스터에서 수신을 사용하려면 유동 IP 주소를 미리 생성할 수 있습니다.

사전 요구 사항

  • RHOSP(Red Hat OpenStack Platform) 클라우드에 액세스할 수 있습니다.
  • 수신에 사전 정의된 유동 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 주소를 지정하면 cloud-provider-openstack 구성 요소가 자동으로 생성하려고 합니다. 이 프로세스는 Neutron API 정책에서 특정 IP 주소로 유동 IP 주소를 생성할 수 있는 경우에만 성공합니다.

4.7.4. OpenStack에 RHCOS 이미지 업로드

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

사전 요구 사항

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

프로세스

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

    $ 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를 사용하여 RHOSP(Red Hat OpenStack Platform)에서 호스팅 클러스터를 생성할 수 있습니다.

사전 요구 사항

  • "호스트된 컨트롤 플레인 배포 준비"에서 모든 사전 요구 사항 단계를 완료했습니다.
  • "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
참고

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

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

4.7.5.1. OpenStack에서 호스팅 컨트롤 플레인 클러스터를 생성하는 옵션

RHOSP(Red Hat OpenStack Platform)에 호스팅 컨트롤 플레인 클러스터를 배포하는 동안 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-security, address-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