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

アダプターのインストール

アダプターを再インストールしようとする場合、最大1時間の間、誤った不適合メッセージが表示されることがあります。

Rancher対アダプターの互換性マトリックス

重要:

CSPアダプターの異なるバージョンは、特定のRancherのバージョンに存在する機能に依存しています。 アダプターを正常にデプロイして実行するには、そのバージョンが必要なRancherのバージョンに対応していることを確認する必要があります。

Rancherのバージョン アダプターのバージョン

v2.14.1

v109.0.0+up9.0.0

v2.13.3

v108.0.0+up8.0.0

v2.13.2

v108.0.0+up8.0.0

v2.13.1

v108.0.0+up8.0.0

v2.13.0

v108.0.0+up8.0.0

1.ローカルクラスタへのアクセスを得る

ローカルクラスタには管理者ユーザーのみがアクセスできるべきです。CSPアダプターはローカルクラスタにインストールする必要があるため、このインストールは管理者ユーザーによって実行されなければなりません。

まず、ローカルクラスタをクリックしてkubeconfigトークンをダウンロードします。次に、以下のコマンドを使用してCLIをこの新しいトークンで構成できます。`$TOKEN_PATH`をダウンロードしたトークンのファイルシステム上のパスに置き換えてください。

export KUBECONFIG=$TOKEN_PATH

2.アダプターのネームスペースを作成する

アダプターがインストールされるネームスペースを作成します。

kubectl create ns cattle-csp-adapter-system

3.証明書シークレットを作成する

アダプターは、RancherがRancherサーバーと通信するために使用しているルートCAにアクセスする必要があります。Rancherがサポートしている証明書オプションについては、チャートオプションページで詳しく読むことができます。

RancherのインストールがLet’s Encryptなどの認識された証明書機関によって署名された証明書を使用している場合は、ステップ4に安全にスキップできます。

ただし、RancherのインストールがRancher生成の証明書やプライベート証明書機関によって署名されたカスタム証明書を使用している場合は、アダプターがRancherと通信できるように、この機関の証明書をPEMエンコード形式で提供する必要があります。

まず、Rancherが使用している証明書を取得し、`ca-additional.pem`という名前のファイルに配置してください。Rancherが生成した証明書オプションを使用している場合、次のコマンドで実行できます:

kubectl get secret tls-rancher -n cattle-system -o jsonpath="{.data.tls\.crt}" | base64 -d  >> ca-additional.pem

次に、この証明書を使用するシークレットを作成してください:

kubectl -n cattle-csp-adapter-system create secret generic tls-ca-additional --from-file=ca-additional.pem
ファイル名や作成したシークレットの名前を変更しないでください。これらの値を変更すると、アダプターが実行される際にエラーが発生する可能性があります。

4.チャートをインストールします

まず、次のコマンドを使用して`rancher/charts`リポジトリを追加してください:

helm repo add rancher-charts https://charts.rancher.io

次に、CSPアダプターをインストールしてください。アカウント番号や前提条件で作成したロールの名前など、いくつかの値を指定する必要があります。

実行しているRancherのバージョンに一致するCSPアダプターのバージョンを使用してください。これは上記で定義されています。

以下の指示では、$MY_ACC_NUM`をあなたのAWSアカウント番号に、$MY_ROLE_NAME`を前提条件で作成したロールの名前に置き換えてください。さらに、`$CSP_ADAPTER_VERSION`をバージョンマトリックス内のあなたのRancherバージョンに一致するバージョンに置き換えてください。

シェル変数を使用する場合は、引用符を指定しないでください。例えば、MY_ACC_NUM=123456789012は機能しますが、MY_ACC_NUM="123456789012"は失敗します。
EUおよびUKのAWS Marketplaceリストを使用しているアカウントは、追加の`--set image.repository=rancher/rancher-csp-adapter-eu`オプションを指定する必要があります。アダプターをインストールする際にアカウントがこのオプションを必要とするかどうかを確認するには、マーケットプレイスリストの使用説明を参照してください。
  • Let’s Encrypt / 公開証明書機関

  • プライベートCA機関 / Rancher生成の証明書

  helm install rancher-csp-adapter rancher-charts/rancher-csp-adapter --namespace cattle-csp-adapter-system --set aws.enabled=true --set aws.roleName=$MY_ROLE_NAME --set-string aws.accountNumber=$MY_ACC_NUM --version $CSP_ADAPTER_VERSION

または、`values.yaml`を使用し、以下のようにオプションを指定できます。

  aws:
    enabled: true
    accountNumber: "$MY_ACC_NUM"
    roleName: $MY_ROLE_NAME
アカウント番号は、上記のように文字列形式で指定する必要があります。そうしないと、インストールが失敗します。

次に、次のコマンドでアダプターをインストールできます。

  helm install rancher-csp-adapter rancher-charts/rancher-csp-adapter -f values.yaml --version $CSP_ADAPTER_VERSION
  helm install rancher-csp-adapter rancher-charts/rancher-csp-adapter --namespace cattle-csp-adapter-system --set aws.enabled=true --set aws.roleName=$MY_ROLE_NAME --set-string aws.accountNumber=$MY_ACC_NUM --set additionalTrustedCAs=true --version $CSP_ADAPTER_VERSION

代わりに、`values.yaml`を使用して、以下のオプションを指定できます。

  aws:
    enabled: true
    accountNumber: "$MY_ACC_NUM"
    roleName: $MY_ROLE_NAME
  additionalTrustedCAs: true
アカウント番号は、上記のように文字列形式で指定する必要があります。そうしないと、インストールが失敗します。

次に、次のコマンドでアダプターをインストールできます。

  helm install rancher-csp-adapter rancher-charts/rancher-csp-adapter -f values.yaml --version $CSP_ADAPTER_VERSION

5.証明書の更新を管理する

ステップ3にカスタム証明書を格納するシークレットを作成した場合、証明書がローテーションされるたびに、このシークレットを更新する必要があります。

まず、以下のコマンドを使用して、cattle-csp-adapter-systemネームスペース内の元のシークレットを削除します。

kubectl delete secret tls-ca-additional -n cattle-csp-adapter-system

次に、ステップ3の元のインストール手順に従って、シークレットの内容を更新された値に置き換えます。

最後に、更新された値がアダプターに利用可能になるように、rancher-csp-adapterのデプロイメントを再起動します。

kubectl rollout restart deploy rancher-csp-adapter -n cattle-csp-adapter-system
cert-managerの トラストオペレーターのような方法を使用すると、これらのタスクの一部を自動化できます。これらの方法は公式にサポートされていませんが、手動で証明書をローテーションする必要がある頻度を減らすことができます。