15.7. 환경 파일 준비 및 novajoin 등록으로 오버클라우드 배포
IdM 통합으로 오버클라우드를 배포하려면 환경 파일을 생성하고 편집하여 오버클라우드에 정의된 도메인에 따라 사용자 정의 도메인 매개변수 CloudDomain
및 CloudName
을 사용하도록 오버클라우드를 구성하고 편집합니다. 그런 다음 배포에 필요한 모든 환경 파일과 함께 오버클라우드를 배포합니다.
절차
/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
/home/stack/templates/custom-domain.yaml
환경 파일을 편집하고 배포에 맞게CloudDomain
및CloudName*
값을 설정합니다.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
사용자 환경에 적합한 TLS 구현을 선택합니다.
enable-tls.yaml
환경 파일을 사용하여 사용자 정의 인증서로 외부 끝점을 보호합니다.-
/usr/share/openstack-tripleo-heat-templates/environments/ssl/enable-tls.yaml
을/home/stack/templates
에 복사합니다. -
사용자 정의 인증서 및 키를 포함하도록
/home/stack/enable-tls.yaml
환경 파일을 수정합니다. 배포에 다음 환경 파일을 포함하여 내부 및 외부 엔드포인트를 보호합니다.
- enable-internal-tls.yaml
- tls-every-endpoints-dns.yaml
- custom-domain.yaml
enable-tls.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 /home/stack/templates/enable-tls.yaml
-
haproxy-public-tls-certmonger.yaml
환경 파일을 사용하여 IdM 발행 인증서가 있는 외부 엔드포인트를 보호합니다. 이 구현을 위해 novajoin에서 사용하는 VIP 끝점에 대한 DNS 항목을 생성해야 합니다.novajoin에서 사용하는 VIP 엔드포인트에 대한 DNS 항목을 생성해야 합니다.
'/home/stack/templates의 사용자 지정 network-environment.yaml 파일에 있는
오버클라우드 네트워크를 식별합니다.parameter_defaults: ControlPlaneDefaultRoute: 192.168.24.1 ExternalAllocationPools: - end: 10.0.0.149 start: 10.0.0.101 InternalApiAllocationPools: - end: 172.17.1.149 start: 172.17.1.10 StorageAllocationPools: - end: 172.17.3.149 start: 172.17.3.10 StorageMgmtAllocationPools: - end: 172.17.4.149 start: 172.17.4.10
heat 템플릿에 각 오버클라우드 네트워크의 가상 IP 주소 목록을 생성합니다(예:
/home/stack/public_vip.yaml
).parameter_defaults: ControlFixedIPs: [{'ip_address':'192.168.24.101'}] PublicVirtualFixedIPs: [{'ip_address':'10.0.0.101'}] InternalApiVirtualFixedIPs: [{'ip_address':'172.17.1.101'}] StorageVirtualFixedIPs: [{'ip_address':'172.17.3.101'}] StorageMgmtVirtualFixedIPs: [{'ip_address':'172.17.4.101'}] RedisVirtualFixedIPs: [{'ip_address':'172.17.1.102'}]
필요에 따라 각 VIP 및 영역에 대한 IdM에 DNS 항목을 추가합니다.
ipa dnsrecord-add lab.local overcloud --a-rec 10.0.0.101 ipa dnszone-add ctlplane.lab.local ipa dnsrecord-add ctlplane.lab.local overcloud --a-rec 192.168.24.101 ipa dnszone-add internalapi.lab.local ipa dnsrecord-add internalapi.lab.local overcloud --a-rec 172.17.1.101 ipa dnszone-add storage.lab.local ipa dnsrecord-add storage.lab.local overcloud --a-rec 172.17.3.101 ipa dnszone-add storagemgmt.lab.local ipa dnsrecord-add storagemgmt.lab.local overcloud --a-rec 172.17.4.101
배포에 다음 환경 파일을 포함하여 내부 및 외부 엔드포인트를 보호합니다.
- enable-internal-tls.yaml
- tls-everywhere-endpoints-dns.yaml
- haproxy-public-tls-certmonger.yaml
- custom-domain.yaml
public_vip.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 /usr/share/openstack-tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml \ -e /home/stack/templates/custom-domain.yaml \ -e /home/stack/templates/public-vip.yaml
novajoin을 사용하여 기존 배포에서 TLS-e를 구현할 수 없습니다.
추가 리소스