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 와 같은 명령을 실행해야 합니다. 이러한 절차는 멱등이며 업데이트된 템플릿 및 구성 파일과 일치하도록 기존 배포 구성만 조정합니다.

  1. /etc/resolv.conf 파일을 구성합니다.

    /etc/resolv.conf 에서 적절한 검색 도메인과 언더클라우드의 네임서버를 설정합니다. 예를 들어 배포 도메인이 example.com 이고 FreeIPA 서버의 도메인이 bigcorp.com 인 경우 /etc/resolv.conf에 다음 행을 추가합니다.

    search example.com bigcorp.com
    nameserver $IDM_SERVER_IP_ADDR
    Copy to Clipboard Toggle word wrap
  2. 필요한 소프트웨어를 설치합니다.

    sudo dnf install -y python3-ipalib python3-ipaclient krb5-devel
    Copy to Clipboard Toggle word wrap
  3. 환경과 관련된 값을 사용하여 환경 변수를 내보냅니다.

    export IPA_DOMAIN=bigcorp.com
    export IPA_REALM=BIGCORP.COM
    export IPA_ADMIN_USER=$IPA_USER
    export IPA_ADMIN_PASSWORD=$IPA_PASSWORD
    export IPA_SERVER_HOSTNAME=ipa.bigcorp.com
    export UNDERCLOUD_FQDN=undercloud.example.com
    export USER=stack
    export CLOUD_DOMAIN=example.com
    Copy to Clipboard Toggle word wrap
    참고

    IdM 사용자 자격 증명은 새 호스트 및 서비스를 추가할 수 있는 관리자여야 합니다.

  4. 언더클라우드에서 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
    Copy to Clipboard Toggle word wrap
  5. undercloud.conf에 다음 매개변수 추가

    undercloud_nameservers = $IDM_SERVER_IP_ADDR
    overcloud_domain_name = example.com
    Copy to Clipboard Toggle word wrap
  6. 언더클라우드를 배포합니다.

    openstack undercloud install
    Copy to Clipboard Toggle word wrap

검증

다음 단계를 완료하여 언더클라우드가 올바르게 등록되어 있는지 확인합니다.

  1. IdM에 호스트를 나열합니다.

    $ kinit admin
    $ ipa host-find
    Copy to Clipboard Toggle word wrap
  2. /etc/novajoin/gradleb5.keytab 이 언더클라우드에 있는지 확인합니다.

    ls /etc/novajoin/krb5.keytab
    Copy to Clipboard Toggle word wrap
참고

novajoin 디렉터리 이름은 레거시 이름 지정 목적으로만 사용됩니다.

오버클라우드에서 TLS-e 구성

TLS(TLS-e)를 사용하여 오버클라우드를 배포할 때 Undercloud 및 Overcloud의 IP 주소가 IdM에 자동으로 등록됩니다.

참고

자동 IP 주소 등록을 비활성화하려면 IDMModifyDNS heat 매개변수를 false로 설정합니다.

parameter_defaults:
    ....
    IdMModifyDNS: false
Copy to Clipboard Toggle word wrap
  1. 오버클라우드를 배포하기 전에 다음과 유사한 콘텐츠를 사용하여 YAML 파일 tls-parameters.yaml 을 생성합니다. 선택한 값은 환경에 따라 다릅니다.

    parameter_defaults:
        DnsSearchDomains: ["example.com"]
        DnsServers: ["192.168.1.13"]
        CloudDomain: example.com
        CloudName: overcloud.example.com
        CloudNameInternal: overcloud.internalapi.example.com
        CloudNameStorage: overcloud.storage.example.com
        CloudNameStorageManagement: overcloud.storagemgmt.example.com
        CloudNameCtlplane: overcloud.ctlplane.example.com
        IdMServer: freeipa-0.redhat.local
        IdMDomain: redhat.local
        IdMInstallClientPackages: False
    
    resource_registry:
          OS::TripleO::Services::IpaClient: /usr/share/openstack-tripleo-heat-templates/deployment/ipa/ipaservices-baremetal-ansible.yaml
    Copy to Clipboard Toggle word wrap
    • 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 로 추가하고 설정해야 합니다.
  2. 오버클라우드를 배포합니다. 배포 명령에 tls-parameters.yaml을 포함해야 합니다.

    DEFAULT_TEMPLATES=/usr/share/openstack-tripleo-heat-templates/
    CUSTOM_TEMPLATES=/home/stack/templates
    
    openstack overcloud deploy \
    -e ${DEFAULT_TEMPLATES}/environments/ssl/tls-everywhere-endpoints-dns.yaml \
    -e ${DEFAULT_TEMPLATES}/environments/services/haproxy-public-tls-certmonger.yaml \
    -e ${DEFAULT_TEMPLATES}/environments/ssl/enable-internal-tls.yaml \
    -e ${CUSTOM_TEMPLATES}/tls-parameters.yaml \
    ...
    Copy to Clipboard Toggle word wrap
  3. 끝점 목록에 keystone을 쿼리하여 각 끝점이 HTTPS를 사용하고 있는지 확인합니다.

    openstack endpoint list
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat