8.5. 베어 메탈 노드 축소

~/overcloud-baremetal-deploy.yaml 파일의 스택에서 삭제할 노드를 태깅하고, 오버클라우드를 다시 배포한 다음, --baremetal-deployment 옵션을 사용하여 openstack overcloud node delete 명령에 이 파일을 포함합니다.

사전 요구 사항

절차

  1. stackrc 언더클라우드 인증 정보 파일을 소싱합니다.

    $ source ~/stackrc
  2. 베어 메탈 노드를 프로비저닝하는 데 사용한 ~/overcloud-baremetal-deploy.yaml 파일을 편집하고 축소하는 역할의 count 매개변수를 줄입니다. 스택에서 삭제할 각 노드의 다음 속성도 정의해야 합니다.

    • 노드의 이름.
    • 노드와 연관된 호스트 이름.
    • provisioned: false 속성.

      예를 들어 스택에서 overcloud-controller-1 노드를 삭제하려면 ~/overcloud-baremetal-deploy.yaml 파일에 스니펫을 포함합니다.

      - name: Controller
        count: 2
        instances:
        - hostname: overcloud-controller-0
          name: node00
        - hostname: overcloud-controller-1
          name: node01
          # Removed from cluster due to disk failure
          provisioned: false
        - hostname: overcloud-controller-2
          name: node02
  3. ~/overcloud-baremetal-deploy.yaml 파일을 지정하고 --output 옵션으로 출력 파일을 정의하여 프로비저닝 명령을 실행합니다.

    (undercloud) $ sudo openstack overcloud node provision \
    --stack stack \
    --output ~/overcloud-baremetal-deployed.yaml \
    ~/overcloud-baremetal-deploy.yaml
  4. 배포에 관련된 기타 환경 파일과 함께 프로비저닝 명령을 통해 생성되는 ~/overcloud-baremetal-deployed.yaml 파일을 포함하여 오버클라우드를 다시 배포합니다.

    (undercloud) $ openstack overcloud deploy \
      ...
      -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml \
      -e ~/overcloud-baremetal-deployed.yaml \
      --deployed-server \
      --disable-validations \
      ...

    오버클라우드를 다시 배포하고 나면 provisioned: false 속성으로 정의한 노드가 더 이상 스택에 존재하지 않습니다. 그러나 이 노드는 여전히 프로비저닝된 상태로 실행 중입니다.

    참고

    스택에서 임시로 노드를 삭제하려면 provisioned: false 속성을 사용하여 오버클라우드를 배포한 다음 provisioned: true 속성으로 오버클라우드를 다시 배포하여 노드를 스택에 반환해야 합니다.

  5. --baremetal-deployment 옵션으로 ~/overcloud-baremetal-deploy.yaml 파일을 지정하여 openstack overcloud node delete 명령을 실행합니다.

    (undercloud) $ sudo openstack overcloud node delete \
    --stack stack \
    --baremetal-deployment ~/overcloud-baremetal-deploy.yaml
    참고

    스택에서 삭제할 노드는 openstack overcloud node delete 명령에서 명령 인수로 포함하지 마십시오.