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

画像をアップロード

現在、画像を作成するためにサポートされている方法は3つあります:URL経由での画像のアップロード、ローカルファイル経由での画像のアップロード、およびボリューム経由での画像の作成です。

URL経由で画像をアップロード

  • UI

  • API

  • Terraform

*画像*ページで仮想マシン画像をインポートするには、クラスターからアクセスできるURLを入力してください。説明とラベルは任意です。

  • 画像名はURLアドレスのファイル名を使用して自動的に入力されます。画像名はいつでもカスタマイズできます。

  • 日次ビルドのURL(例えば、 Ubuntu Jammy daily build)の使用は避けてください。Longhornバックイメージのすべてのレプリカが失われた場合、Longhornは自己修復の目的でファイルを再度ダウンロードしようとします。日次ビルドのURLを使用することは問題があります。なぜなら、URL自体が変更され、チェックサムの不一致やレプリカの喪失を引き起こす競合が発生するからです。

大きな画像ファイルは、HTTP範囲リクエストをサポートしていないサーバーにホストされているダウンロードURLを持つサードパーティのStorageClassesを使用する場合、SUSE Virtualizationでメモリの問題を引き起こす可能性があります(例えば、Pythonの`http.server`)。信頼性の高いダウンロードのためには、代わりにNGINXまたはApacheを使用してください。(この問題はv1.6.1で修正されました。)

upload image

APIを使用してリポジトリから仮想マシン画像をインポートするには、`VirtualMachineImage`オブジェクトを作成してください。クラスターからアクセスできるURLを指定する必要があります。

例:

apiVersion: harvesterhci.io/v1beta1
kind: VirtualMachineImage
metadata:
  name: opensuse-leap
  namespace: default
spec:
  description: A human-readable description for the VM image
  displayName: openSUSE-Leap
  sourceType: download
  url: "https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.5/images/openSUSE-Leap-15.5.x86_64-NoCloud.qcow2"
  checksum: 80c27afb7cd791ac86ee1b0b0c572a242f6142579db5beac841e71151d370cd6

詳細については、APIリファレンスを参照してください。

resource "harvester_image" "opensuse154" {
  name      = "opensuse154"
  namespace = "harvester-public"

  display_name = "openSUSE-Leap-15.4.x86_64-NoCloud.qcow2"
  source_type  = "download"
  url          = "https://downloadcontent-us1.opensuse.org/repositories/Cloud:/Images:/Leap_15.4/images/openSUSE-Leap-15.4.x86_64-NoCloud.qcow2"
}

ローカルファイル経由で画像をアップロード

現在、qcow2、raw、およびISOイメージがサポートされています。

  • ファイルのアップロードが完了するまで、ページを更新しないでください。

upload image local

SUSE Rancher Primeマルチクラスター管理におけるHTTP 413エラー

マルチクラスター管理画面から*SUSE Rancher Prime UI*に画像をアップロードできます。画像のステータスが_アップロード中_で、進行状況インジケーターが_0%_を長時間表示している場合は、HTTPレスポンスステータスコードを確認してください。_413_は、リクエストボディのサイズが制限を超えていることを示します。

img 413 code

最大リクエストボディサイズは、SUSE Rancher Primeをホストしているクラスターに特有である必要があります(例えば、RKE2クラスターはデフォルトで1MBの制限がありますが、K3sクラスターにはそのような制限はありません)。

現在の回避策は、*SUSE Virtualization UI*から画像をアップロードすることです。SUSE Rancher Prime UIから画像をアップロードすることを選択した場合、イングレスサーバーで関連設定を構成する必要があるかもしれません(例えば、 proxy-body-sizeをNGINXで設定します)。

SUSE Rancher PrimeがRKE2クラスターにデプロイされている場合、次の手順を実行してください:

  1. SUSE Rancher Primeイングレスを編集します。

    kubectl -n cattle-system edit ingress rancher
  2. `nginx.ingress.kubernetes.io/proxy-body-size`の値を指定します。

    例:

    img ingress client body

  3. スタックした画像を削除し、アップロードプロセスを再起動します。

SUSE Rancher Primeマルチクラスター管理における大きな画像の長時間アップロード

*マルチクラスター管理*画面からSUSE Rancher Prime UIに10GBを超える大きな画像をアップロードすると、操作が通常よりも長くかかる場合があり、画像のステータス(アップロード中)が変わらないことがあります。

この動作は、_プロキシリクエストバッファリング_に関連しており、SUSE Rancher Primeをホストしているクラスターに特有です。

現在の回避策は、*SUSE Virtualization UI*から画像をアップロードすることです。SUSE Rancher Prime UIから画像をアップロードすることを選択した場合、イングレスサーバーで関連設定を構成する必要があるかもしれません(例えば、 proxy-request-bufferingをNGINXで設定します)。

SUSE Rancher PrimeがRKE2クラスターにデプロイされている場合、次の手順を実行してください:

  1. SUSE Rancher Primeイングレスを編集します。

    kubectl -n cattle-system edit ingress rancher
  2. `nginx.ingress.kubernetes.io/proxy-request-buffering`をオフにします。

    例:

    img ingress request proxy buffering

  3. スタックした画像を削除し、アップロードプロセスを再起動します。

SUSE Virtualizationから以前にダウンロードした画像をアップロードする

*v1.5.5*以降、Longhornは ダウンロード用のバックイメージを圧縮します。圧縮されたバックイメージをアップロードしようとすると、SUSE Virtualizationはその試みを拒否し、メッセージ*アップロードに失敗しました:アップロードされたファイルサイズxxxxは512バイトの倍数である必要があります。LonghornはデフォルトでdirectIOを使用するためです*を表示します。

アップロードする前に、コマンド`gzip -d <file name>`を使用してバックイメージを解凍してください。

ボリュームを介して画像を作成します。

*ボリューム*ページで、*イメージのエクスポート*をクリックしてください。画像名を入力し、画像を作成するためのStorageClassを選択してください。

export volume to image 1

画像のStorageClass

画像を作成する際には、StorageClassを選択し、レプリカ、ノードセレクター、ディスクセレクターなどの事前定義されたパラメーターを使用できます。

ここで選択した`StorageClass`は、画像には直接使用されません。これは単なる`StorageClass`テンプレートです。

代わりに、`longhorn-`というプレフィックス名を持つ特別なStorageClassが内部で作成されます。これはSUSE Virtualizationバックエンドによって自動的に行われますが、選択したStorageClassからパラメーターを継承します。

image storageclass

画像ラベル

画像にラベルを追加することができ、これによりOSタイプをより正確に特定できます。また、必要に応じてフィルター用のカスタムラベルを追加することもできます。

画像名やURLに有効な情報が含まれている場合、UIは自動的にOSタイプと画像カテゴリを認識します。そうでない場合は、UI上で対応するラベルを手動で指定することもできます。

image labels