18.4. 手動モードの使用

手動モードは Amazon Web Services (AWS)、Microsoft Azure、および Google Cloud Platform (GCP) でサポートされます。

手動モードでは、ユーザーは Cloud Credential Operator (CCO) の代わりにクラウド認証情報を管理します。このモードを使用するには、実行またはインストールしている OpenShift Container Platform バージョンのリリースイメージの CredentialsRequest CR を検査し、基礎となるクラウドプロバイダーで対応する認証情報を作成し、クラスターのクラウドプロバイダーのすべての CredentialsRequest CR に対応するために Kubernetes Secret を正しい namespace に作成する必要があります。

手動モードを使用すると、クラスターに管理者レベルの認証情報を保存する必要なく、各クラスターコンポーネントに必要なパーミッションのみを指定できます。このモードでは、AWS パブリック IAM エンドポイントへの接続も必要ありません。ただし、各アップグレードについて、パーミッションを新規リリースイメージを使用して手動で調整する必要があります。

手動モードを使用するようにクラウドプロバイダーを設定する方法についての詳細は、 AWSAzure、または GCPIAM の手動作成 について参照してください。

18.4.1. AWS STS を使用した手動モード

AWS クラスターを手動モードで設定し、Amazon Web Services Security Token Service (AWS STS) を使用するように設定できます。この設定では、CCO は異なるコンポーネントに一時的な認証情報を使用します。

18.4.2. 手動でメンテナンスされた認証情報を使用したクラスターのアップグレード

手動でメンテナンスされる認証情報をを含むクラスターの Cloud Credential Operator (CCO) の upgradable ステータスはデフォルトで false となります。

  • 4.8 から 4.9 などのマイナーリリースの場合には、このステータスを使用することで、パーミッションを更新して CloudCredential リソースにアノテーションを付けてパーミッションが次のバージョンの要件に合わせて更新されていることを指定するまで、アップグレードができないようになります。このアノテーションは、Upgradable ステータスを True に変更します。
  • 4.9.0 から 4.9.1 などの z-stream リリースの場合には、パーミッションは追加または変更されないため、アップグレードはブロックされません。

手動でメンテナンスされる認証情報でクラスターをアップグレードする前に、アップグレードするリリースイメージ用に認証情報を新規作成する必要があります。さらに、既存の認証情報に必要なパーミッションを確認し、これらのコンポーネントの新規リリースの新しいパーミッション要件に対応する必要があります。

手順

  1. 新規リリースの CredentialsRequest カスタムリソースを抽出して検査します。

    クラウドプロバイダーのインストールコンテンツの IAM の手動作成についてのセクションでは、クラウドに必要な認証情報を取得し、使用する方法について説明します。

  2. クラスターで手動でメンテナンスされる認証情報を更新します。

    • 新規リリースイメージによって追加される CredentialsRequest カスタムリソースの新規のシークレットを作成します。
    • シークレットに保存される既存の認証情報の CredentialsRequest カスタムリソースにパーミッション要件を変更した場合は、必要に応じてパーミッションを更新します。
  3. 新規リリースですべてのシークレットが正しい場合は、クラスターをアップグレードする準備が整っていることを示します。

    1. cluster-admin ロールを持つユーザーとして OpenShift Container Platform CLI にログインします。
    2. CloudCredential リソースを編集して、metadata フィールドに upgradeable-to アノテーションを追加します。

      $ oc edit cloudcredential cluster

      追加するテキスト

      ...
        metadata:
          annotations:
            cloudcredential.openshift.io/upgradeable-to: <version_number>
      ...

      ここで、<version_number> は、アップグレードするバージョン (x.y.z 形式) に置き換えます。例: OpenShift Container Platform 4.8.2 (OpenShift Container Platform 4.8.2 の場合)

      アノテーションを追加してから、upgradeable のステータスが変更されるまで、数分かかる場合があります。

  4. CCO がアップグレードできることを確認します。

    1. Web コンソールの Administrator パースペクティブで、AdministrationCluster Settings に移動します。
    2. CCO ステータスの詳細を表示するには、Cluster Operators 一覧で cloud-credential をクリックします。
    3. Conditions セクションの Upgradeable ステータスが False の場合に、upgradeable-to アノテーションに間違いがないことを確認します。

Conditions セクションの Upgradeable ステータスが True の場合には、OpenShift Container Platform のアップグレードを開始できます。

18.4.3. 関連情報