5장. 중앙 위치 설치

DCN(Distributed Compute Node) 아키텍처의 중앙 위치를 배포할 때 클러스터를 배포할 수 있습니다.

  • 컴퓨팅 노드 유무
  • Red Hat Ceph Storage 사용 여부

Red Hat Ceph Storage 없이 Red Hat OpenStack Platform을 중앙 위치에 배포하는 경우 Red Hat Ceph 스토리지를 사용하여 에지 사이트를 배포할 수 없습니다. 또한 재배포를 통해 나중에 중앙 위치에 Red Hat Ceph Storage를 추가할 수 있는 옵션이 없습니다.

5.1. 에지 스토리지 없이 중앙 컨트롤러 배포

Object Storage 서비스(swift)를 중앙 위치에서 Image 서비스(glance)의 백엔드로 사용하는 경우 에지 사이트에 블록 스토리지 없이 분산 컴퓨팅 노드 클러스터를 배포할 수 있습니다. 블록 스토리지 없이 배포된 사이트는 나중에 각 아키텍처의 다양한 역할 및 네트워킹 프로필로 인해 블록 스토리지를 보유할 수 없습니다.

중요: 다음 절차에서는 프로덕션에 지원되지 않는 Cinder의 백엔드로 lvm을 사용합니다. 인증된 블록 스토리지 솔루션을 Cinder의 백엔드로 배포해야 합니다.

일반적인 Overcloud 배포와 유사한 방식으로 중앙 컨트롤러 클러스터를 배포합니다. 이 클러스터에는 컴퓨팅 노드가 필요하지 않으므로 컴퓨팅 수를 0 으로 설정하여 기본값 1 을 재정의할 수 있습니다. 중앙 컨트롤러에는 특정 스토리지 및 Oslo 구성 요구 사항이 있습니다. 다음 절차에 따라 이러한 요구 사항을 해결하십시오.

절차

다음 절차에서는 중앙 위치의 초기 배포 단계를 간략하게 설명합니다.

참고

다음 단계에서는 glance 다중 저장소 없이 DCN 배포 예와 관련된 배포 명령 및 환경 파일을 자세히 설명합니다. 이러한 단계에는 관련이 없지만 네트워킹과 같은 구성 측면이 필요하지 않습니다.

  1. 홈 디렉토리에서 배포하려는 각 스택의 디렉터리를 생성합니다.

    mkdir /home/stack/central
    mkdir /home/stack/dcn0
    mkdir /home/stack/dcn1
  2. 다음과 유사한 설정으로 central/overrides.yaml 이라는 파일을 생성합니다.

    parameter_defaults:
      NtpServer:
        - 0.pool.ntp.org
        - 1.pool.ntp.org
      ControllerCount: 3
      ComputeCount: 0
      OvercloudControllerFlavor: baremetal
      OvercloudComputeFlavor: baremetal
      ControllerSchedulerHints:
        'capabilities:node': '0-controller-%index%'
      GlanceBackend: swift
    • ControllerCount: 3 은 세 개의 노드가 배포되도록 지정합니다. glance에는 swift, cinder는 lvm, 에지 계산 노드에 대해 컨트롤 플레인 서비스를 호스팅합니다.
    • ComputeCount: 0 은(는) 컴퓨팅 노드가 중앙 컨트롤러 노드와 함께 배포되지 않도록 하는 선택적 매개변수입니다.
    • GlanceBackend: swift 는 Object Storage(swift)를 Image 서비스(glance) 백엔드로 사용합니다.

      결과 구성은 다음과 같은 방식으로 DCN(분산 컴퓨팅 노드)과 상호 작용합니다.

    • DCN의 이미지 서비스는 중앙 오브젝트 스토리지 백엔드에서 수신하는 이미지의 캐시된 복사본을 생성합니다. 이미지 서비스는 HTTP를 사용하여 오브젝트 스토리지의 이미지를 로컬 디스크 캐시로 복사합니다.

      참고

      중앙 컨트롤러 노드는 DCN(분산 계산 노드) 사이트에 연결할 수 있어야 합니다. 중앙 컨트롤러 노드는 라우팅된 계층 3 연결을 사용할 수 있습니다.

  3. 환경에 적합한 역할을 사용하여 중앙 위치에 대한 역할을 생성합니다.

    openstack overcloud roles generate Controller \
    -o ~/central/control_plane_roles.yaml
  4. 환경 파일 ~/central/central-images-env.yaml을 생성합니다.

    sudo openstack tripleo container image prepare \
    -e containers.yaml \
    --output-env-file ~/central/central-images-env.yaml
  5. site -name.yaml 환경 파일에서 사이트에 대한 명명 규칙을 구성합니다. Cinder 스토리지 가용성 영역은 Nova 가용성 영역과 일치해야 합니다.

    cat > /home/stack/central/site-name.yaml << EOF
    parameter_defaults:
        NovaComputeAvailabilityZone: central
        ControllerExtraConfig:
            nova::availability_zone::default_schedule_zone: central
        NovaCrossAZAttach: false
        CinderStorageAvailabilityZone: central
    EOF
  6. 중앙 컨트롤러 노드를 배포합니다. 예를 들어 다음 콘텐츠가 있는 deploy.sh 파일을 사용할 수 있습니다.

    #!/bin/bash
    
    source ~/stackrc
    time openstack overcloud deploy \
    --stack central \
    --templates /usr/share/openstack-tripleo-heat-templates/ \
    -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \
    -e ~/central/containers-env-file.yaml \
    -e ~/central/overrides.yaml \
    -e ~/central/site-name.yaml
참고

openstack overcloud deploy 명령에서 네트워킹 구성을 위해 heat 템플릿을 포함해야 합니다. 에지 아키텍처를 설계하려면 스파인 및 루프 네트워킹이 필요합니다. 자세한 내용은 Spine Leaf Networking 을 참조하십시오.