Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

3.2. 오버클라우드에 novajoin 설치 및 설정

이 섹션에서는 IdM에 오버클라우드 노드를 등록하는 방법을 설명합니다.

3.2.1. 오버클라우드 DNS 설정

IdM 환경을 자동으로 감지하고 쉽게 등록할 수 있도록 하려면 IdM을 DNS 서버로 사용하는 것이 좋습니다.

  1. 언더클라우드에 연결합니다.

    $ source ~/stackrc
  2. DNS 이름 서버로 IdM을 사용하도록 컨트롤 플레인 서브넷을 구성합니다.

    $ openstack subnet set ctlplane-subnet --dns-nameserver  <idm_server_address>
  3. IdM 서버를 사용하도록 환경 파일에서 DnsServers 매개변수를 설정합니다.

    parameter_defaults:
      DnsServers: ["<idm_server_address>"]

    이 매개변수는 일반적으로 사용자 지정 network-environment.yaml 파일에 정의되어 있습니다.

3.2.2. novajoin을 사용하도록 오버클라우드 설정

  1. IdM 통합을 활성화하려면 /usr/share/openstack-tripleo-heat-templates/environments/predictable-placement/custom-domain.yaml 환경 파일의 사본을 생성합니다.

    $ cp /usr/share/openstack-tripleo-heat-templates/environments/predictable-placement/custom-domain.yaml \
      /home/stack/templates/custom-domain.yaml
  2. /home/stack/templates/custom-domain.yaml 환경 파일을 편집하고 배포에 맞게 CloudDomainCloudName* 값을 설정합니다. 예를 들면 다음과 같습니다.

    parameter_defaults:
      CloudDomain: lab.local
      CloudName: overcloud.lab.local
      CloudNameInternal: overcloud.internalapi.lab.local
      CloudNameStorage: overcloud.storage.lab.local
      CloudNameStorageManagement: overcloud.storagemgmt.lab.local
      CloudNameCtlplane: overcloud.ctlplane.lab.local
  3. 오버클라우드 배포 프로세스에 다음 환경 파일을 포함합니다.

    • /usr/share/openstack-tripleo-heat-templates/environments/ssl/enable-internal-tls.yaml
    • /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-everywhere-endpoints-dns.yaml
    • /home/stack/templates/custom-domain.yaml

      예를 들면 다음과 같습니다.

      openstack overcloud deploy \
        --templates \
         -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/enable-internal-tls.yaml \
         -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-everywhere-endpoints-dns.yaml \
         -e /home/stack/templates/custom-domain.yaml \

      결과적으로 배포된 Overcloud 노드가 IdM에 자동으로 등록됩니다.

  4. 이는 내부 엔드포인트에 대해서만 TLS를 설정합니다. 외부 끝점의 경우 /usr/share/openstack-tripleo-heat-templates/environments/ssl/enable-tls.yaml 환경 파일을 사용하여 TLS를 추가하는 일반 수단을 사용할 수 있습니다(사용자 정의 인증서 및 키를 추가하도록 수정해야 함). 결과적으로 openstack deploy 명령은 다음과 유사합니다.

    openstack overcloud deploy \
      --templates \
      -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/enable-internal-tls.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-everywhere-endpoints-dns.yaml \
      -e /home/stack/templates/custom-domain.yaml \
      -e /home/stack/templates/enable-tls.yaml
  5. 또는 IdM을 사용하여 공용 인증서를 발행할 수도 있습니다. 이 경우 /usr/share/openstack-tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml 환경 파일을 사용해야 합니다. 예를 들면 다음과 같습니다.

    openstack overcloud deploy \
      --templates \
       -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/enable-internal-tls.yaml \
       -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-everywhere-endpoints-dns.yaml \
       -e /home/stack/templates/custom-domain.yaml \
       -e /usr/share/openstack-tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml