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

Helmチャートとアプリ

このセクションでは、RancherでHelmチャートリポジトリとアプリを管理する方法を学びます。

RancherにおけるHelmチャートの仕組み

RancherのHelmチャートリポジトリは、*アプリ*を使用して管理されます。

Rancherは、リポジトリからチャートのバンドルをインポートするためのカタログのようなシステムを使用し、そのチャートを使用してカスタムKubernetesアプリケーションや、MonitoringやIstioなどのRancherのツールをデプロイします。Rancherツールは、スタンドアロンのHelmチャートとしてデプロイされる事前ロードされたリポジトリとして提供されます。追加のリポジトリは、現在のクラスターにのみ追加されます。

カタログ、アプリ、およびRancher UI

xref:[Rancher v2.4およびそれ以前]では、デプロイ可能なアプリケーションのリポジトリは「カタログ」と呼ばれていました。これらのリポジトリは、UIの*カタログ*セクションを通じて管理されていました。

Rancher v2.5では、以前のカタログシステムが新しい*アプリとマーケットプレイス*機能に置き換えられました。

Rancher v2.6.5以降、UIの*アプリとマーケットプレイス*機能は*アプリ*と呼ばれています。

バージョニングスキーム

Rancherの機能チャートのバージョニングスキームは、チャートのメジャーバージョンと、適用可能な場合はアップストリームチャートの`+up`アノテーションに基づいています。

*メジャーバージョン:*機能チャートのメジャーバージョンは、特定のマイナーバージョンのRancherに関連付けられています。新しいRancherマイナーバージョンにアップグレードする際は、すべての機能チャートもチャートの正しいリリースラインにアップグレードされていることを確認する必要があります。

*アップストリームに基づくチャート:*アップグレードする際は、アップストリームチャートのバージョンがあなたのRancherバージョンと互換性があることを確認してください。チャートの`+up`アノテーションは、Rancherチャートが追跡しているアップストリームバージョンを示します。例えば、100.x.x+up16.6.0 は、追加の Rancher パッチを含むアップストリームの kube-prometheus-stack 16.6.0 を追跡します。

Rancher のバージョンをアップグレードする際は、使用しているチャートのバージョンをダウングレードしないでください。例えば、Rancher v2.5 で 16.6.0 よりも新しいバージョンの Monitoring を使用している場合、100.x.x+up16.6.0 にアップグレードしないでください。代わりに、次のリリースで適切なバージョンにアップグレードするべきです。

プレリリースバージョン

プレリリースは、 仕様 に従い、 セマンティック バージョニング 2.0.0 によって定義されています。例えば、バージョン 0.1.3-dev.12ab4f の Helm チャートはプレリリースと見なされます。プレリリースバージョンはデフォルトでは表示されず、表示するように設定する必要があります。

プレリリースバージョンを表示するには:

  1. 右上隅のユーザアバターをクリックします。

  2. *Preferences*をクリックします。

  3. Helm チャート の下で、プレリリースバージョンを含める を選択します。

チャートにアクセスする

チャート ページには、すべての Rancher、パートナー、およびカスタムチャートが含まれています。左端のドロップダウンメニューを選択することで、チャートをフィルタリングできます:

  • Logging や Monitoring などの Rancher ツールは、Rancher ラベルの下にリストされています。

  • パートナーチャートは パートナー ラベルの下にあります。

  • カスタムチャートは、それぞれのリポジトリの名前の下にリストされています。

3 種類のチャートはすべて、同じ方法でデプロイおよび管理されます。

クラスターマネージャーによって管理されるアプリ(従来の Rancher UI のグローバルビュー)は引き続きクラスターマネージャーによってのみ管理され、新しい UI の アプリ で管理されるアプリは アプリ によってのみ管理される必要があります。

チャート ページにアクセスするには:

  1. *☰ > クラスター管理*をクリックします。

  2. アクセスしたいチャートのあるクラスターの名前を見つけてください。クラスターの行の最後にある*探索*をクリックします。

  3. *クラスターダッシュボード*の左側のナビゲーションメニューで、アプリ  チャートをクリックします。

[Manage Repositories]

リポジトリ ページには、あなたの Helm リポジトリが一覧表示されます。これには、index.yamlを持つ従来のHelmエンドポイントと、特定のブランチを指すクローンされたGitリポジトリが含まれます。カスタムチャートを使用するには、ここにリポジトリを追加してください。リポジトリを追加した後、*チャート*ページで、リポジトリの名前の下にカスタムチャートにアクセスできます。

*リポジトリ*ページにアクセスするには:

  1. *☰ > クラスター管理*をクリックします。

  2. アクセスしたいリポジトリを持つクラスターの名前を見つけてください。クラスターの行の最後にある*探索*をクリックします。

  3. *クラスターダッシュボード*の左側のナビゲーションメニューで、アプリ  リポジトリをクリックします。

カスタムGitリポジトリを追加する

Helmチャートまたはクラスターのテンプレート定義を含むカスタムGitリポジトリを追加するには:

  1. *☰ > クラスター管理*をクリックします。

  2. アクセスしたいリポジトリを持つクラスターの名前を見つけてください。クラスターの行の最後にある*探索*をクリックします。

  3. *クラスターダッシュボード*の左側のナビゲーションメニューで、アプリ  リポジトリをクリックします。

  4. 作成]をクリックします。

  5. ターゲットを選択してください、Helmチャートを含むGitリポジトリ…​

  6. 名前とGitリポジトリのURLを入力する必要があります。説明を含む他のフィールドは任意です。リポジトリの所有者がデフォルトとして設定したブランチからプルしたくない場合は、代替のブランチ名を入力してください。通常、デフォルトのブランチは`main`または`master`と名付けられています。

  7. *作成*をクリックしてリポジトリを追加します。

Rancherにチャートリポジトリを追加した後、すぐに利用可能になります。

カスタムHelmチャートリポジトリを追加する

自分のHelmチャートリポジトリを追加して、Rancherにチャートパッケージを提供できます。任意のHTTPサーバーを使用できますが、サーバーがGETリクエストに応答し、YAMLファイルとTARアーカイブを提供できる必要があります。

Helmチャートリポジトリに関する詳細は、 公式のHelmドキュメントを参照してください。

カスタムHelmチャートリポジトリをRancherに追加するには:

  1. *☰ > クラスター管理*をクリックします。

  2. アクセスしたいリポジトリを持つクラスターの名前を見つけてください。クラスターの行の最後にある*探索*をクリックします。

  3. *クラスターダッシュボード*の左側のナビゲーションメニューで、アプリ  リポジトリをクリックします。

  4. 作成]をクリックします。

  5. ターゲットを選択します。Helmによって生成されたインデックスのhttp(s) URL

  6. リポジトリ名とチャートリポジトリのインデックスURLアドレスを入力します。

  7. *作成*をクリックしてリポジトリを追加します。

プライベートGit/Helmチャートリポジトリを追加する

SSHキーの資格情報またはユーザー名とパスワードなどのHTTP基本認証シークレットを使用して、プライベートGitまたはHelmチャートリポジトリを追加できます。

リポジトリにプライベートCAを追加する

HelmチャートリポジトリにプライベートCAを追加するには、CA証明書のDER形式のbase64エンコードされたコピーをチャートリポジトリの`spec.caBundle field`に追加する必要があります。例:openssl x509 -outform der -in ca.pem | base64 -w0。手順は、GitベースとHTTPベースのリポジトリの両方で同じです:

  1. *☰*をクリックします。左側のメニューの*クラスターを探索*の下で、クラスターを選択します。

  2. *クラスターダッシュボード*の左側のメニューで、アプリ  リポジトリをクリックします。

  3. プライベートCAを追加したいGitベースまたはHTTPベースのリポジトリに関連する行を見つけ、*⋮ > YAMLを編集*をクリックします。

  4. 次の例のように、`caBundle`の値を設定します:

    [...]
    spec:
      caBundle:
    MIIFXzCCA0egAwIBAgIUWNy8WrvSkgNzV0zdWRP79j9cVcEwDQYJKoZIhvcNAQELBQAwPzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRQwEgYDVQQKDAtNeU9yZywgSW5jLjENMAsGA1UEAwwEcm9vdDAeFw0yMTEyMTQwODMyMTdaFw0yNDEwMDMwODMyMT
    ...
    nDxZ/tNXt/WPJr/PgEB3hQdInDWYMg7vGO0Oz00G5kWg0sJ0ZTSoA10ZwdjIdGEeKlj1NlPyAqpQ+uDnmx6DW+zqfYtLnc/g6GuLLVPamraqN+gyU8CHwAWPNjZonFN9Vpg0PIk1I2zuOc4EHifoTAXSpnjfzfyAxCaZsnTptimlPFJJqAMj+FfDArGmr4=
    [...]
認証付きHelmチャートリポジトリ

Repo.Specには`disableSameOriginCheck`の値が含まれています。この値を使用すると、同一オリジンチェックをバイパスし、すべてのAPI呼び出しにBasic Authヘッダーとしてリポジトリの認証情報を送信できます。これは推奨されませんが、異なるオリジンURLへのリダイレクトがある非標準のHelmチャートリポジトリの場合の一時的な解決策として使用できます。

既存のHelmチャートリポジトリでこの機能を使用するには、YAMLを編集するまでの前の手順に従ってください。YAMLファイルの`spec`部分に`disableSameOriginCheck`を追加し、それを`true`に設定します。

[...]
spec:
  disableSameOriginCheck: true
[...]

カスタムOCIチャートリポジトリを追加する

Helm v3は、Helmチャートを Open Container Initiative (OCI)アーティファクトとしてコンテナレジストリに保存することを導入しました。Rancher v2.9.0では、HTTPベースおよびGitベースのリポジトリに加えて、 OCIベースのHelmチャートリポジトリを追加できます。これは、OCIアーティファクトとして保存されたアプリをデプロイできることを意味します。詳細については、OCI Helmチャートリポジトリの使用を参照してください。

Helmの互換性

Helm 3互換のチャートのみがサポートされています。

チャートリポジトリのリフレッシュ

*リフレッシュ*ボタンを使用して、*リポジトリ*ページの選択したHelmチャートリポジトリから変更を同期できます。

チャートリポジトリを更新するには:

  1. *☰ > クラスター管理*をクリックします。

  2. アクセスしたいリポジトリを持つクラスターの名前を見つけてください。クラスターの行の最後にある*探索*をクリックします。

  3. *クラスターダッシュボード*の左側のメニューで、アプリ  リポジトリをクリックします。

  4. *状態*フィールドの隣にあるトグルを使用して、すべてのリポジトリを選択するか、指定されたチャートリポジトリをトグルして変更を同期します。

  5. *リフレッシュ*をクリックします。

  6. 各チャートリポジトリ行の最後にある*⋮*には、対応するリポジトリをリフレッシュするためにクリックできる*リフレッシュ*オプションも含まれています。

非エアギャップRancherインストールでは、リフレッシュ時にチャートリポジトリの変更が即座に反映され、アクションが完了すると、更新されたリポジトリの*状態*フィールドが`In Progress`から`Active`に移動します。

Rancherがパッケージ版のHelmシステムチャートを使用するように設定されているエアギャップインストール(useBundledSystemChart=true)では、バンドルされている system-chartリポジトリのみを参照し、リフレッシュまたはsyncすることはできません。

Refresh Interval (更新間隔)

Rancher v2.10.0は、refreshInterval`フィールドを`ClusterRepo CRDに追加します。デフォルト値は3600秒であり、Rancherは3600秒ごとに各Helmリポジトリを同期します。

チャートリポジトリのリフレッシュ間隔を変更するには:

  1. ☰ > クラスター管理をクリックします。

  2. アクセスしたいリポジトリを持つクラスターの名前を見つけてください。クラスターの行の最後にある探索をクリックします。

  3. クラスターダッシュボードの左側のナビゲーションメニューで、アプリ > リポジトリをクリックします。

  4. 変更したいリポジトリを見つけて、⋮ > YAMLを編集をクリックします。

  5. Specの下にあるrefreshIntervalフィールドを、希望の秒数に設定します。

  6. 保存]をクリックします。

Helmチャートリポジトリの有効化/無効化

Rancher v2.10.0では、Helmリポジトリを有効または無効にする機能が追加されました。Helmリポジトリはデフォルトで有効になっています。

チャートリポジトリを無効にするには:

  1. ☰ > クラスター管理をクリックします。

  2. アクセスしたいリポジトリを持つクラスターの名前を見つけてください。クラスターの行の最後にある探索をクリックします。

  3. クラスターダッシュボードの左側のナビゲーションメニューで、アプリ > リポジトリをクリックします。

  4. 無効にしたいリポジトリを見つけて、⋮ > YAMLを編集をクリックします。

  5. Specの下にあるEnabledフィールドをfalseに設定します。

  6. 保存]をクリックします。

  7. リポジトリを無効にすると、更新が無効になり、clusterRepoへの新しい変更は適用されません。

チャートリポジトリを有効にするには:

  1. ☰ > クラスター管理をクリックします。

  2. アクセスしたいリポジトリを持つクラスターの名前を見つけてください。クラスターの行の最後にある探索をクリックします。

  3. クラスターダッシュボードの左側のナビゲーションメニューで、アプリ > リポジトリをクリックします。

  4. 無効にしたいリポジトリを見つけて、⋮ > YAMLを編集をクリックします。

  5. Specの下にあるEnabledフィールドをtrueに設定します。

  6. 保存]をクリックします。

チャートをデプロイする・アップグレードする

チャートをインストールしてデプロイするには:

  1. *☰ > クラスター管理*をクリックします。

  2. アクセスしたいリポジトリを持つクラスターの名前を見つけてください。クラスターの行の最後にある*探索*をクリックします。

  3. *クラスターダッシュボード*の左側のナビゲーションメニューで、アプリ  チャートをクリックします。

  4. チャートを選択し、*インストール*をクリックします。

Rancherおよびパートナーチャートには、カスタムページやquestions.yamlファイルを通じて追加の設定がある場合があります。ただし、すべてのチャートインストールは、values.yamlやその他の基本設定を変更できます。*インストール*をクリックすると、Helm操作ジョブがデプロイされ、そのジョブのコンソールが表示されます。

最近の変更をすべて表示するには、左側のナビゲーションメニューでアプリ  最近の操作をクリックします。そこから、呼び出し、条件、イベント、およびログを表示できます。

チャートをインストールした後、左側のナビゲーションメニューでアプリ  インストール済みアプリをクリックすることで表示できます。インストールをアップグレードするか削除し、さらに詳細を確認できます。アップグレードは、初回インストール時に見たのと同じ形式と値を使用します。

ほとんどのRancherツールには、機能を管理および使用するための*Apps*セクションの下にあるツールバーに追加のページがあります。これらのページには、ダッシュボードへのリンク、カスタムリソースを簡単に追加するためのフォーム、および追加情報が含まれています。

カスタマイズされたHelmオプションを使用してチャートをアップグレードする場合、チャートに不変フィールドが含まれていると、`--force`オプションを使用するとエラーが発生する可能性があります。これは、Kubernetesの一部のオブジェクトは作成後に変更できないためです。このエラーを防ぐには:

  • デフォルトのアップグレードオプションを使用してください(`--force`は使用しないでください)。

  • 既存のチャートを削除し、アップグレードされたチャートをインストールします。

  • 強制アップグレードを実行する前に、クラスターから不変フィールドがあるリソースを削除します。

レガシーアプリ

Apps  Installed Appsページでは、レガシーアプリのアップグレード ボタンは表示されません。

インストールされたレガシーアプリをアップグレードする場合は、レガシー機能フラグを有効にする必要があります。このフラグは、Rancherをアップグレードする前にレガシーアプリがすでに実行されていた場合、自動的に有効になります。

  1. レガシー機能フラグがまだ有効でない場合は、有効にしてください。

  2. *☰ > クラスター管理*をクリックします。

  3. アクセスしたいアプリがあるクラスターの名前を見つけます。クラスターの行の最後にある*Explore*をクリックします。

  4. レガシー  プロジェクト  アプリをクリックします。

レガシー  プロジェクトの下に*Apps*が表示されない場合は、上部のナビゲーションのプロジェクト/ネームスペース検索バーをクリックし、ドロップダウンメニューから関連するプロジェクトを選択します。

レガシーマルチクラスターアプリをアップグレードするには:

  1. *☰*をクリックします。

  2. *レガシーアプリ*の下にある*マルチクラスターアプリ*をクリックします。

チャート固有の情報

sriovチャートの廃止と移行

Rancher Charts リポジトリの sriov (SR-IOV ネットワークオペレーター) チャートは廃止され、Rancher v2.10 で削除されます。代わりに、SUSE Edge リポジトリ (https://github.com/suse-edge/charts) からの sriov-network-operator チャートに移行してください。

移行するには、次の手順を実行してください。

  1. Add Custom Git Repositories の手順に従って、SUSE Edge リポジトリをクラスターに追加します。

  2. Git Repo URL フィールドに https://github.com/suse-edge/charts を入力してください。

  3. 作成]をクリックします。

  4. *クラスターダッシュボード*の左側のナビゲーションメニューで、アプリ  チャートをクリックします。

  5. sriov-network-operator チャートを見つけてクリックします。

  6. [*インストール]*をクリックします。

  7. Name フィールドには、既存の sriov チャートのインストールで使用したのと同じ名前を入力してください。

  8. 次へ をクリックします。

  9. [*インストール]*をクリックします。

結果:*Rancher は *Installed Apps ページにリダイレクトし、既存のインストールが Updating 状態に入ります。Deployed 状態に入ると、移行が完了します。

制限

  • ダッシュボードアプリや Rancher 機能チャートは、Rancher CLI を使用してインストールすることはできません。

  • Apps  Installed Apps ページの Upgradable 列に表示する最新バージョンを決定する際、インストール元のリポジトリからの Helm チャートのバージョンだけでなく、クラスター内のすべてのリポジトリからの Helm チャートのバージョンも考慮されます。

    例えば、リポジトリ A から cert-manager v1.13.0 をインストールしたとします。このとき、v1.14.0 が現在利用可能な最新バージョンです。この場合、Upgradable は v1.14.0 を表示することを期待します。しかし、クラスターが v1.15.0 の cert-manager を含むリポジトリ B にもアクセスできる場合、Upgradable は元のインストールがリポジトリ A を使用していても v1.15.0 を表示します。