tencent cloud

이미지 캐시
마지막 업데이트 시간:2023-05-19 16:29:01
이미지 캐시
마지막 업데이트 시간: 2023-05-19 16:29:01

이미지 캐시 개요

이미지 캐시를 사용하여 인스턴스 생성 중에 이미지 가져오기를 가속화하여 인스턴스 시작 소요 시간을 줄일 수 있습니다. 이 기능은 TKE Serverless 클러스터 Pod 및 슈퍼 노드에 적용할 수 있습니다. 이 문서는 이미지 캐시의 작동 원리와 과금 규칙, 생성 및 사용 방법에 대해 설명합니다.

작동 원리

이미지 캐시가 인스턴스 시작을 가속화할 때, 사전에 컨테이너 인스턴스를 시작하여 이미지를 가져오고, 사용자가 크기를 지정할 수 있는 데이터 디스크에 이미지를 저장하며, 데이터 디스크를 클라우드 디스크 스냅샷의 캐시로 사용합니다. 즉, 이미지 데이터는 이미 스냅샷에 저장되어 있습니다. 컨테이너 인스턴스 또는 Pod를 생성할 때 이미지 캐시 자동 또는 수동 매칭을 선택할 수 있으며, 이미지 레이어 다운로드를 피하기 위해 이미지 스냅샷을 기반으로 지정된 수의 데이터 디스크가 생성되어 인스턴스에 직접 마운트됩니다. 이를 통해 컨테이너 인스턴스와 Pod의 생성 속도를 높일 수 있습니다.
이미지 재사용 기능 대비, 이미지 캐시는 다음과 같은 장점이 있습니다.
시간 제한이 없으며 이미지 캐시(스냅샷)의 라이프사이클과 관련이 있습니다.
Pod를 미리 콜드 스타트하기만 하면 스냅샷 생성 직후 즉시 폐기됩니다.
스냅샷을 기반으로 클라우드 디스크를 생성할 때 자동으로 가용존(AZ)을 매칭시키므로, AZ에 대한 제한이 없습니다.
동일한 리전의 워크로드를 매칭시킬 수 있으므로 워크로드에 제한이 없습니다.

과금 안내

이미지 캐시를 생성할 때 다음 리소스가 관련되며, 해당 과금 규칙은 다음과 같습니다.
과금 항목
과금 안내
문서
이미지 캐시
이미지 캐시를 생성할 때 2코어4GiB 컨테이너 인스턴스를 실행하여 이미지를 가져와야 합니다. 이미지 캐시 생성 완료 후 컨테이너 인스턴스가 자동으로 릴리스되고 과금이 중지됩니다.
CBS 데이터 디스크
이미지 캐시를 생성할 때 이미지를 저장하려면 프리미엄 클라우드 스토리지 데이터 디스크를 바인딩해야 합니다. 디스크 크기는 사용자 지정할 수 있으며 기본적으로 20G입니다. 이미지 캐시 생성 후 데이터 디스크가 자동으로 릴리스되고 과금이 중지됩니다.
스냅샷
상기 데이터 디스크를 기반으로 스냅샷이 생성되며, 라이프사이클은 이미지 캐시와 동일합니다. 사용 기간 및 용량에 따라 요금이 청구됩니다.
이미지 캐시를 사용하면 매칭되는 이미지 캐시 스냅샷을 기반으로 동일한 용량의 프리미엄 클라우드 스토리지 데이터 디스크가 생성되고 Pod에 바인딩됩니다. 따라서 Pod 생성 요금 외에 데이터 디스크 요금도 발생합니다.
데이터 디스크 요금 = 용량 * 단가 * 인스턴스 실행 시간

작업 단계

콘솔에서 이미지 캐시 생성

1. TKE 콘솔에 로그인합니다.
2. 왼쪽 사이드바에서 애플리케이션 > 이미지 캐시를 선택하고, 이미지 캐시 페이지에서 인스턴스 생성을 클릭합니다.
3. 이미지 캐시 생성 페이지에서 관련 매개변수를 구성합니다.
인스턴스 이름: 사용자 지정합니다.
리전: 필요에 따라 선택합니다.
컨테이너 네트워크: 컨테이너 IP 범위 내의 IP를 컨테이너 인스턴스에 할당합니다.
보안 그룹: 방화벽 기능이 있으며 인스턴스의 네트워크 통신을 제한할 수 있습니다. 기본값: default.
OS: Windows 또는 Linux를 선택합니다.
이미지: 필요에 따라 캐시할 이미지와 버전을 선택합니다.
이미지 자격 증명: Dockerhub 또는 타사 이미지 리포지토리의 프라이빗 이미지 선택 시, 이미지 자격 증명, 즉 리포지토리의 액세스 주소, 사용자 이름 및 비밀번호를 입력해야 합니다.
고급 구성:
캐시 크기: 인스턴스 생성 시 바인딩된 스냅샷 및 데이터 디스크의 크기를 결정합니다.
주의사항:
이미지 리포지토리에 표시되는 이미지 크기는 압축된 데이터의 크기입니다. 이미지 캐시를 만들려면 이미지를 가져오고 확장해야 합니다. 이미지 또는 이미지 압축률이 너무 크면 기본 20GB 데이터 디스크가 부족하므로 더 큰 데이터 디스크 공간을 권장합니다.
만료 정책: 이미지 캐시의 보관 기간을 선택합니다. 기본값: 영구 보관.
4. 인스턴스 생성을 클릭합니다. 이미지 캐시가 생성되면 이미지 캐시 목록에 표시됩니다. 이벤트 이름을 클릭하면 다음과 같이 생성 진행률을 볼 수 있습니다.


