1.7. 이미지 사전 캐싱


RHOSP(Red Hat OpenStack Platform) director는 glance-api 서비스의 일부로 이미지를 사전 캐시할 수 있습니다.

이미지 관리에 Image 서비스(glance) 명령줄 클라이언트를 사용합니다.

1.7.1. 주기적인 이미지 사전 캐싱의 기본 간격 구성

RHOSP(Red Hat OpenStack Platform) director는 glance-api 서비스의 일부로 이미지를 사전 캐시할 수 있습니다.

사전 캐싱 주기 작업은 glance-api 서비스가 실행 중인 각 컨트롤러 노드에서 300초(5분 기본 시간)마다 실행됩니다. 기본 시간을 변경하려면 glance-api.conf의 Default 섹션에서 cache_prefetcher_interval 매개변수를 설정할 수 있습니다.

프로세스

  1. 요구 사항에 따라 언더클라우드의 환경 파일에 ExtraConfig 매개변수를 사용하여 새 간격을 추가합니다.

    parameter_defaults:
      ControllerExtraConfig:
        glance::config::glance_api_config:
          DEFAULT/cache_prefetcher_interval:
            value: '<300>'

    <300>을 이미지를 사전 캐시하는 간격으로 원하는 시간(초)으로 바꿉니다.

  2. /home/stack/templates/ 의 환경 파일에서 간격을 조정한 후 stack 사용자로 로그인하고 구성을 배포합니다.

    $ openstack overcloud deploy --templates \
    -e /home/stack/templates/<env_file>.yaml

    <env_file>을 사용자가 추가한 ExtraConfig 설정이 포함된 환경 파일의 이름으로 바꿉니다.

    중요

    오버클라우드를 생성할 때 추가 환경 파일을 전달한 경우 오버클라우드를 원치 않는 변경하지 않도록 -e 옵션을 사용하여 여기에서 다시 전달합니다.

openstack overcloud deploy 명령에 대한 자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리의 Deployment 명령을 참조하십시오.

1.7.2. 정기적인 작업을 사용하여 이미지를 사전 캐시

정기적인 작업을 사용하여 이미지를 사전 캐시합니다.

사전 요구 사항

주기적인 작업을 사용하여 이미지를 사전 캐시하려면 glance_api 서비스가 실행 중인 노드에 직접 연결된 glance-cache-manage 명령을 사용해야 합니다. 서비스 요청에 응답하는 노드를 숨기는 프록시를 사용하지 마십시오. 언더클라우드가 glance_api 서비스가 실행 중인 네트워크에 액세스할 수 없으므로 기본적으로 controller-0 이라는 첫 번째 오버클라우드 노드에서 명령을 실행합니다.

올바른 호스트에서 명령을 실행하고 필요한 인증 정보가 있고 glance-api 컨테이너 내부에서 glance-cache-manage 명령을 실행하고 있는지 확인하려면 다음 사전 요구 사항 절차를 완료합니다.

