7.9. 사전 프로비저닝된 노드를 사용하여 오버클라우드 생성

오버클라우드 배포에는 6.11절. “배포 명령”의 표준 CLI 메서드를 사용합니다. 사전 프로비저닝된 노드의 경우 배포 명령에 코어 Heat 템플릿 컬렉션의 일부 추가 옵션 및 환경 파일이 필요합니다.

  • --disable-validations - 사전 프로비저닝된 인프라에 사용되지 않는 서비스에 대한 기본 CLI 검증을 비활성화합니다. 그러지 않으면 배포에 실패합니다.
  • environments/deployed-server-environment.yaml - 사전 프로비저닝된 인프라를 생성 및 설정하는 데 사용되는 주 환경 파일입니다. 이 환경 파일은 OS::Nova::Server 리소스를 OS::Heat::DeployedServer 리소스로 대체합니다.
  • environments/deployed-server-bootstrap-environment-rhel.yaml - 사전 프로비저닝된 서버에서 부트스트랩 스크립트를 실행할 환경 파일입니다. 이 스크립트는 추가 패키지를 설치하고 오버클라우드 노드에 대한 기본 설정을 포함합니다.
  • environments/deployed-server-pacemaker-environment.yaml - 사전 프로비저닝된 Controller 노드의 Pacemaker 구성에 대한 환경 파일입니다. 이 파일에 등록된 리소스에 대한 네임스페이스는 deployed-server/deployed-server-roles-data.yaml의 Controller 역할 이름을 사용하며, 기본값은 ControllerDeployedServer입니다.
  • deployed-server/deployed-server-roles-data.yaml - 사용자 정의 역할에 대한 예제 파일입니다. 이 파일은 기본 roles_data.yaml을 복제하지만, 각 역할에 대한 disable_constraints: True 매개 변수를 포함하기도 합니다. 이 매개 변수는 생성된 역할 템플릿에서 오케스트레이션 제약 조건을 비활성화합니다. 이러한 제약 조건은 사전 프로비저닝된 인프라에서 사용되지 않은 서비스에 적용됩니다.

    사용자 지정 역할 파일을 사용하려는 경우 각 역할에 대해 disable_constraints: True 매개 변수를 포함합니다.

    - name: ControllerDeployedServer
      disable_constraints: True
      CountDefault: 1
      ServicesDefault:
        - OS::TripleO::Services::CACerts
        - OS::TripleO::Services::CephMon
        - OS::TripleO::Services::CephExternal
        - OS::TripleO::Services::CephRgw
        ...

다음은 사전 프로비저닝된 아키텍처와 관련된 환경 파일을 사용한 오버클라우드 배포 명령의 예입니다.

$ source ~/stackrc
(undercloud) $ openstack overcloud deploy \
  [other arguments] \
  --disable-validations \
  -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml \
  -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-rhel.yaml \
  -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-pacemaker-environment.yaml \
  -e /home/stack/templates/hostname-map.yaml /
  -r /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-server-roles-data.yaml
  --overcloud-ssh-user stack \
  --overcloud-ssh-key ~/.ssh/id_rsa \
  [OTHER OPTIONS]

--overcloud-ssh-user--overcloud-ssh-key 옵션은 구성 단계 중 각 오버클라우드 노드에 SSH 사용, 초기 tripleo-admin 사용자 생성 및 SSH 키를 /home/tripleo-admin/.ssh/authorized_keys에 삽입하는 데 사용됩니다. SSH 키를 삽입하려면 --overcloud-ssh-user--overcloud-ssh-key(~/.ssh/id_rsa로 기본 설정됨)을 사용하여 초기 SSH 연결의 인증서를 지정합니다. --overcloud-ssh-key 옵션으로 지정된 개인 키에 대한 노출을 제한하기 위해 director는 Heat 또는 Mistral과 같은 API 서비스에 이 키를 전달하지 않으며, director의 openstack overcloud deploy 명령만 이 키를 사용하여 tripleo-admin 사용자의 액세스를 활성화합니다.