この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

画像をインポートする

コンテナイメージは、containerd イメージストアによって各ノードにローカルにキャッシュされます。イメージは、ポッドによって必要に応じてレジストリからプルされるか、イメージプルを介して事前にロードされるか、イメージtarボールからインポートされます。

オンデマンドイメージプル

Kubernetesは、デフォルトで、ノードにイメージが存在しない場合、ポッドが必要とする際に自動的にイメージをプルします。この動作は、ポッドのhttps://kubernetes.io/docs/concepts/containers/images/#image-pull-policy[イメージプルポリシー]フィールドを使用することで変更できます。デフォルトの`IfNotPresent`ポリシーを使用する場合、containerdは、アップストリーム(デフォルト)またはあなたのプライベートレジストリからイメージをプルし、それをイメージストアに保存します。ユーザーは、オンデマンドイメージプルが機能するために、追加の設定を適用する必要はありません。

事前にインポートされたイメージ

バージョンゲート

K3sが実行中の間にイメージを事前にインポートする機能は、2025年1月のリリースから利用可能です:v1.32.0+k3s1、v1.31.5+k3s1、v1.30.9+k3s1、v1.29.13+k3s1。それ以前は、K3sは起動時にのみイメージを事前にインポートしていました。

ノードにイメージを事前にインポートすることは、Kubernetesの`imagePullPolicy`を`Never`として構成する場合に重要です。これは、セキュリティ上の理由や、K3sノードの起動時間を短縮するために行うことがあります。

K3sには、containerdイメージストアにイメージを事前にインポートするための2つのメカニズムが含まれています:

  • オンラインイメージインポート

  • オフラインイメージのインポート

ユーザーは、イメージ名を1行ごとに含むテキストファイルを`/var/lib/rancher/k3s/agent/images`ディレクトリに配置することで、containerdイメージストアへのイメージのプルをトリガーできます。テキストファイルは、K3sが起動する前に配置することも、K3sが実行中に作成または変更することもできます。K3sは、CRI APIを介してイメージを順次プルし、オプションでregistries.yaml構成を使用します。

次に例を示します。

mkdir /var/lib/rancher/k3s/agent/images
cp example.txt /var/lib/rancher/k3s/agent/images

example.txt には次の内容が含まれます:

docker.io/library/redis:latest
docker.io/library/mysql:latest

数秒後、redismysql のイメージがノードのcontainerdイメージストアに利用可能になります。

containerd イメージストアをクエリするには sudo k3s ctr images list を使用してください。

ユーザーは、/var/lib/rancher/k3s/agent/images ディレクトリにイメージtarballを配置することで、containerd イメージストアに直接イメージをインポートできます。tarball は、K3s が起動する前に配置することも、K3s が実行中に作成または変更することもできます。K3s は必要に応じてイメージtarballを解凍し、イメージを抽出して、containerd イメージストアにロードします。

次に例を示します。

mkdir /var/lib/rancher/k3s/agent/images
curl  https://github.com/k3s-io/k3s/releases/download/v1.33.1%2Bk3s1/k3s-airgap-images-amd64.tar.zst -O  /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar.zst

数秒後、イメージtarballに含まれるイメージがノードのcontainerd イメージストアで利用可能になります。

containerd イメージストアをクエリするには sudo k3s ctr images list を使用してください。

これはエアギャップ(された)環境で使用される方法です。詳細情報については、エアギャップインストールドキュメントを参照してください。

イメージレジストリを設定する

K3s はイメージレジストリのための2つの代替手段をサポートしています:

  • プライベートレジストリの設定 では、registries.yaml を使用してコンテナイメージレジストリの認証とミラーリングを設定する方法について説明します。

  • 埋め込みレジストリミラー では、ノード間でのイメージのピアツーピア共有のために、埋め込み分散イメージレジストリミラーを有効にする方法を示します。