14.3. 단일 컨테이너에서 작업 수행

참고

이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.

tripleo-container-manage 역할을 사용하여 모든 컨테이너 또는 특정 컨테이너를 관리할 수 있습니다. 특정 컨테이너를 관리하려면 사용자 지정 Ansible 플레이북으로 특정 컨테이너를 대상으로 지정할 수 있도록 컨테이너 배포 단계 및 컨테이너 구성 JSON 파일의 이름을 확인해야 합니다.

사전 요구 사항

절차

  1. stack 사용자로 언더클라우드에 로그인합니다.
  2. overcloudrc 인증 정보 파일을 소싱합니다.

    $ source ~/overcloudrc
  3. 컨테이너 배포 단계를 확인합니다. /var/lib/tripleo-config/container-startup-config/step_{1,2,3,4,5,6} 디렉터리에서 각 단계의 컨테이너 구성을 찾을 수 있습니다.
  4. 컨테이너의 JSON 구성 파일을 확인합니다. 관련 step_* 디렉터리에서 컨테이너 구성 파일을 찾을 수 있습니다. 예를 들어 1단계에서 HAProxy 컨테이너의 구성 파일은 /var/lib/tripleo-config/container-startup-config/step_1/haproxy.json 입니다.
  5. 적절한 Ansible 플레이북을 작성합니다. 예를 들어 HAProxy 컨테이너 이미지를 바꾸려면 다음 샘플 플레이북을 사용합니다.

    - hosts: localhost
      become: true
      tasks:
        - name: Manage step_1 containers using tripleo-ansible
          block:
            - name: "Manage HAproxy container at step 1 with tripleo-ansible"
              include_role:
                name: tripleo-container-manage
              vars:
                tripleo_container_manage_systemd_order: true
                tripleo_container_manage_config_patterns: 'haproxy.json'
                tripleo_container_manage_config: "/var/lib/tripleo-config/container-startup-config/step_1"
                tripleo_container_manage_config_id: "tripleo_step1"
                tripleo_container_manage_config_overrides:
                  haproxy:
                    image: registry.redhat.io/tripleomaster/<HAProxy-container>:hotfix

    tripleo-container-manage 역할과 함께 사용할 수 있는 변수에 대한 자세한 내용은 14.4절. “tripleo-container-manage 역할 변수”을 참조하십시오.

  6. 플레이북을 실행합니다.

    (overcloud) [stack@director]$ ansible-playbook <custom_playbook>.yaml

    변경 사항을 적용하지 않고 플레이북을 실행하려면 ansible-playbook 명령에 --check 옵션을 추가합니다.

    (overcloud) [stack@director]$ ansible-playbook <custom_playbook>.yaml --check

    변경 사항을 적용하지 않고 플레이북이 컨테이너에 적용하는 변경 사항을 파악하려면 ansible-playbook 명령에 --check--diff 옵션을 추가합니다.

    (overcloud) [stack@director]$ ansible-playbook <custom_playbook>.yaml --check --diff