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

概要

アーキテクチャダイアグラム

以下は、Rancher Turtlesの主要コンポーネントとそれらがRancherおよびRancher Cluster Agentにどのように関連しているかを示す視覚的表現です。これらのコンポーネントを理解することは、RancherがCAPIオペレーターを活用してクラスター管理を行う方法についての洞察を得るために不可欠です。

概要

セキュリティ

ソフトウェアアーティファクトのサプライチェーンレベル(SLSA)によって定義されているように、SLSAは業界の合意に基づいて確立されたサプライチェーンセキュリティのための段階的に採用可能なガイドラインのセットです。SLSAによって定められた仕様は、ソフトウェアの生産者と消費者の両方にとって有用です。生産者はSLSAのガイドラインに従ってソフトウェアのサプライチェーンをより安全にし、消費者はSLSAを使用してソフトウェアパッケージを信頼するかどうかの判断を行うことができます。

Rancher Turtlesは、適切に強化されたビルドプラットフォームとして、 SLSAレベル3の要件を満たしており、一貫したビルドプロセスと来歴の配布を備えています。詳細については、 SUSE® Rancher Prime: Cluster API セキュリティドキュメントをご覧ください。

前提条件

Rancher v2.14以降、ビルトインの`embedded-cluster-api`機能(`rancher-provisioning-capi`チャートとも呼ばれる)は削除されました。https://documentation.suse.com/cloudnative/cluster-api/latest/en/index.html[SUSE® Rancher Prime: Cluster API]は、RancherとのCluster API統合のための唯一のサポートされている方法です。

以前のバージョンのRancher(v2.13以前)からアップグレードする場合、`embedded-cluster-api`機能フラグを手動で無効にしたり、SUSE® Rancher Prime: Cluster APIをインストールする前に関連するWebhookをクリーンアップする必要はありません。

SUSE® Rancher Prime: Cluster APIオペレーターのインストール

Rancher UIまたはHelmを使用してRancher Turtlesオペレーターをインストールできます。最初の方法は、ほとんどの環境に推奨されます。

クラスターにCluster API(CAPI)オペレーターがすでにインストールされている場合は、手動Helmインストール方法を使用する必要があります。

Rancher UIを介してのインストール

Rancher UIを介してTurtlesリポジトリを追加することで、RancherはCAPI拡張機能のインストールと設定を処理できます。

  1. *☰*をクリックします。左側のナビゲーションメニューの*クラスターを探索*の下で、*ローカル*を選択します。

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

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

  4. 次のように入力します。

  5. 新しいリポジトリのステータスが`Active`になるまでお待ちください。

  6. 左側のメニューでアプリ  チャートを選択します。

  7. 検索フィルターに「turtles」と入力して、Turtlesチャートを見つけます。

  8. *Rancher Turtles - クラスターAPI拡張機能*をクリックします。

  9. インストール  次へ  インストールをクリックします。

この処理は、ほとんどのインストールに適したHelmチャートのデフォルト値を使用します。構成によっては、これらのデフォルトの一部を上書きする必要がある場合、Rancher UIからインストール中に値を指定するか、Helmを介してチャートを手動でインストールすることができます。利用可能な値の詳細については、 クラスターAPIのドキュメントを参照してください。

インストールには数分かかる場合があり、完了後にはクラスター内に以下の新しいデプロイメントが表示されます:

  • rancher-turtles-system/rancher-turtles-controller-manager

  • rancher-turtles-system/rancher-turtles-cluster-api-operator

  • capi-system/capi-controller-manager

デモ

このデモは、Rancher UIを使用してRancher Turtlesをインストールし、CAPIクラスターを作成/インポートし、クラスターにモニタリングをインストールする方法を示しています:

Helmを介してインストールする

Rancher TurtlesをHelmでインストールする方法は2つあり、 CAPIオペレーターを依存関係として含めるかどうかによります:

Rancher TurtlesをインストールするにはCAPIオペレーターが必要です。この依存関係を自分で管理するか、Rancher Turtles Helmチャートに管理させるかを選択できます。依存関係としてTurtlesをインストールするの方が簡単ですが、最適な選択肢は特定の構成によります。

CAPIオペレーターは、宣言的アプローチを使用して CAPIプロバイダーのライフサイクルを管理することを可能にし、`clusterctl`の機能を拡張します。詳細を学びたい場合は、 クラスターAPIオペレーターの本を参照できます。

Helmの依存関係としてSUSE® Rancher Prime: Cluster APIを利用して、`Cluster API (CAPI) Operator`をインストールします。

  1. インストールの最初のステップとして、`rancher-turtles`チャートを含むHelmリポジトリを追加してください。

    helm repo add turtles https://rancher.github.io/turtles
    helm repo update
  2. 前述のように、Rancher Turtlesをインストールするには、 CAPIオペレーターが必要です。Helmチャートは、最小限のフラグセットで自動的にインストールできます。

    helm install rancher-turtles turtles/rancher-turtles --version <version> \
        -n rancher-turtles-system \
        --dependency-update \
        --create-namespace --wait \
        --timeout 180s
  3. この操作には数分かかる場合があり、完了後に下記のインストール済みコントローラーを確認できます。

    • rancher-turtles-controller

    • capi-operator

      • cert-manager`がクラスターに既に存在する場合は、Rancher Turtlesの依存関係としてのインストールを無効にしてください。これにより依存関係の競合が防止されます: `--set cluster-api-operator.cert-manager.enabled=false

      • Rancher Turtlesのバージョンのリストについては、 Turtlesリリースページを参照してください。

これは基本的で推奨される構成であり、コアプロバイダー・ネームスペース内で、必要なCAPI機能フラグ(CLUSTER_TOPOLOGYEXP_CLUSTER_RESOURCE_SET、`EXP_MACHINE_POOL`が有効)のシークレットの作成を管理します。これらの機能フラグは、追加のCAPI機能を有効にするために必要です。

デフォルトの動作をオーバーライドして既存のシークレットを使用する必要がある場合(またはカスタム環境変数を追加する場合)、シークレット名をHelmフラグとして渡すことができます。この場合、ユーザーとして、シークレットの作成とその内容の管理を担当し、必要な最小限の機能フラグを有効にする必要があります:CLUSTER_TOPOLOGYEXP_CLUSTER_RESOURCE_SETEXP_MACHINE_POOL

helm install ...
    # Passing secret name and namespace for additional environment variables
    --set cluster-api-operator.cluster-api.configSecret.name=<secret-name>

以下は、cluster-api-operator.cluster-api.configSecret.name=variables`のユーザー管理シークレットの例で、`CLUSTER_TOPOLOGYEXP_CLUSTER_RESOURCE_SET、`EXP_MACHINE_POOL`の機能フラグが設定され、追加のカスタム変数があります。

secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: variables
  namespace: rancher-turtles-system
type: Opaque
stringData:
  CLUSTER_TOPOLOGY: "true"
  EXP_CLUSTER_RESOURCE_SET: "true"
  EXP_MACHINE_POOL: "true"
  CUSTOM_ENV_VAR: "false"

チャートがサポートする値とその使用法に関する詳細情報については、 Helmチャートオプションを参照してください。

Helmの依存関係としてSUSE® Rancher Prime: Cluster APIを使用せずに、`Cluster API (CAPI) Operator`をインストールします。

このインストールオプションを選択した場合、CAPIオペレーターのインストールを自分で管理する必要があることを忘れないでください。支援が必要な場合は、Cluster APIドキュメントの手動インストールガイドに従ってください。

  1. インストールの最初のステップとして、`rancher-turtles`チャートを含むHelmリポジトリを追加してください。

    helm repo add turtles https://rancher.github.io/turtles
    helm repo update
  2. チャートを`rancher-turtles-system`ネームスペースにインストールします:

    helm install rancher-turtles turtles/rancher-turtles --version <version>
        -n rancher-turtles-system
        --set cluster-api-operator.enabled=false
        --set cluster-api-operator.cluster-api.enabled=false
        --create-namespace --wait
        --dependency-update

    前のコマンドは、Helmに`cluster-api-operator`を依存関係としてインストールしないよう指示します。

  3. この操作には数分かかる場合があり、完了後に下記のインストール済みコントローラーを確認できます。

    • rancher-turtles-controller

SUSE® Rancher Prime: Cluster APIの削除

Rancher環境にRancher Turtlesをインストールする際、デフォルトでRancher TurtlesはCAPIオペレーターのクリーンアップを有効にします。これには、Rancherのプロビジョニングに問題を引き起こすCAPIオペレーター特有のWebhookやデプロイメントのクリーンアップが含まれます。

Rancher Turtlesをアンインストールする際(RancherまたはHelmコマンドを使用)、公式のRancher Turtles Helmチャートには、以下を削除する`post-delete`フックが含まれています:

  • もはや必要のない`mutating-webhook-configuration`および`validating-webhook-configuration`のWebhookを削除します。

  • もはや必要のないCAPI `deployments`を削除します。

Rancher Turtlesをアンインストールするには:

helm uninstall -n rancher-turtles-system rancher-turtles --cascade foreground --wait

完了するまで数分かかる場合があります。

インストールに異なる名前や異なるネームスペースを使用する場合は、特定の設定に合わせてコマンドをカスタマイズする必要があることを忘れないでください。