tencent cloud

Tencent Kubernetes Engine

お知らせ・リリースノート
製品アップデート情報
製品リリース記録
製品の説明
製品の優位性
製品アーキテクチャ
ユースケース
製品機能
リージョンとアベイラビリティーゾーン
クイックスタート
初心者ガイド
標準クラスターのクイック作成
ビギナー向け事例
コンテナアプリケーションのクラウドへのデプロイ Check List
TKE標準クラスターガイド
テンセントクバネティスエンジン
クラスター管理
ネットワーク管理
ストレージ管理
Worker ノードの概要
Kubernetes Object Management
ワークロード
クラウドネイティブサービスガイド
Prometheus監視サービス
TKE Serverlessクラスターガイド
TKE登録クラスターガイド
実践チュートリアル
Serverlessクラスター
ネットワーク
ログ
監視
運用・保守
DevOps
オートスケーリング
よくあるご質問
クラスター類
TKE Serverlessクラスター
運用保守系
サービス類
イメージリポジトリ類
リモート端末類

イメージキャッシュ

PDF
フォーカスモード
フォントサイズ
最終更新日: 2023-05-19 16:30:41

イメージキャッシュ概要

イメージキャッシュを使用してインスタンスを作成する時にイメージの取得が高速化され、インスタンスを起動する所要時間を減少させます。この機能はTKE ServerlessクラスターPodおよびスーパーノードに適用されます。ここではイメージキャッシュの動作原理、課金説明、作成および使用方法などについてご説明します。

動作原理

イメージキャッシュアクセラレーションがインスタンスを有効にする時は事前にコンテナインスタンスを起動してイメージの取得を行います。このイメージはサイズがカスタマイズ可能なデータディスク内に保存され、同時にこのデータディスクをクラウドディスクのスナップショットとしてキャッシュします。つまりイメージデータはスナップショット内に保存されます。コンテナインスタンスまたはPodを作成する時にイメージキャッシュの自動マッチングまたは手動マッチングを選択し、イメージのスナップショットに基づいて対応する数量のハードディスク(データディスク)を作成し、インスタンスにマウントされ、イメージ層のダウンロードを回避し、それによってコンテナインスタンスおよびPodの作成速度をアップさせます。
イメージの再利用 機能に比べ、イメージキャッシュの利点は次のとおりです。
時間制限がなく、イメージキャッシュ(スナップショット)のライフサイクルに関連しています。
事前にPodをコールドスタートするだけで、スナップショットを作成するとこのPodが破棄されます。
アベイラビリティーゾーンの制限がなく、スナップショットに基づいてクラウドディスクを作成する時に自動的にアベイラビリティーゾーンをマッチングします。
ワークロードの制限がなく、同じリージョン内でマッチングできます。

課金説明

イメージキャッシュを作成する時は、以下のリソースに関連します。対応する課金状況は次のとおりです。
課金項目
課金説明
課金ドキュメント
イメージキャッシュ
イメージキャッシュを作成する時は、2コア4GiBのコンテナインスタンスを実行してイメージを取得する必要があります。イメージキャッシュの作成が完了すると、そのコンテナインスタンスは自動的にリリースされて課金が停止します。
CBSデータディスク
イメージキャッシュを作成する時は、高性能なデータディスクをバインドしてイメージを保存する必要があります。このデータディスクのサイズはカスタマイズをサポートし、デフォルトは20Gです。イメージキャッシュの作成が完了すると、このデータディスクは自動的にリリースされて課金が停止します。
スナップショット
上記のデータディスクに基づいてスナップショットを作成し、このスナップショットのライフサイクルはイメージキャッシュのライフサイクルに一致します。スナップショットは使用時間および容量に基づいて課金されます。
イメージキャッシュを使用する場合、マッチングしたイメージキャッシュのスナップショットに基づいて同じ容量の高性能データディスクを作成し、 Podにバインドするため、Pod自体を作成する料金に加え、追加でデータディスクの料金が課金されます。
データディスク料金=容量 * 単価 * インスタンス実行時間

操作手順

コンソールを使用してイメージキャッシュを作成する

