10장. 여러 오버클라우드 배포

중요

이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.

단일 언더클라우드 노드를 사용하여 여러 오버클라우드를 배포 및 관리할 수 있습니다. 각 오버클라우드는 스택 리소스를 공유하지 않는 고유한 heat 스택입니다. 이 기능은 언더클라우드와 오버클라우드의 비율이 1:1이라서 생성되는 오버헤드를 관리할 수 없는 환경에서 유용할 수 있습니다. 예를 들어 Edge, 다중 사이트, 다중 제품 환경 등이 있습니다.

여러 오버클라우드 배포의 오버클라우드 환경은 완전히 분리되어 있으며, source 명령을 사용하여 환경 간에 전환할 수 있습니다. 각 오버클라우드에는 배포 프로세스에서 생성한 고유한 인증 정보 파일이 있습니다. 오버클라우드와 상호 작용하려면 적절한 인증 정보 파일을 소싱해야 합니다.

베어 메탈 프로비저닝에 Bare Metal Provisioning 서비스(ironic)를 사용하는 경우 모든 오버클라우드가 동일한 프로비저닝 네트워크에 있어야 합니다. 동일한 프로비저닝 네트워크를 사용할 수 없는 경우 배포된 서버 방법을 사용하여 라우팅된 네트워크로 여러 오버클라우드를 배포할 수 있습니다. 이 시나리오에서는 HostnameMap 매개변수의 값이 각 오버클라우드의 스택 이름과 일치하는지 확인해야 합니다.

단일 언더클라우드에 여러 오버클라우드를 배포하려면 다음 작업을 수행해야 합니다.

  1. 언더클라우드를 배포합니다. 자세한 내용은 Part I. Director 설치 및 설정.
  2. 첫 번째 오버클라우드를 배포합니다. 자세한 내용은 Part II를 참조하십시오. 기본 오버클라우드 배포.
  3. 새 오버클라우드에 사용할 새 환경 파일 세트를 생성하고 배포 명령에 새 설정 파일 및 새 스택 이름과 함께 코어 heat 템플릿을 지정하여 추가 오버클라우드를 배포합니다.

10.1. 추가 오버클라우드 배포

단일 언더클라우드에 두 개 이상의 오버클라우드를 배포할 수 있습니다. 다음 절차에서는 기존 오버클라우드인 overcloud-one 이 있는 기존 RHOSP(Red Hat OpenStack Platform) 배포에서 새 오버클라우드 overcloud-two 를 생성하고 배포하는 방법을 설명합니다.

사전 요구 사항

  • 언더클라우드.
  • 하나 이상의 오버클라우드.
  • 추가 오버클라우드에 사용할 수 있는 노드입니다.
  • 결과 스택에서 각 오버클라우드에 고유한 네트워크가 있도록 추가 오버클라우드에 사용할 사용자 지정 네트워크

절차

  1. 언더클라우드 호스트에 stack 사용자로 로그인합니다.
  2. stackrc 언더클라우드 인증 정보 파일을 소싱합니다.

    $ source ~/stackrc
  3. 배포하려는 추가 오버클라우드에 사용할 새 디렉터리를 생성합니다.

    (undercloud)$ mkdir ~/overcloud-two
  4. 기존 오버클라우드의 network_data.yaml 파일을 추가 오버클라우드의 새 디렉터리로 복사합니다.

    (undercloud)$ cp network_data.yaml ~/overcloud-two/network_data.yaml
  5. ~/overcloud-two/network_data.yaml 파일을 열고 name_lower 를 추가 오버클라우드 네트워크의 고유한 이름으로 업데이트합니다.

    - name: InternalApi
      name_lower: internal_api_cloud_2
      ...
  6. service_net_map_replace 이 없으면 값을 추가 오버클라우드 네트워크의 기본값으로 설정합니다.

    - name: InternalApi
      name_lower: internal_api_cloud_2
      service_net_map_replace: internal_api
  7. 추가 오버클라우드에서 각 서브넷의 VLAN ID를 지정합니다.

    - name: InternalApi
      ...
      vip: true
      vlan: 21
      ip_subnet: '172.21.0.0/24'
      allocation_pools: [{'start': '172.21.0.4', 'end': '172.21.0.250'}]
      ipv6_subnet: 'fd00:fd00:fd00:2001::/64'
      ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2001::10', 'end': 'fd00:fd00:fd00:2001:ffff:ffff:ffff:fffe'}]
      mtu: 1500
    - name: Storage
      ...
  8. overcloud-two 외부 네트워크의 게이트웨이 IP 주소를 지정합니다.

    - name: External
      ...
      gateway_ip: <ip_address>
      ...
    • & lt;ip_address >를 overcloud-two 외부 네트워크의 게이트웨이 IP 주소로 바꿉니다(예: 10.0.10.1 ).
  9. /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml 파일에 제공된 기본 분리된 네트워크 구성을 덮어쓰는 추가 오버클라우드의 네트워크 구성 파일을 만듭니다(예: network_overrides.yaml ).
  10. ~/overcloud-two/network_overrides.yaml 파일을 열고 overcloud-two DNS 서버의 IP 주소를 추가합니다.

    parameter_defaults:
      ...
      DnsServers:
        - <ip_address>
      ...
    • & lt;ip_address >를 overcloud-two DNS 서버의 IP 주소로 바꿉니다(예: 10.0.10. 2).
  11. 배포에서 예측 가능한 IP 주소를 사용하는 경우 새 네트워크 IP 주소 매핑 파일 ips-from-pool- overcloud-two.yaml에서 overcloud-two 노드의 IP 주소를 구성합니다.

    parameter_defaults:
      ControllerIPs:
      ...
        internal_api_cloud_2:
        - 192.168.1.10
        - 192.168.1.11
        - 192.168.1.12
        ...
        external_cloud_2:
        - 10.0.1.41
        ...
  12. 다른 환경 파일과 함께 overcloud-two 환경 파일을 스택에 추가하고 추가 오버클라우드를 배포합니다.

    (undercloud)$ openstack overcloud deploy --templates \
      --stack overcloud-two \
      -n ~/overcloud-two/network_data.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml \
      -e ~/overcloud-two/network_overrides.yaml \
      -e [your environment files] \
      ...

    배포 프로세스는 overcloud-two 와 상호 작용하고 관리하기 위해 overcloud-tworc 를 생성합니다.

  13. 추가 오버클라우드와 상호 작용하려면 오버클라우드 인증 정보 파일을 소싱합니다.

    $ source overcloud-tworc