6.8. Compute 서비스 채택


Compute 서비스(nova)를 채택하기 위해 Compute 서비스가 비활성화된 기존 OpenStackControlPlane CR(사용자 정의 리소스)을 패치합니다. 패치는 RHOSP(Red Hat OpenStack Platform) 환경에서 제공하는 구성 매개변수로 서비스를 시작합니다. 다음 절차에서는 단일 셀 설정을 설명합니다.

사전 요구 사항

  • 이전 채택 단계를 완료했습니다.
  • 다음 쉘 변수를 정의했습니다. 다음 예제 값을 환경에 적합한 값으로 바꿉니다.

    alias openstack="oc exec -t openstackclient -- openstack"
    
    DEFAULT_CELL_NAME="cell3"
    RENAMED_CELLS="cell1 cell2 $DEFAULT_CELL_NAME"
    • 소스 클라우드 기본 셀은 새로운 $DEFAULT_CELL_NAME 을 사용합니다. 다중 셀 채택 시나리오에서 기본 셀은 원래 이름,DEFAULT_CELL_NAME=default 를 유지하거나 사용할 수 없는 셀로 이름이 변경될 수 있습니다. DEFAULT_CELL_NAME 에는 다른 기존 셀 이름을 사용하지 마십시오( 기본값 ).
    • 기본 셀을 사용하여 소스 클라우드를 배포하고 채택 중에 이름을 변경하려면 다음 예와 같이 사용할 새 이름을 정의합니다.

      DEFAULT_CELL_NAME="cell1"
      RENAMED_CELLS="cell1"