1. TKEコンソールにログインします。
2. 左側ナビゲーションバーのアプリケーションセンター > イメージキャッシュを選択し、イメージキャッシュページでインスタンスの新規作成をクリックします。
3. イメージキャッシュの作成ページで、関連パラメータを設定します。
インスタンス名称:カスタマイズします。
所在リージョン:必要に応じて選択します。
コンテナネットワーク:コンテナネットワークアドレスの範囲内のIPアドレスをコンテナインスタンスに割り当てます。
セキュリティグループ:セキュリティグループはファイアウォールの機能があり、コンテナインスタンスのネットワーク通信を制限することができます。デフォルトはdefaultです。
OSタイプ:WindowsおよびLinuxの選択をサポートします。
イメージ:必要に応じてキャッシュするイメージおよびそのバージョンを選択します。
イメージ証明書:Dockerhubおよびその他のサードパーティのイメージウェアハウスのプライベートイメージを選択する場合、必ずイメージ証明書を入力する必要があります。すなわちウェアハウスのアクセスアドレス、ユーザー名およびパスワードです。
高度な設定:
キャッシュサイズ:このサイズはスナップショットおよびその後のインスタンスの作成時にバインドされるデータディスクのサイズを決定します。
注意:
イメージウェアハウスに表示されるイメージサイズは圧縮後のデータです。イメージキャッシュの作成にはイメージを抽出して展開するプロセスがあり、イメージが大きすぎるまたはイメージ圧縮比が大きすぎるとデフォルトの20GBのデータディスクでは不十分であるため、より大きなデータディスク空間を設定することをお勧めします。
期限切れポリシー:イメージキャッシュの保持時間を選択します。デフォルトは永久保持です。
4. インスタンスの作成をクリックします。作成が完了したらイメージキャッシュのリストで、イベント名をクリックして作成プロセスを確認できます。下図に示すとおりです。


CRDを使用してイメージキャッシュを作成する

CRDを使用してイメージキャッシュサービスを作成する場合、クラスター内でイメージキャッシュコンポーネントをインストールし、インストール後にCRD+Controllerのモードでサポートし、Tencent Cloudイメージキャッシュサービスを使用します。Tencent Cloud APIインターフェースを呼び出す必要はありません。操作ステップは次のとおりです。
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を作成する時は、ワークロードの新規作成ページで、高度な設定の表示をクリックし、イメージキャッシュ機能にチェックを入れて有効にします。下図に示すとおりです。

イメージキャッシュは自動マッチングおよび手動マッチングの2種類のマッチング方式をサポートしています。ニーズに応じて適切なマッチング方式を選択できます。
自動マッチング
手動マッチング
キャッシュのマッチングモードで自動マッチングを選択した場合、以下のマッチングポリシーに基づき、最適なイメージキャッシュを自動的にマッチングします。
イメージ名およびバージョンが完全に同じであれば、マッチングできます。
イメージのキャッシュサイズ。小容量のものが優先的にマッチングされます。
作成時間。作成時間が遅いものが優先的にマッチングされます。
注意
双方がいずれもnginx: latestの場合でもマッチングできますが、作成時間が異なるため、バージョンが一致しない状況が存在する可能性があります。そのため、イメージキャッシュおよびインスタンスを作成する時に、バージョンを明確に記載することをお勧めします。
対応するイメージキャッシュにマッチングしない場合、自動的にイメージを正常に取得します。

キャッシュのマッチングモードで手動マッチングを選択した場合、手動で具体的なイメージキャッシュを選択する必要があります。手動でイメージキャッシュを指定した後、直接そのイメージキャッシュのスナップショットに基づいてデータディスクを作成してインスタンスにバインドしますが、データディスク中に作成時に入力されたイメージ(手動で指定した誤ったイメージキャッシュ)がない場合、新しく作成したデータディスク内でイメージを取得することにご注意ください。

TKEクラスター内のスーパーノード上のPodはPodのAnnotationを指定することによってイメージキャッシュを使用することができます。具体的にはスーパーノード Annotationの説明をご参照ください。
自動マッチング:
eks.tke.cloud.tencent.com/use-image-cache: auto
手動で指定:
eks.tke.cloud.tencent.com/use-image-cache: imc-xxx

マッチング結果

インスタンスを作成するイベント内から、マッチングが成功したかどうかを確認することができます。
マッチングが成功した場合、以下のイベントが表示されます。

このイベントが表示されない場合、適切なイメージキャッシュにマッチングしなかったことを表します。
手動マッチングを選択したのに、マッチングするイメージキャッシュ内にそのイメージがない場合、再度新しく作成したデータディスク内でイメージを取得し、以下のイベントが表示されることにご注意ください。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック