すべてのプロダクト
Search
ドキュメントセンター

Elastic Container Instance:イメージキャッシュの管理

最終更新日:Dec 28, 2024

Alibaba Cloud は、ImageCache CustomResourceDefinition (CRD) の形式で Elastic Container Instance のイメージキャッシュ機能を提供しています。この方法で、Elastic Container Instance のイメージキャッシュ機能を使用して、Kubernetes でのポッドの作成を高速化できます。このトピックでは、イメージキャッシュリソースと、イメージキャッシュの作成、クエリ、および削除の方法について説明します。

前提条件

ImageCache CRD は、セルフマネージド Kubernetes クラスターにデプロイされています。詳細については、ImageCache CRD のデプロイを参照してください。

説明

次のコードは、イメージキャッシュの YAML 設定ファイルを提供します。詳細については、kubernetes ImageCache の API 操作を参照してください。

次の表で、パラメーターについて説明します。

パラメーター

タイプ

必須

説明

spec.images

String[]

はい

ImageCache の作成に使用できるコンテナーイメージ。

spec.imagePullSecrets

String[]

いいえ

プライベートイメージリポジトリのシークレット。

  • spec.images パラメーターで指定されたイメージがプライベートイメージリポジトリにある場合は、namespace:secretName 形式でプライベートイメージリポジトリのシークレットを設定する必要があります。

  • spec.images のすべてのイメージがパブリックイメージの場合は、このパラメーターを指定する必要はありません。

spec.imageCacheSize

int

いいえ

ImageCache のサイズ。単位:GiB。デフォルト値:20。有効な値:20~32768。

イメージのサイズに基づいて値を設定します。 ImageCache のサイズは、イメージサイズの 2 倍以上である必要があります。

spec.retentionDays

int

いいえ

ImageCache の保持期間。指定された保持期間が終了すると、ImageCache は削除されます。単位:日。このパラメーターはデフォルトで空のままです。これは、ImageCache が期限切れにならないことを示します。

説明

イメージキャッシュの YAML 設定ファイルにアノテーションを追加して、イメージキャッシュ機能を最大限に活用できます。たとえば、上記の YAML ファイルでは、k8s.aliyun.com/imc-enable-reuse: "true" アノテーションを追加して、イメージキャッシュの再利用を有効にしています。詳細については、ImageCache でサポートされているアノテーションを参照してください。

ImageCache の作成

  1. ImageCache を作成します。

    kubectl create -f imagecache-test.yaml

    imagecache-test.yaml ファイルの例:

    apiVersion: eci.alibabacloud.com/v1
    kind: ImageCache
    metadata:
      name: imagecache-sample-test
      annotations:
        k8s.aliyun.com/imc-enable-reuse: "true" # ImageCache の再利用機能を有効にします。
    spec:
      images:
      - registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
      - registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
      imageCacheSize:
       25
      retentionDays:
       7
  2. ImageCache のステータスを表示します。

    kubectl get imagecache imagecache-sample-test

    次のサンプルコードは、サンプル出力を提供します。 ImageCache が Ready 状態の場合、ImageCache は作成され、使用できます。

    NAME                     AGE     CACHEID                    PHASE   PROGRESS
    imagecache-sample-test   5m30s   imc-2ze2kbf9l1onf03z****   Ready   100%

ImageCache のクエリ

クラスター内の ImageCache の詳細または ImageCache リストをクエリできます。

  • クラスター内の ImageCache リストをクエリする

    kubectl get imagecache
  • ImageCache の詳細をクエリする

    kubectl get imagecache <imagecache-name> -o yaml

ImageCache の削除

ImageCache はスナップショットです。手動で作成した ImageCache を保持する場合は、スナップショットのコストを支払う必要があります。 ImageCache を使用しなくなった場合は、タイムリーに手動で削除することをお勧めします。

ImageCache を削除するには、次のコマンドを実行します。

kubectl delete imagecache <imagecache-name>