프로세스

  1. OpenStackControlPlane CR을 패치하여 Compute 서비스를 배포합니다.

    참고

    이 절차에서는 Compute 서비스 메타데이터가 각 셀 수준에 배포되지 않고 최상위 수준에 배포되었다고 가정합니다. RHOSP 배포에 셀별 메타데이터 배포가 있는 경우 필요에 따라 다음 패치를 조정합니다. cell0 에서는 메타데이터 서비스를 실행할 수 없습니다. 로컬 셀의 메타데이터 서비스를 활성화하려면 OpenStackControlPlane CR에서 local 셀의 metadataServiceTemplate 필드에 enabled 속성을 true 로 설정합니다.

    $ rm -f celltemplates
    $ for CELL in $(echo $RENAMED_CELLS); do
     $ cat >> celltemplates << EOF
            ${CELL}:
              hasAPIAccess: true 
    1
    
              cellDatabaseAccount: nova-$CELL
              cellDatabaseInstance: openstack-$CELL 
    2
    
              cellMessageBusInstance: rabbitmq-$CELL 
    3
    
              metadataServiceTemplate:
                enabled: false
                override:
                    service:
                      metadata:
                        annotations:
                          metallb.universe.tf/address-pool: internalapi
                          metallb.universe.tf/allow-shared-ip: internalapi
                          metallb.universe.tf/loadBalancerIPs: 172.17.0.$(( 79 + ${CELL##*cell} ))
                      spec:
                        type: LoadBalancer
                customServiceConfig: |
                  [workarounds]
                  disable_compute_service_check_for_ffu=true
              conductorServiceTemplate:
                customServiceConfig: |
                  [workarounds]
                  disable_compute_service_check_for_ffu=true
    EOF
    done
    
    $ cat > oscp-patch.yaml << EOF
    spec:
      nova:
        enabled: true
        apiOverride:
          route: {}
        template:
          secret: osp-secret
          apiDatabaseAccount: nova-api
          apiServiceTemplate:
            override:
              service:
                internal:
                  metadata:
                    annotations:
                      metallb.universe.tf/address-pool: internalapi
                      metallb.universe.tf/allow-shared-ip: internalapi
                      metallb.universe.tf/loadBalancerIPs: 172.17.0.80 
    4
    
                  spec:
                    type: LoadBalancer
            customServiceConfig: |
              [workarounds]
              disable_compute_service_check_for_ffu=true
          metadataServiceTemplate:
            enabled: true
            override:
              service:
                metadata:
                  annotations:
                    metallb.universe.tf/address-pool: internalapi
                    metallb.universe.tf/allow-shared-ip: internalapi
                    metallb.universe.tf/loadBalancerIPs: 172.17.0.80
                spec:
                  type: LoadBalancer
            customServiceConfig: |
              [workarounds]
              disable_compute_service_check_for_ffu=true
          schedulerServiceTemplate:
            customServiceConfig: |
              [workarounds]
              disable_compute_service_check_for_ffu=true
          cellTemplates:
            cell0:
              hasAPIAccess: true
              cellDatabaseAccount: nova-cell0
              cellDatabaseInstance: openstack
              cellMessageBusInstance: rabbitmq
              conductorServiceTemplate:
                customServiceConfig: |
                  [workarounds]
                  disable_compute_service_check_for_ffu=true
    EOF
    
    $ cat celltemplates >> oscp-patch.yaml
    $ oc patch openstackcontrolplane openstack  --type=merge --patch-file=oscp-patch.yaml
    1
    소스 클라우드에서 셀은 항상 기본 Nova API 데이터베이스 upcall 액세스를 사용하여 구성됩니다. hasAPIAccessfalse 로 설정하여 API에 대한 upcall 액세스를 비활성화할 수 있습니다. 그러나 채택 중에 API를 변경하지 마십시오.
    2
    셀에서 사용하는 데이터베이스 인스턴스입니다. 데이터베이스 인스턴스 이름은 백엔드 서비스 배포에 설명된 대로 백엔드 서비스를 배포할 때 생성한 OpenStackControlPlane CR에 정의된 이름과 일치해야 합니다. ???
    3
    셀에서 사용하는 메시지 버스 인스턴스입니다. 메시지 버스 인스턴스 이름은 OpenStackControlPlane CR에 정의된 이름과 일치해야 합니다.
    4
    IPv6를 사용하는 경우 로드 밸런서 IP를 환경의 로드 밸런서 IP(예: metallb.universe.tf/loadBalancerIPs: fd00:bbbb::80 )로 변경합니다.
  2. Bare Metal Provisioning 서비스(ironic)를 사용하여 Compute 서비스를 채택하는 경우 Compute 서비스 CR 패치의 각 셀에 다음 콘텐츠를 사용하여 novaComputeTemplates 필드를 추가합니다. 예를 들면 다음과 같습니다.

            cell1:
              novaComputeTemplates:
                standalone:
                  customServiceConfig: |
                    [DEFAULT]
                    host = <hostname>
                    [workarounds]
                    disable_compute_service_check_for_ffu=true
                  computeDriver: ironic.IronicDriver
            ...
    • & lt;hostname >을 소스 클라우드에서 ironic Compute 드라이버를 실행 중인 노드의 호스트 이름으로 바꿉니다.
  3. 컴퓨팅 컨트롤 플레인 서비스가 준비될 때까지 CR을 기다립니다.

    $ oc wait --for condition=Ready --timeout=300s Nova/nova
    참고

    로컬 Conductor 서비스는 각 셀에 대해 시작되며 슈퍼 컨덕터는 cell0 에서 실행됩니다. disable_compute_service_check_for_ffu 는 외부 데이터 플레인을 가져올 때까지 모든 가져온 Compute 서비스에 대해 그리고 Compute 서비스가 빠르게 업그레이드될 때까지 필요합니다. 자세한 내용은 RHOSO 데이터 플레인에 대한 Compute 서비스 채택Compute 서비스에서 빠른 업그레이드 수행을 참조하십시오.

검증

  • Compute 서비스 엔드 포인트가 정의되어 있고 컨트롤 플레인 FQDN을 가리키고 Nova API가 응답하는지 확인합니다.

    $ openstack endpoint list | grep nova
    $ openstack server list
    • 토폴로지별 서비스 구성에서 토폴로지별 구성과 출력을 비교합니다.
  • 슈퍼 컨덕터(superconductor)를 쿼리하여 예상되는 셀이 존재하는지 확인하고 이를 pre-adoption 값과 비교합니다.

    $ for CELL in $(echo $CELLS); do
      set +u
      . ~/.source_cloud_exported_variables_$CELL
      set -u
      RCELL=$CELL
      [ "$CELL" = "default" ] && RCELL=$DEFAULT_CELL_NAME
    
      echo "comparing $CELL to $RCELL"
      echo $PULL_OPENSTACK_CONFIGURATION_NOVAMANAGE_CELL_MAPPINGS | grep -F "| $CELL |"
    
    $ oc rsh nova-cell0-conductor-0 nova-manage cell_v2 list_cells | grep -F "| $RCELL |"
    done

    각 셀에 대해 다음과 같은 변경 사항이 예상됩니다.

    • cellX nova 데이터베이스 및 사용자 이름은 nova_cellX 가 됩니다.
    • 기본 셀의 이름이 DEFAULT_CELL_NAME 으로 변경됩니다. 여러 개의 셀이 있는 경우 기본 셀은 원래 이름을 유지할 수 있습니다.
    • RabbitMQ 전송 URL에서 더 이상 게스트 를 사용하지 않습니다.
참고

이때 Compute 서비스 컨트롤 플레인 서비스는 기존 Compute 서비스 워크로드를 제어하지 않습니다. 컨트롤 플레인은 데이터 채택 프로세스가 완료된 후에만 데이터 플레인을 관리합니다. 자세한 내용은 RHOSO 데이터 플레인에 대한 Compute 서비스 채택을 참조하십시오.

중요

외부 컴퓨팅 서비스를 RHOSO 데이터 플레인으로 가져오려면 먼저 업그레이드해야 합니다. 자세한 내용은 RHOSO 데이터 플레인에 대한 Compute 서비스 채택Compute 서비스에서 빠른 업그레이드 수행을 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동