3.5. Ansible을 사용하여 TLS-e 구현
새로운 tripleo-ipa
방법을 사용하여 TLS(TLS-e)라는 오버클라우드 끝점에서 SSL/TLS를 활성화할 수 있습니다. Red Hat OpenStack Platform은 필요한 인증서 수로 인해 Red Hat IdM(Identity Management)과 통합됩니다. tripleo-ipa
를 사용하여 TLS-e를 구성하는 경우 IdM은 인증 기관입니다.
사전 요구 사항
stack 사용자 생성과 같은 언더클라우드의 모든 구성 단계가 완료되었는지 확인합니다. 자세한 내용은 Director Installation and Usage 를 참조하십시오.
절차
다음 절차에 따라 Red Hat OpenStack Platform 새 설치 또는 TLS-e로 구성하려는 기존 배포에 TLS-e를 구현합니다. 사전 프로비저닝된 노드에 TLS-e를 사용하여 Red Hat OpenStack Platform을 배포하는 경우 이 방법을 사용해야 합니다.
기존 환경에 TLS-e를 구현하는 경우 openstack undercloud install
, openstack overcloud deploy
와 같은 명령을 실행해야 합니다. 이러한 절차는 멱등이며 업데이트된 템플릿 및 구성 파일과 일치하도록 기존 배포 구성만 조정합니다.
/etc/resolv.conf
파일을 구성합니다./etc/resolv.conf
에서 적절한 검색 도메인과 언더클라우드의 네임서버를 설정합니다. 예를 들어 배포 도메인이example.com
이고 FreeIPA 서버의 도메인이bigcorp.com
인 경우 /etc/resolv.conf에 다음 행을 추가합니다.search example.com bigcorp.com nameserver $IDM_SERVER_IP_ADDR
search example.com bigcorp.com nameserver $IDM_SERVER_IP_ADDR
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 소프트웨어를 설치합니다.
sudo dnf install -y python3-ipalib python3-ipaclient krb5-devel
sudo dnf install -y python3-ipalib python3-ipaclient krb5-devel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 환경과 관련된 값을 사용하여 환경 변수를 내보냅니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고IdM 사용자 자격 증명은 새 호스트 및 서비스를 추가할 수 있는 관리자여야 합니다.
언더클라우드에서
undercloud-ipa-install.yaml
ansible 플레이북을 실행합니다.ansible-playbook \ --ssh-extra-args "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \ /usr/share/ansible/tripleo-playbooks/undercloud-ipa-install.yaml
ansible-playbook \ --ssh-extra-args "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \ /usr/share/ansible/tripleo-playbooks/undercloud-ipa-install.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow undercloud.conf에 다음 매개변수 추가
undercloud_nameservers = $IDM_SERVER_IP_ADDR overcloud_domain_name = example.com
undercloud_nameservers = $IDM_SERVER_IP_ADDR overcloud_domain_name = example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 언더클라우드를 배포합니다.
openstack undercloud install
openstack undercloud install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 단계를 완료하여 언더클라우드가 올바르게 등록되어 있는지 확인합니다.
IdM에 호스트를 나열합니다.
kinit admin ipa host-find
$ kinit admin $ ipa host-find
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/novajoin/gradleb5.keytab
이 언더클라우드에 있는지 확인합니다.ls /etc/novajoin/krb5.keytab
ls /etc/novajoin/krb5.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
novajoin
디렉터리 이름은 레거시 이름 지정 목적으로만 사용됩니다.
오버클라우드에서 TLS-e 구성
TLS(TLS-e)를 사용하여 오버클라우드를 배포할 때 Undercloud 및 Overcloud의 IP 주소가 IdM에 자동으로 등록됩니다.
자동 IP 주소 등록을 비활성화하려면 IDMModifyDNS
heat 매개변수를 false로 설정합니다.
parameter_defaults: .... IdMModifyDNS: false
parameter_defaults:
....
IdMModifyDNS: false
오버클라우드를 배포하기 전에 다음과 유사한 콘텐츠를 사용하여 YAML 파일
tls-parameters.yaml
을 생성합니다. 선택한 값은 환경에 따라 다릅니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
DnsServers
매개변수에는 IdM 서버의 IP 주소를 반영하는 값이 있어야 합니다. -
IdM 서버의 도메인이 클라우드 도메인과 다른 경우
DnsSearchDomains
매개변수에 포함합니다. 예를 들면 다음과 같습니다.DnsSearchDomains: ["example.com", "bigcorp.com"]
-
사전 프로비저닝된 노드가 있는 경우
IDMInstallClientPackages
매개변수 값을true
로 설정하여 오버클라우드 노드에 필요한 패키지를 설치합니다. -
복제된 IdM 환경을 사용할 때
IdmServer
매개변수에 대해 여러 쉼표로 구분된 값을 설정할 수 있습니다. IdM 복제본에 대한 자세한 내용은 IdM 복제본 설치를 참조하십시오. -
OS::TripleO::Services::IpaClient
매개변수의 표시된 값은enable-internal-tls.yaml
파일의 기본 설정을 덮어씁니다.openstack overcloud deploy
명령에서tls-parameters.yaml
파일이enable-internal-tls.yaml
인지 확인해야 합니다. -
cinder가 active-active로 구성된 분산 Compute 노드(DCN) 아키텍처를 실행 중인 경우
EnableEtcdInternalTLS
매개변수를true
로 추가하고 설정해야 합니다.
-
오버클라우드를 배포합니다. 배포 명령에 tls-parameters.yaml을 포함해야 합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 끝점 목록에 keystone을 쿼리하여 각 끝점이 HTTPS를 사용하고 있는지 확인합니다.
openstack endpoint list
openstack endpoint list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow