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 매개변수를 설정할 수 있습니다.
프로세스
요구 사항에 따라 언더클라우드의 환경 파일에
ExtraConfig매개변수를 사용하여 새 간격을 추가합니다.parameter_defaults: ControllerExtraConfig: glance::config::glance_api_config: DEFAULT/cache_prefetcher_interval: value: '<300>'parameter_defaults: ControllerExtraConfig: glance::config::glance_api_config: DEFAULT/cache_prefetcher_interval: value: '<300>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow <300>을 이미지를 사전 캐시하는 간격으로 원하는 시간(초)으로 바꿉니다.
/home/stack/templates/의 환경 파일에서 간격을 조정한 후stack사용자로 로그인하고 구성을 배포합니다.openstack overcloud deploy --templates \ -e /home/stack/templates/<env_file>.yaml
$ openstack overcloud deploy --templates \ -e /home/stack/templates/<env_file>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow <env_file>을 사용자가 추가한
ExtraConfig설정이 포함된 환경 파일의 이름으로 바꿉니다.중요오버클라우드를 생성할 때 추가 환경 파일을 전달한 경우 오버클라우드를 원치 않는 변경하지 않도록
-e옵션을 사용하여 여기에서 다시 전달합니다.
openstack overcloud deploy 명령에 대한 자세한 내용은 Director 설치 및 사용 가이드의 배포 명령을 참조하십시오.
1.7.2. 정기적인 작업을 사용하여 이미지를 사전 캐시 링크 복사링크가 클립보드에 복사되었습니다!
정기적인 작업을 사용하여 이미지를 사전 캐시합니다.
사전 요구 사항
주기적인 작업을 사용하여 이미지를 사전 캐시하려면 glance_api 서비스가 실행 중인 노드에 직접 연결된 glance-cache-manage 명령을 사용해야 합니다. 서비스 요청에 응답하는 노드를 숨기는 프록시를 사용하지 마십시오. 언더클라우드가 glance_api 서비스가 실행 중인 네트워크에 액세스할 수 없으므로 기본적으로 controller-0 이라는 첫 번째 오버클라우드 노드에서 명령을 실행합니다.
올바른 호스트에서 명령을 실행하고 필요한 인증 정보가 있고 glance-api 컨테이너 내부에서 glance-cache-manage 명령을 실행하고 있는지 확인하려면 다음 사전 요구 사항 절차를 완료합니다.
절차
stack 사용자로 언더클라우드에 로그인하고
controller-0의 프로비저닝 IP 주소를 식별합니다.openstack server list -f value -c Name -c Networks | grep controller
(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 ~]$Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드에 인증하려면 기본적으로
/home/stack/overcloudrc에 저장된 인증 정보를controller-0으로 복사합니다.scp ~/overcloudrc tripleo-admin@192.168.24.71:/home/tripleo-admin/
$ scp ~/overcloudrc tripleo-admin@192.168.24.71:/home/tripleo-admin/Copy to Clipboard Copied! Toggle word wrap Toggle overflow controller-0에 연결합니다.ssh tripleo-admin@192.168.24.71
$ ssh tripleo-admin@192.168.24.71Copy to Clipboard Copied! Toggle word wrap Toggle overflow controller-0에서tripleo-admin사용자로glance_api 서비스의 IP 주소를 식별합니다. 다음 예에서 IP 주소는 Cryostat1.105입니다.grep -A 10 '^listen glance_api' /var/lib/config-data/puppet-generated/haproxy/etc/haproxy/haproxy.cfg
(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 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance-cache-manage명령은glance_api컨테이너에서만 사용할 수 있으므로 오버클라우드에 인증할 환경 변수가 이미 설정되어 있는 해당 컨테이너에 exec 스크립트를 만듭니다. 다음 콘텐츠를 사용하여controller-0의/home/tripleo-admin에glance_pod.sh라는 스크립트를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow overcloudrc파일을 가져오고glance_pod.sh스크립트를 실행하여 오버클라우드 컨트롤러 노드를 인증하는 데 필요한 환경 변수를 사용하여glance_api컨테이너를 실행합니다.source overcloudrc
[tripleo-admin@controller-0 ~]$ source overcloudrc (overcloudrc) [tripleo-admin@central-controller-0 ~]$ bash glance_pod.sh ()[glance@controller-0 /]$Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance image-list와 같은 명령을 사용하여 컨테이너에서 오버클라우드에 대해 인증된 명령을 실행할 수 있는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
절차
admin 사용자로 캐시할 이미지를 대기열에 넣습니다.
glance-cache-manage --host=<host_ip> queue-image <image_id>
$ glance-cache-manage --host=<host_ip> queue-image <image_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<host_ip>를
glance-api컨테이너가 실행 중인 컨트롤러 노드의 IP 주소로 바꿉니다. <image_id>를 큐하려는 이미지의 ID로 바꿉니다.
사전 캐시하려는 이미지를 대기열에 추가하면
cache_images정기 작업이 모든 대기 중인 이미지를 동시에 사전 가져옵니다.참고이미지 캐시는 각 노드의 로컬이므로 Red Hat OpenStack Platform이 HA(3, 5 또는 7 컨트롤러 포함)와 함께 배포된 경우
glance-cache-manage명령을 실행할 때--host옵션으로 호스트 주소를 지정해야 합니다.
-
<host_ip>를
다음 명령을 실행하여 이미지 캐시의 이미지를 확인합니다.
glance-cache-manage --host=<host_ip> list-cached
$ glance-cache-manage --host=<host_ip> list-cachedCopy to Clipboard Copied! Toggle word wrap Toggle overflow <host_ip>를 사용자 환경에 있는 호스트의 IP 주소로 바꿉니다.
관련 정보
다음과 같은 목적으로 추가 glance-cache-manage 명령을 사용할 수 있습니다.
-
나열-캐시되어 현재 캐시된 모든 이미지를 나열합니다. -
캐싱을 위해 현재
대기열에있는 모든 이미지를 나열하려면 목록을 큐에 넣습니다. -
캐싱할
이미지를대기열에 추가하는 대기열 이미지입니다. -
캐시에서 이미지를 제거하기 위해
delete-cached-image -
cache에서 모든 이미지를 제거하기 위해
delete-all-cached-images -
캐시 대기열에서 이미지를 삭제하려면
delete-queued-image -
캐시 대기열에서 모든 이미지를 삭제하려면
delete-all-queued-images