절차

  1. stack 사용자로 언더클라우드에 로그인하고 controller-0 의 프로비저닝 IP 주소를 식별합니다.

    (undercloud) [stack@site-undercloud-0 ~]$ openstack server list -f value -c Name -c Networks | grep controller
    overcloud-controller-1 ctlplane=192.168.24.40
    overcloud-controller-2 ctlplane=192.168.24.13
    overcloud-controller-0 ctlplane=192.168.24.71
    (undercloud) [stack@site-undercloud-0 ~]$
  2. 오버클라우드에 인증하려면 기본적으로 /home/stack/overcloudrc 에 저장된 인증 정보를 controller-0 으로 복사합니다.

    $ scp ~/overcloudrc tripleo-admin@192.168.24.71:/home/tripleo-admin/
  3. controller-0 에 연결합니다.

    $ ssh tripleo-admin@192.168.24.71
  4. controller-0 에서 tripleo-admin 사용자로 glance_api 서비스 의 IP 주소를 식별합니다. 다음 예에서 IP 주소는 Cryostat 1.105 입니다.

    (overcloud) [root@controller-0 ~]# grep -A 10 '^listen glance_api' /var/lib/config-data/puppet-generated/haproxy/etc/haproxy/haproxy.cfg
    listen glance_api
     server central-controller0-0.internalapi.redhat.local 172.25.1.105:9292 check fall 5 inter 2000 rise 2
  5. glance-cache-manage 명령은 glance_api 컨테이너에서만 사용할 수 있으므로 오버클라우드에 인증할 환경 변수가 이미 설정되어 있는 해당 컨테이너에 exec 스크립트를 만듭니다. 다음 콘텐츠를 사용하여 controller-0/home/tripleo-adminglance_pod.sh 라는 스크립트를 생성합니다.

    sudo podman exec -ti \
     -e NOVA_VERSION=$NOVA_VERSION \
     -e COMPUTE_API_VERSION=$COMPUTE_API_VERSION \
     -e OS_USERNAME=$OS_USERNAME \
     -e OS_PROJECT_NAME=$OS_PROJECT_NAME \
     -e OS_USER_DOMAIN_NAME=$OS_USER_DOMAIN_NAME \
     -e OS_PROJECT_DOMAIN_NAME=$OS_PROJECT_DOMAIN_NAME \
     -e OS_NO_CACHE=$OS_NO_CACHE \
     -e OS_CLOUDNAME=$OS_CLOUDNAME \
     -e no_proxy=$no_proxy \
     -e OS_AUTH_TYPE=$OS_AUTH_TYPE \
     -e OS_PASSWORD=$OS_PASSWORD \
     -e OS_AUTH_URL=$OS_AUTH_URL \
     -e OS_IDENTITY_API_VERSION=$OS_IDENTITY_API_VERSION \
     -e OS_COMPUTE_API_VERSION=$OS_COMPUTE_API_VERSION \
     -e OS_IMAGE_API_VERSION=$OS_IMAGE_API_VERSION \
     -e OS_VOLUME_API_VERSION=$OS_VOLUME_API_VERSION \
     -e OS_REGION_NAME=$OS_REGION_NAME \
    glance_api /bin/bash
  6. overcloudrc 파일을 가져오고 glance_pod.sh 스크립트를 실행하여 오버클라우드 컨트롤러 노드를 인증하는 데 필요한 환경 변수를 사용하여 glance_api 컨테이너를 실행합니다.

    [tripleo-admin@controller-0 ~]$ source overcloudrc
    (overcloudrc) [tripleo-admin@central-controller-0 ~]$ bash glance_pod.sh
    ()[glance@controller-0 /]$
  7. glance image-list 와 같은 명령을 사용하여 컨테이너에서 오버클라우드에 대해 인증된 명령을 실행할 수 있는지 확인합니다.

    ()[glance@controller-0 /]$ glance image-list
    +--------------------------------------+----------------------------------+
    | ID                                   | Name                             |
    +--------------------------------------+----------------------------------+
    | ad2f8daf-56f3-4e10-b5dc-d28d3a81f659 | cirros-0.4.0-x86_64-disk.img       |
    +--------------------------------------+----------------------------------+
    ()[glance@controller-0 /]$

절차

  1. admin 사용자로 캐시할 이미지를 대기열에 넣습니다.

    $ glance-cache-manage --host=<host_ip> queue-image <image_id>
    • <host_ip>를 glance-api 컨테이너가 실행 중인 컨트롤러 노드의 IP 주소로 바꿉니다.
    • <image_id>를 큐하려는 이미지의 ID로 바꿉니다.

      사전 캐시하려는 이미지를 대기열에 추가하면 cache_images 정기 작업이 모든 대기 중인 이미지를 동시에 사전 가져옵니다.

      참고

      이미지 캐시는 각 노드의 로컬이므로 Red Hat OpenStack Platform이 HA(3, 5 또는 7 컨트롤러 포함)와 함께 배포된 경우 glance-cache-manage 명령을 실행할 때 --host 옵션으로 호스트 주소를 지정해야 합니다.

  2. 다음 명령을 실행하여 이미지 캐시의 이미지를 확인합니다.

    $ glance-cache-manage --host=<host_ip> list-cached

    <host_ip>를 사용자 환경에 있는 호스트의 IP 주소로 바꿉니다.

관련 정보

다음과 같은 목적으로 추가 glance-cache-manage 명령을 사용할 수 있습니다.

  • 나열-캐시 되어 현재 캐시된 모든 이미지를 나열합니다.
  • 캐싱을 위해 현재 대기열에 있는 모든 이미지를 나열하려면 목록을 큐에 넣습니다.
  • 캐싱할 이미지를 대기열에 추가하는 대기열 이미지입니다.
  • 캐시에서 이미지를 제거하기 위해 delete-cached-image
  • cache에서 모든 이미지를 제거하기 위해 delete-all-cached-images
  • 캐시 대기열에서 이미지를 삭제하려면 delete-queued-image
  • 캐시 대기열에서 모든 이미지를 삭제하려면 delete-all-queued-images
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.