CRD로 이미지 캐시 생성

CRD로 이미지 캐시를 생성하려면 클러스터에 이미지 캐시 애드온을 설치해야 합니다. 애드온 설치 후 클라우드 API를 호출할 필요 없이 CRD+Controller 방식으로 Tencent Cloud 이미지 캐시를 사용할 수 있습니다. 단계는 다음과 같습니다.
1. TKE 콘솔에 로그인합니다.
2. 클러스터 목록 페이지에서 대상 Serverless 클러스터의 ID를 클릭하여 클러스터 세부 정보 페이지로 들어갑니다.
3. 왼쪽 사이드바에서 애드온 관리를 선택하고 생성을 클릭합니다.
4. 생성된 애드온 관리 페이지에서 아래 이미지와 같이 imc-operator(이미지 캐시)를 선택합니다.

5. 확인을 클릭합니다. 설치된 애드온은 애드온 관리 페이지에서 확인할 수 있습니다.
6. YAML 편집. ImageCache 생성:
ImageCache 생성
ImageCache 확인
예시:
apiVersion: eks.cloud.tencent.com/v1
kind: ImageCache
metadata:
name: imagecache-sample
spec:
images:
- nginx
# imageCacheSize: 30
# TODO(user): Add fields here
더 많은 매개변수가 있는 예시:
apiVersion: eks.cloud.tencent.com/v1
kind: ImageCache
metadata:
annotations:
"eks.tke.cloud.tencent.com/eip-attributes": '{"InternetMaxBandwidthOut":2}' # 자동으로 eip 생성
name: imagecache-sample-more-para
spec:
images:
- nginx
- mysql
imageCacheSize: 30
retentionDays: 7
imagePullSecrets:
- imc-operator-system/qcloudregistrykey
예시:
kubectl get imc
예외 발생하는 경우 events를 확인할 수 있습니다.
kubectl describe imc xxx

기존 이미지 캐시 사용

Serverless 클러스터에서 Pod를 생성할 때, 다음과 같이 워크로드 생성 페이지의 고급 설정에서 이미지 캐시를 활성화할 수 있습니다.

자동 매칭수동 매칭의 두 가지 이미지 캐시 매칭 방법이 지원됩니다. 필요에 따라 하나를 선택합니다.
자동 매칭
수동 매칭
자동 매칭을 선택하면 다음 일치 정책에 따라 최적의 이미지 캐시가 자동으로 매칭됩니다.
이미지 이름과 버전이 완전히 동일한 경우 이미지 캐시를 매칭시킬 수 있습니다.
캐시 크기가 작은 이미지가 먼저 매칭됩니다.
생성 시간이 더 늦은 이미지가 먼저 매칭됩니다.
참고
버전이 모두 nginx: latest인 경우 이미지 캐시를 여전히 매칭시킬 수 있습니다. 그러나 생성 시간이 다를 수 있으므로 버전이 매칭되지 않을 수 있습니다. 따라서 이미지 캐시 및 인스턴스를 생성할 때 버전을 명확하게 지정하는 것이 좋습니다.
해당 이미지 캐시가 매칭되지 않으면 정상적으로 이미지를 자동으로 가져옵니다.

수동 매칭을 선택하면 구체적인 이미지 캐시를 수동으로 선택해야 합니다. 이미지 캐시를 수동으로 지정하면 데이터 디스크가 이미지 캐시 스냅샷을 기반으로 직접적으로 생성되고 인스턴스에 바인딩됩니다. 그러나 데이터 디스크에 인스턴스 생성 중에 입력된 이미지가 없는 경우(즉, 잘못된 이미지 캐시가 수동으로 지정됨) 새로 생성된 데이터 디스크에서 이미지를 가져옵니다.

TKE 클러스터의 슈퍼 노드에서 이미지 캐시를 사용하도록 Pod Annotation을 지정할 수 있습니다. 자세한 내용은 슈퍼 노드 Annotation을 참고하십시오.
자동 매칭:
eks.tke.cloud.tencent.com/use-image-cache: auto
수동 지정:
eks.tke.cloud.tencent.com/use-image-cache: imc-xxx

매칭 결과

인스턴스 생성 이벤트에서 매칭 성공 여부를 확인할 수 있습니다.
이미지 캐시가 성공적으로 매칭되면 다음 이벤트가 표시됩니다.

이 이벤트가 표시되지 않으면 적절한 이미지 캐시가 매칭되지 않은 것입니다.
수동 매칭을 선택했지만 매칭된 이미지 캐시에 해당 이미지가 없는 경우 새로 생성된 데이터 디스크에서 이미지를 가져옵니다. 이 경우 다음 이벤트가 표시됩니다.

문제 해결에 도움이 되었나요?
더 자세한 내용은 문의하기 또는 티켓 제출 을 통해 문의할 수 있습니다.
아니오

피드백