アップグレード


Red Hat Advanced Cluster Security for Kubernetes 4.5

Red Hat Advanced Cluster Security for Kubernetes のアップグレード

Red Hat OpenShift Documentation Team

概要

このセクションでは、Helm チャートまたは roxctl コマンドラインインターフェイスを使用して、Red Hat Advanced Cluster Security for Kubernetes をアップグレードする手順を説明します。

第1章 Operator を使用したアップグレード

Red Hat Advanced Cluster Security for Kubernetes (RHACS) Operator を使用したアップグレードは、インストール時に選択した Update approval オプションに応じて、自動または手動で実行されます。

アップグレードするときは、次のガイドラインに従ってください。

  • Central のバージョンが 3.74 より前の場合は、4.x バージョンにアップグレードする前に 3.74 にアップグレードする必要があります。Central をバージョン 3.74 にアップグレードするには、バージョン 3.74 のアップグレードドキュメント を参照してください。
  • Operator ベースの Central デプロイメントをバージョン 3.74 からアップグレードする場合は、まず Operator アップグレードモードが Manual に設定されていることを確認します。次に、バージョン 4.0 のアップグレードドキュメント の手順に従って Operator をバージョン 4.0 にアップグレードし、Central がオンラインであることを確認します。バージョン 4.0 へのアップグレードが完了したら、Red Hat では完全な機能を利用するために Central を最新バージョンにアップグレードすることを推奨します。

1.1. アップグレードへの準備

Red Hat Advanced Cluster Security for Kubernetes (RHACS) のバージョンをアップグレードする前に、次の手順を実行します。

  • バージョン 3.74 からアップグレードする場合は、RHACS Operator 3.74 の最新パッチリリースバージョンを実行していることを確認します。
  • 既存の Central データベースをバックアップします。
  • アップグレードするクラスターに SecuredCluster カスタムリソース (CR) が含まれている場合は、収集方法を CORE_BPF に変更します。詳細は、「収集方法の変更」を参照してください。

1.1.1. 収集方法の変更

アップグレードするクラスターに SecuredCluster CR が含まれている場合は、アップグレードする前に、ノードごとのコレクション設定が CORE_BPF に設定されていることを確認する必要があります。

手順

  1. OpenShift Container Platform Web コンソールで、RHACS Operator ページに移動します。
  2. 上部のナビゲーションメニューで Secured Cluster を選択します。
  3. インスタンス名 (例: stackrox-secured-cluster-services) をクリックします。
  4. 設定を変更するには、次のいずれかの方法を使用します。

    • Form viewPer Node SettingsCollector SettingsCollection で、CORE_BPF を選択します。
    • YAML をクリックして YAML エディターを開き、spec.perNode.collector.collection 属性を見つけます。値が KernelModule または EBPF の場合は、CORE_BPF に変更します。
  5. Save をクリックします。

1.2. Central カスタムリソースの変更

Central DB サービスには永続ストレージが必要です。Central クラスターのデフォルトのストレージクラス (SSD または高パフォーマンス) を設定していない場合は、Central カスタムリソースを更新して、Central DB 永続ボリューム要求 (PVC) のストレージクラスを設定する必要があります。

注記

Central のデフォルトのストレージクラスをすでに設定している場合は、このセクションをスキップしてください。

手順

  • 次の設定で Central カスタムリソースを更新します。
spec:
  central:
    db:
      isEnabled: Default 
1

      persistence:
        persistentVolumeClaim: 
2

          claimName: central-db
          size: 100Gi
          storageClassName: <storage-class-name>
Copy to Clipboard Toggle word wrap
1
IsEnabled の値を Enabled に変更しないでください。
2
このクレームが存在する場合、クラスターは既存のクレームを使用し、存在しない場合は新しいクレームを作成します。

1.3. 外部データベースの Central カスタムリソースの変更

前提条件

  • PostgreSQL 13 をサポートするデータベースインスタンスと、以下のパーミッションを持つユーザーにデータベースが必要です。

    • データベースに接続する権限。
    • スキーまでの Usage および Create
    • スキーマ内のすべてのテーブルでの SelectInsertUpdate、および Delete
    • スキーマ内のすべてのシーケンスでの Usage

手順

  1. OpenShift Container Platform Web コンソールまたはターミナルを使用して、デプロイされた namespace にパスワードシークレットを作成します。

    • OpenShift Container Platform Web コンソールで、WorkloadsSecrets ページに移動します。キー password、およびプロビジョニングされたデータベースのスーパーユーザーのパスワードを含むプレーンテキストファイルのパスとしての値を使用して、キー/値のシークレット を作成します。
    • または、ターミナルで次のコマンドを実行します。

      $ oc create secret generic external-db-password \ 
      1
      
        --from-file=password=<password.txt> 
      2
      Copy to Clipboard Toggle word wrap
      1
      Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
      2
      password.txt をプレーンテキストのパスワードが含まれるファイルのパスに置き換えます。
  2. OpenShift Container Platform Web コンソールの Red Hat Advanced Cluster Security for Kubernetes Operator ページに移動します。上部のナビゲーションバーで Central を選択し、データベースに接続するインスタンスを選択します。
  3. YAML editor ビューに移動します。
  4. db.passwordSecret.name には、前の手順で作成した参照シークレットを指定します。たとえば、external-db-password です。
  5. db.connectionString には、keyword=value 形式で接続文字列を指定します (例: host=<host> port=5432 database=stackrox user=stackrox sslmode=verify-ca)。
  6. db.persistence の場合は、ブロック全体を削除します。
  7. 必要に応じて、次の例に示すように、最上位の仕様の下に TLS ブロックを追加することで、Central がデータベース証明書を信頼する認証局を指定できます。

    • 次の設定で Central カスタムリソースを更新します。

      spec:
        tls:
          additionalCAs:
          - name: db-ca
            content: |
              <certificate>
        central:
          db:
            isEnabled: Default 
      1
      
            connectionString: "host=<host> port=5432 user=<user> sslmode=verify-ca"
            passwordSecret:
              name: external-db-password
      Copy to Clipboard Toggle word wrap
      1
      IsEnabled の値を Enabled に変更しないでください。
  8. Save をクリックします。

1.4. サブスクリプションチャネルの変更

RHACS Operator の更新チャネルは、OpenShift Container Platform Web コンソールまたはコマンドラインを使用して変更できます。RHACS 3.74 から RHACS 4.0 にアップグレードするには、更新チャネルを変更する必要があります。

重要

RHACS Operator をインストールしたすべてのクラスター (Central クラスターとすべてのセキュアクラスターを含む) のサブスクリプションチャネルを変更する必要があります。

前提条件

  • 最新の RHACS 3.74 Operator を使用していること、および保留中の手動の Operator アップグレードがないことを確認する。
  • Central データベースをバックアップしたことを確認する。
  • cluster-admin パーミッションを持つアカウントを使用して OpenShift Container Platform クラスター Web コンソールにアクセスできる。
Web コンソールを使用してサブスクリプションチャネルを変更する

Web コンソールを使用してサブスクリプションチャネルを変更するには、次の手順に従います。

手順

  1. OpenShift Container Platform Web コンソールの Administrator パースペクティブで、OperatorsInstalled Operators に移動します。
  2. RHACS Operator をクリックします。
  3. Subscription タブをクリックします。
  4. Update Channel の下にある更新チャネルの名前をクリックします。
  5. stable を選択し、Save をクリックします。
  6. Automatic 承認ストラテジーがあるサブスクリプションの場合、更新は自動的に開始します。OperatorsInstalled Operators ページに戻って、更新の進行状況を監視します。完了時に、ステータスは Succeeded および Up to date に変更されます。

    Manual 承認ストラテジーがあるサブスクリプションの場合、Subscription タブから更新を手動で承認できます。

コマンドラインを使用したサブスクリプションチャネルの変更

コマンドラインを使用してサブスクリプションチャネルを変更するには、次の手順を使用します。

手順

  • 次のコマンドを実行して、サブスクリプションチャネルを stable チャネルに変更します。

    $ oc -n rhacs-operator \ 
    1
    
      patch subscriptions.operators.coreos.com rhacs-operator \
      --type=merge --patch='{ "spec": { "channel": "stable" }}'
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。

更新中、RHACS Operator は、central-db という名前の新しいデプロイメントをプロビジョニングし、データの移行を開始します。これには約 30 分かかり、アップグレード後にのみ実行されます。

1.5. バージョン 4.1 以降にアップグレードした後、中央に接続された PV の削除

Kubernetes と OpenShift Container Platform は、永続ボリューム (PV) を自動的に削除しません。RHACS を以前のバージョンからアップグレードすると、stackrox-db という Central PV がマウントされたままになります。ただし、RHACS 4.1 では、Central は以前に接続されていた PV が不要になりました。

PV には、以前の RHACS バージョンで使用されていたデータと永続ファイルが含まれています。PV を使用して、RHACS 4.1 より前のバージョンにロールバックできます。または、Central 用の大規模な RocksDB バックアップバンドルがある場合は、PV を使用してそのデータを復元できます。

4.1 へのアップグレードが完了したら、Central に接続された永続ボリューム要求 (PVC) を削除してストレージを解放できます。以前の RocksDB バックアップからロールバックまたは復元する予定がない場合にのみ、PVC を削除してください。

警告

PVC を削除した後は、Central を RHACS 4.1 より前のバージョンにロールバックしたり、RocksDB で作成された大規模な RocksDB バックアップを復元したりすることはできません。

1.5.1. RHACS バージョン 4.1 以降の RHACS Operator を使用して中央に接続された PV を削除

Central-attached Persistent Volume Claim (PVC) stackrox-db を削除して、ストレージ領域を解放します。

手順

  • 次のアノテーションを Central に追加します。

    annotations:
      platform.stackrox.io/obsolete-central-pvc: "true"
    Copy to Clipboard Toggle word wrap

検証

  • 以下のコマンドを実行します。

    $ oc -n stackrox describe pvc stackrox-db | grep -i 'Used By'
    Used By: <none> 
    1
    Copy to Clipboard Toggle word wrap
    1
    Used By: <none> が表示されるまで待ちます。これには数分かかる場合があります。

1.6. Operator アップグレードのロールバック

Operator アップグレードをロールバックするには、次のセクションのいずれかで説明されている手順を実行する必要があります。CLI または OpenShift Container Platform Web コンソールを使用して、Operator アップグレードをロールバックできます。

注記

RHACS 4.0 からロールバックする場合は、RHACS 3.74 の最新パッチリリースバージョンにのみロールバックできます。

1.6.1. CLI を使用した Operator アップグレードのロールバック

CLI コマンドを使用して Operator バージョンをロールバックできます。

手順

  1. 次のコマンドを実行して、OLM サブスクリプションを削除します。

    • OpenShift Container Platform の場合、以下のコマンドを実行します。

      $ oc -n rhacs-operator delete subscription rhacs-operator
      Copy to Clipboard Toggle word wrap
    • Kubernetes の場合、次のコマンドを実行します。

      $ kubectl -n rhacs-operator delete subscription rhacs-operator
      Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、クラスターサービスバージョン (CSV) を削除します。

    • OpenShift Container Platform の場合、以下のコマンドを実行します。

      $ oc -n rhacs-operator delete csv -l operators.coreos.com/rhacs-operator.rhacs-operator
      Copy to Clipboard Toggle word wrap
    • Kubernetes の場合、次のコマンドを実行します。

      $ kubectl -n rhacs-operator delete csv -l operators.coreos.com/rhacs-operator.rhacs-operator
      Copy to Clipboard Toggle word wrap
  3. 次のオプションのいずれかを選択して、ロールバックする前のバージョンを決定します。

    • 現在の Central インスタンスが実行中の場合は、次のコマンドを実行して RHACS API にクエリーを実行し、ロールバックバージョンを取得します。

      $ curl -k -s -u <user>:<password> https://<central hostname>/v1/centralhealth/upgradestatus | jq -r .upgradeStatus.forceRollbackTo
      Copy to Clipboard Toggle word wrap
    • 現在の Central インスタンスが実行されていない場合は、次の手順を実行します。

      注記

      この手順は、rocksdb データベースがインストールされている RHACS リリース 3.74 以前でのみ使用できます。

      1. 次のコマンドを実行して、Central デプロイメントがスケールダウンされていることを確認します。

        • OpenShift Container Platform の場合、以下のコマンドを実行します。

          $ oc scale -n <central namespace> –replicas=0 deploy/central
          Copy to Clipboard Toggle word wrap
        • Kubernetes の場合、次のコマンドを実行します。

          $ kubectl scale -n <central namespace> –replicas=0 deploy/central
          Copy to Clipboard Toggle word wrap
      2. 次の Pod 仕様を YAML ファイルとして保存します。

        apiVersion: v1
        kind: Pod
        metadata:
          name: get-previous-db-version
        spec:
          containers:
          - name: get-previous-db-version
            image: registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:<rollback version>
            command:
            - sh
            args:
            - '-c'
            - "cat /var/lib/stackrox/.previous/migration_version.yaml | grep '^image:' | cut -f 2 -d : | tr -d ' '"
            volumeMounts:
            - name: stackrox-db
              mountPath: /var/lib/stackrox
          volumes:
          - name: stackrox-db
            persistentVolumeClaim:
              claimName: stackrox-db
        Copy to Clipboard Toggle word wrap
      3. 保存した YAML ファイルを使用し、次のコマンドを実行して、Central namespace に Pod を作成します。

        • OpenShift Container Platform の場合、以下のコマンドを実行します。

          $ oc create -n <central namespace> -f pod.yaml
          Copy to Clipboard Toggle word wrap
        • Kubernetes の場合、次のコマンドを実行します。

          $ kubectl create -n <central namespace> -f pod.yaml
          Copy to Clipboard Toggle word wrap
      4. Pod の作成が完了したら、次のコマンドを実行してバージョンを取得します。

        • OpenShift Container Platform の場合、以下のコマンドを実行します。

          $ oc logs -n <central namespace> get-previous-db-version
          Copy to Clipboard Toggle word wrap
        • Kubernetes の場合、次のコマンドを実行します。

          $ kubectl logs -n <central namespace> get-previous-db-version
          Copy to Clipboard Toggle word wrap
  4. 次のコマンドを実行し、central-config.yaml ConfigMap を編集して maintenance.forceRollBackVersion:<version> パラメーターを設定します。

    • OpenShift Container Platform の場合、以下のコマンドを実行します。

      $ oc get configmap -n <central namespace> central-config -o yaml | sed -e "s/forceRollbackVersion: none/forceRollbackVersion: <version>/" | oc -n <central namespace> apply -f -
      Copy to Clipboard Toggle word wrap
    • Kubernetes の場合、次のコマンドを実行します。

      $ kubectl get configmap -n <central namespace> central-config -o yaml | sed -e "s/forceRollbackVersion: none/forceRollbackVersion: <version>/" | kubectl -n <central namespace> apply -f -
      Copy to Clipboard Toggle word wrap
  5. ステップ 3 で示されたバージョン文字列をイメージタグとして使用して、Central デプロイメントのイメージを設定します。たとえば、以下のコマンドを実行します。

    • OpenShift Container Platform の場合、以下のコマンドを実行します。

      $ oc set image -n <central namespace> deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:<version>
      Copy to Clipboard Toggle word wrap
    • Kubernetes の場合、次のコマンドを実行します。

      $ kubectl set image -n <central namespace> deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:<version>
      Copy to Clipboard Toggle word wrap

検証

  1. Central Pod が起動し、ready ステータスになっていることを確認します。Pod がクラッシュした場合は、ログをチェックして、バックアップが復元されたかどうかを確認します。成功した場合のログメッセージは、次の例のように表示されます。

    Clone to Migrate ".previous", ""
    Copy to Clipboard Toggle word wrap
  2. ロールバックされたチャネルに Operator を再インストールします。たとえば、3.74.2rhacs-3.74 チャネルにインストールされます。

1.6.2. Web コンソールを使用した Operator アップグレードのロールバック

OpenShift Container Platform Web コンソールを使用して Operator バージョンをロールバックできます。

前提条件

  • cluster-admin パーミッションを持つアカウントを使用して OpenShift Container Platform クラスター Web コンソールにアクセスできる。

手順

  1. OperatorsInstalled Operators ページに移動します。
  2. RHACS Operator をクリックします。
  3. Operator Details ページで、Actions リストから Uninstall Operator を選択します。この操作を実行すると、Operator は実行を停止し、更新を受信しなくなります。
  4. 次のオプションのいずれかを選択して、ロールバックする前のバージョンを決定します。

    • 現在の Central インスタンスが実行中の場合は、ターミナルウィンドウから次のコマンドを実行して、RHACS API をクエリーしてロールバックバージョンを取得できます。

      $ curl -k -s -u <user>:<password> https://<central hostname>/v1/centralhealth/upgradestatus | jq -r .upgradeStatus.forceRollbackTo
      Copy to Clipboard Toggle word wrap
    • 次の手順で、Pod を作成し、以前のバージョンを展開できます。

      注記

      この手順は、rocksdb データベースがインストールされている RHACS リリース 3.74 以前でのみ使用できます。

      1. WorkloadsDeploymentscentral に移動します。
      2. Deployment details で、Pod 数の横にある下矢印をクリックして Pod をスケールダウンします。
      3. WorkloadsPodsCreate Pod に移動し、次の例に示すように Pod 仕様の内容をエディターに貼り付けます。

        apiVersion: v1
        kind: Pod
        metadata:
          name: get-previous-db-version
        spec:
          containers:
          - name: get-previous-db-version
            image: registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:<rollback version>
            command:
            - sh
            args:
            - '-c'
            - "cat /var/lib/stackrox/.previous/migration_version.yaml | grep '^image:' | cut -f 2 -d : | tr -d ' '"
            volumeMounts:
            - name: stackrox-db
              mountPath: /var/lib/stackrox
          volumes:
          - name: stackrox-db
            persistentVolumeClaim:
              claimName: stackrox-db
        Copy to Clipboard Toggle word wrap
      4. Create をクリックします。
      5. Pod が作成されたら、Logs タブをクリックしてバージョン文字列を取得します。
  5. 次の手順を実行して、ロールバック設定を更新します。

    1. WorkloadsConfigMapscentral-config に移動し、Actions リストから Edit ConfigMap を選択します。
    2. central-config.yaml キーの値で、forceRollbackVersion 行を見つけます。
    3. none3.73.3 に置き換えて、ファイルを保存します。
  6. 次の手順を実行して、Central を以前のバージョンに更新します。

    1. WorkloadsDeploymentscentral に移動し、Actions リストから Edit Deployment を選択します。
    2. イメージ名を更新し、変更を保存します。

検証

  1. Central Pod が起動し、ready ステータスになっていることを確認します。Pod がクラッシュした場合は、ログをチェックして、バックアップが復元されたかどうかを確認します。成功した場合のログメッセージは、次の例のように表示されます。

    Clone to Migrate ".previous", ""
    Copy to Clipboard Toggle word wrap
  2. ロールバックされたチャネルに Operator を再インストールします。たとえば、3.74.2rhacs-3.74 チャネルにインストールされます。

1.7. Operator アップグレードに関する問題のトラブルシューティング

RHACS Operator のアップグレード関連の問題を調査して解決するには、次の手順に従ってください。

1.7.1. Central DB をスケジュールできない

アップグレード中に失敗した Central DB Pod のトラブルシューティングを行うには、次の手順に従ってください。

  1. central-db Pod のステータスを確認します。

    $ oc -n <namespace> get pod -l app=central-db 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  2. Pod のステータスが Pending の場合は、describe コマンドを使用して詳細を取得します。

    $ oc -n <namespace> describe po/<central-db-pod-name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  3. FailedScheduling 警告メッセージが表示される場合があります。

    Type     Reason            Age   From               Message
    ----     ------            ----  ----               -------
    Warning  FailedScheduling  54s   default-scheduler  0/7 nodes are available: 1 Insufficient memory, 3 node(s) had untolerated taint {node-role.kubernetes.io/master: }, 4 Insufficient cpu. preemption: 0/7 nodes are available: 3 Preemption is not helpful for scheduling, 4 No preemption victims found for incoming pod.
    Copy to Clipboard Toggle word wrap
  4. この警告メッセージは、スケジュールされたノードに Pod のリソース要件に対応するのに十分なメモリーがないことを示唆しています。小規模な環境の場合は、ノード上のリソースを増やすか、データベースをサポートできるより大きなノードを追加することを検討してください。

    それ以外の場合は、centraldbresources の下のカスタムリソースで、central-db Pod のリソース要件を減らすことを検討してください。ただし、推奨される最小リソースよりも少ないリソースで中央を実行すると、RHACS のパフォーマンスが低下する可能性があります。

1.7.2. Central クラスターまたはセキュアクラスターのデプロイに失敗する

RHACS Operator が次の状態にある場合は、カスタムリソースの状態をチェックして問題を見つける必要があります。

  • Operator が Central またはセキュアクラスターをデプロイできない場合
  • Operator が CR の変更を実際のリソースに適用できない場合
  • Central の場合は、次のコマンドを実行して状態を確認します。

    $ oc -n rhacs-operator describe centrals.platform.stackrox.io 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  • セキュアクラスターの場合は、次のコマンドを実行して状態を確認します。

    $ oc -n rhacs-operator describe securedclusters.platform.stackrox.io 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。

状態の出力から設定エラーを特定できます。

出力例

 Conditions:
    Last Transition Time:  2023-04-19T10:49:57Z
    Status:                False
    Type:                  Deployed
    Last Transition Time:  2023-04-19T10:49:57Z
    Status:                True
    Type:                  Initialized
    Last Transition Time:  2023-04-19T10:59:10Z
    Message:               Deployment.apps "central" is invalid: spec.template.spec.containers[0].resources.requests: Invalid value: "50": must be less than or equal to cpu limit
    Reason:                ReconcileError
    Status:                True
    Type:                  Irreconcilable
    Last Transition Time:  2023-04-19T10:49:57Z
    Message:               No proxy configuration is desired
    Reason:                NoProxyConfig
    Status:                False
    Type:                  ProxyConfigFailed
    Last Transition Time:  2023-04-19T10:49:57Z
    Message:               Deployment.apps "central" is invalid: spec.template.spec.containers[0].resources.requests: Invalid value: "50": must be less than or equal to cpu limit
    Reason:                InstallError
    Status:                True
    Type:                  ReleaseFailed
Copy to Clipboard Toggle word wrap

さらに、RHACS Pod のログを表示して、問題に関する詳細情報を見つけることができます。次のコマンドを実行してログを表示します。

oc -n rhacs-operator logs deploy/rhacs-operator-controller-manager manager 
1
Copy to Clipboard Toggle word wrap
1
Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。

第2章 Helm チャートを使用したアップグレード

実行している RHACS のリリースに応じて、RHACS の特定のアップグレードパスに従う必要があります。Helm チャートを更新してアップグレードを実行する前に、Central データベースをバックアップする必要もあります。

2.1. RHACS リリース 3.74 以前からのアップグレード手順

以前のリリースからアップグレードする場合は、次のガイダンスに従ってください。

  • Central のリリースが 3.74 より前の場合は、4.x リリースにアップグレードする前に、最新の 3.74 パッチにアップグレードする必要があります。以前のバージョンから 3.74 へのアップグレードは、バージョン 3.74 のアップグレードドキュメント を参照してください。
  • リリース 3.74 からリリース 4.5 以降にアップグレードするには、まず RHACS バージョン 4.0 から 4.4 の最新パッチにアップグレードする必要があります。その後、リリース 4.5 以降にアップグレードできます。

Helm チャートを使用して RHACS をインストールした場合、RHACS の最新バージョンにアップグレードするには、次の手順を実行します。

  1. Central データベースをバックアップします。
  2. 必要に応じて、Central のデータベースと永続ボリューム要求 (PVC) を最適化します。
  3. (オプション) central-services Helm チャートのルート証明書を含む values-private.yaml 設定ファイルを生成します。
  4. Helm チャートを更新します。
  5. helm upgrade コマンドを実行します。
重要

最適な機能を確保するには、secure-cluster-services Helm チャートと central-services Helm チャートに同じバージョンを使用してください。

2.2. Central データベースのバックアップ

Central データベースをバックアップし、インフラストラクチャーの障害が発生した場合に、そのバックアップを使用して、失敗したアップグレードからのロールバックまたはデータの復元を行えます。

前提条件

  • Red Hat Advanced Cluster Security for Kubernetes のすべてのリソースに対する read 権限を持つ API トークンがある。Analyst システムロールには、すべてのリソースに対する read 権限がある。
  • roxctl CLI をインストールしている。
  • ROX_API_TOKEN および ROX_CENTRAL_ADDRESS 環境変数が設定されている。

手順

  • backup コマンドを実行します。

    $ roxctl -e "$ROX_CENTRAL_ADDRESS" central backup
    Copy to Clipboard Toggle word wrap

2.3. Central データベースと PVC の最適化

Red Hat Advanced Cluster Security for Kubernetes (RHACS) 4.0 にアップグレードすると、RHACS は、デフォルトの永続ボリューム要求 (PVC) を使用して、central-db という PostgreSQL インスタンスを作成します。オプションで、central-db または PVC 設定をカスタマイズできます。

Red Hat は、次のメモリーおよび CPU 要求の最小値を推奨します。

central:
  db:
    resources:
      requests:
        memory: 16Gi
        cpu: 8
      limits:
        memory: 16Gi
        cpu: 8
Copy to Clipboard Toggle word wrap

2.4. ルート証明書ファイルの生成

Red Hat Advanced Cluster Security for Kubernetes (RHACS) のインストールに使用した values-private.yaml 設定ファイルにアクセスできない場合は、次の手順に従って、ルート証明書を含む values-private.yaml 設定ファイルを生成します。

value-private.yaml 設定ファイルにアクセスできる場合は、ここでの手順をスキップしてください。

重要

生成された values-private.yaml ファイルには、機密性の高い設定オプションが含まれています。このファイルは安全に保管してください。

手順

  1. create_certificate_values_file.sh スクリプトをダウンロードします。
  2. create_certificate_values_file.sh スクリプトを実行可能にします。

    $ chmod +x create_certificate_values_file.sh
    Copy to Clipboard Toggle word wrap
  3. create_certificate_values_file.sh スクリプトファイルを実行します。

    $ create_certificate_values_file.sh values-private.yaml
    Copy to Clipboard Toggle word wrap

2.5. Helm チャートリポジトリーの更新

Red Hat Advanced Cluster Security for Kubernetes の新しいバージョンにアップグレードする前に、常に Helm チャートを更新する必要があります。

前提条件

  • Red Hat Advanced Cluster Security for Kubernetes の Helm チャートリポジトリーをすでに追加している。
  • Helm バージョン 3.8.3 以降を使用している。

手順

  • Red Hat Advanced Cluster Security for Kubernetes チャートリポジトリーを追加します。

    $ helm repo update
    Copy to Clipboard Toggle word wrap

検証

  • 次のコマンドを実行して、追加されたチャートリポジトリーを確認します。

    $ helm search repo -l rhacs/
    Copy to Clipboard Toggle word wrap

2.7. Helm アップグレードコマンドの実行

helm upgrade コマンドを使用して、Red Hat Advanced Cluster Security for Kubernetes (RHACS) を更新できます。

前提条件

  • Red Hat Advanced Cluster Security for Kubernetes (RHACS) のインストールに使用した values-private.yaml 設定ファイルにアクセスできる。アクセスできない場合は、この手順のコマンドを続行する前に、ルート証明書を含む values-private.yaml 設定ファイルを生成する必要があります。

手順

  • helm upgrade コマンドを実行し、-f オプションを使用して設定ファイルを指定します。

    $ helm upgrade -n stackrox stackrox-central-services \
      rhacs/central-services --version <current-rhacs-version> \
    1
    
      -f values-private.yaml \
      --set central.db.password.generate=true \
      --set central.db.serviceTLS.generate=true \
      --set central.db.persistence.persistentVolumeClaim.createClaim=true
    Copy to Clipboard Toggle word wrap
    1
    YAML 設定ファイルのパスを指定するには、-f オプションを使用します。
    $ helm upgrade -n stackrox stackrox-secured-cluster-services \
      rhacs/secured-cluster-services --version <current-rhacs-version> \
    1
    
      -f values-private.yaml
    Copy to Clipboard Toggle word wrap
    1
    YAML 設定ファイルのパスを指定するには、-f オプションを使用します。
注記

--reuse-values オプションを使用すると、アップグレード中に以前に設定された Helm 値を保存できます。その場合は、次のバージョンにアップグレードする前に、central-db の作成をオフにする必要があります。

次のコマンド例を参照してください。

$ helm upgrade -n stackrox stackrox-central-services \
  rhacs/central-services --version <current-rhacs-version> --reuse-values \
  -f values-private.yaml \
  --set central.db.password.generate=false \
  --set central.db.serviceTLS.generate=false \
  --set central.db.persistence.persistentVolumeClaim.createClaim=false
Copy to Clipboard Toggle word wrap

2.8. バージョン 4.1 以降にアップグレードした後、中央に接続された PV の削除

Kubernetes と OpenShift Container Platform は、永続ボリューム (PV) を自動的に削除しません。RHACS を以前のバージョンからアップグレードすると、stackrox-db という Central PV がマウントされたままになります。ただし、RHACS 4.1 では、Central は以前に接続されていた PV が不要になりました。

PV には、以前の RHACS バージョンで使用されていたデータと永続ファイルが含まれています。PV を使用して、RHACS 4.1 より前のバージョンにロールバックできます。または、Central 用の大規模な RocksDB バックアップバンドルがある場合は、PV を使用してそのデータを復元できます。

4.1 へのアップグレードが完了したら、Central に接続された永続ボリューム要求 (PVC) を削除してストレージを解放できます。以前の RocksDB バックアップからロールバックまたは復元する予定がない場合にのみ、PVC を削除してください。

警告

PVC を削除した後は、Central を RHACS 4.1 より前のバージョンにロールバックしたり、RocksDB で作成された大規模な RocksDB バックアップを復元したりすることはできません。

2.8.1. Helm を使用して中央に接続された PV を削除する

Central-attached Persistent Volume Claim (PVC) stackrox-db を削除して、ストレージ領域を解放します。

手順

  • 以下のコマンドを実行します。

    $ helm upgrade -n stackrox stackrox-central-services \
        rhacs/central-services --version <current-rhacs-version> \
        --set central.persistence.none=true
    Copy to Clipboard Toggle word wrap

検証

  • 以下のコマンドを実行します。

    $ oc -n stackrox describe pvc stackrox-db | grep -i 'Used By'
    Used By: <none> 
    1
    Copy to Clipboard Toggle word wrap
    1
    Used By: <none> が表示されるまで待ちます。これには数分の時間がかかる場合があります。

2.9. Helm アップグレードのロールバック

新しいバージョンへのアップグレードが失敗した場合は、以前のバージョンの Central にロールバックできます。

手順

  1. 次の helm upgrade コマンドを実行します。

    $ helm upgrade -n stackrox \
      stackrox-central-services rhacs/central-services \
      --version <previous_rhacs_74_version> \ 
    1
    
      --set central.db.enabled=false
    Copy to Clipboard Toggle word wrap
    1
    <previous_rhacs_74_version> を以前にインストールされた RHACS バージョンに置き換えます。
  2. central-db 永続ボリューム要求 (PVC) を削除します。

    $ oc -n stackrox delete pvc central-db 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。

第3章 roxctl CLI を使用した手動アップグレード

Red Hat Advanced Cluster Security for Kubernetes (RHACS) を、サポート対象の古いバージョンから最新バージョンにアップグレードできます。

重要
  • 手動アップグレード手順を実行する必要があるのは、roxctl CLI を使用して RHACS をインストールした場合のみです。
  • たとえば、バージョン 3.74 からバージョン 4.0 へ、バージョン 4.0 からバージョン 4.1 へなど、バージョンアップグレードごとに実行する必要がある手動の手順があります。したがって、Red Hat では、選択したバージョンがインストールされるまで、まず 3.74 から 4.0 にアップグレードし、次に 4.0 から 4.1 にアップグレードし、最後に 4.1 から 4.2 にアップグレードすることを推奨しています。完全な機能を利用するには、Red Hat は最新バージョンにアップグレードすることを推奨します。

RHACS を最新バージョンにアップグレードするには、次の手順を実行します。

3.1. Central データベースのバックアップ

Central データベースをバックアップし、インフラストラクチャーの障害が発生した場合に、そのバックアップを使用して、失敗したアップグレードからのロールバックまたはデータの復元を行えます。

前提条件

  • Red Hat Advanced Cluster Security for Kubernetes のすべてのリソースに対する read 権限を持つ API トークンがある。Analyst システムロールには、すべてのリソースに対する read 権限がある。
  • roxctl CLI をインストールしている。
  • ROX_API_TOKEN および ROX_CENTRAL_ADDRESS 環境変数が設定されている。

手順

  • backup コマンドを実行します。

    $ roxctl -e "$ROX_CENTRAL_ADDRESS" central backup
    Copy to Clipboard Toggle word wrap

3.2. roxctl CLI のアップグレード

roxctl CLI を最新バージョンにアップグレードするには、既存のバージョンの roxctl CLI をアンインストールしてから、最新バージョンの roxctl CLI をインストールする必要があります。

3.2.1. roxctl CLI のアンインストール

次の手順を使用して、Linux 上の roxctl CLI バイナリーをアンインストールできます。

手順

  • roxctl バイナリーを見つけて削除します。

    $ ROXPATH=$(which roxctl) && rm -f $ROXPATH 
    1
    Copy to Clipboard Toggle word wrap
    1
    環境によっては、roxctl バイナリーを削除するために管理者権限が必要になる場合があります。

3.2.2. Linux への roxctl CLI のインストール

次の手順を使用して、Linux に roxctl CLI バイナリーをインストールできます。

注記

Linux 用の roxctl CLI は、amd64arm64ppc64les390x アーキテクチャーで使用できます。

手順

  1. ターゲットのオペレーティングシステムの roxctl アーキテクチャーを確認します。

    $ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"
    Copy to Clipboard Toggle word wrap
  2. roxctl CLI をダウンロードします。

    $ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.5.9/bin/Linux/roxctl${arch}"
    Copy to Clipboard Toggle word wrap
  3. roxctl バイナリーを実行可能にします。

    $ chmod +x roxctl
    Copy to Clipboard Toggle word wrap
  4. PATH 上にあるディレクトリーに roxctl バイナリーを配置します。

    PATH を確認するには、以下のコマンドを実行します。

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

検証

  • インストールした roxctl のバージョンを確認します。

    $ roxctl version
    Copy to Clipboard Toggle word wrap

3.2.3. macOS への roxctl CLI のインストール

次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。

注記

macOS 用の roxctl CLI は、amd64 および arm64 アーキテクチャーで使用できます。

手順

  1. ターゲットのオペレーティングシステムの roxctl アーキテクチャーを確認します。

    $ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"
    Copy to Clipboard Toggle word wrap
  2. roxctl CLI をダウンロードします。

    $ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.5.9/bin/Darwin/roxctl${arch}"
    Copy to Clipboard Toggle word wrap
  3. バイナリーからすべての拡張属性を削除します。

    $ xattr -c roxctl
    Copy to Clipboard Toggle word wrap
  4. roxctl バイナリーを実行可能にします。

    $ chmod +x roxctl
    Copy to Clipboard Toggle word wrap
  5. PATH 上にあるディレクトリーに roxctl バイナリーを配置します。

    PATH を確認するには、以下のコマンドを実行します。

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

検証

  • インストールした roxctl のバージョンを確認します。

    $ roxctl version
    Copy to Clipboard Toggle word wrap

3.2.4. Windows への roxctl CLI のインストール

次の手順を使用して、roxctl CLI バイナリーを Windows にインストールできます。

注記

Windows 用の roxctl CLI は、amd64 アーキテクチャーで使用できます。

手順

  • roxctl CLI をダウンロードします。

    $ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.5.9/bin/Windows/roxctl.exe
    Copy to Clipboard Toggle word wrap

検証

  • インストールした roxctl のバージョンを確認します。

    $ roxctl version
    Copy to Clipboard Toggle word wrap

3.3. Central クラスターのアップグレード

Central データベースのバックアップを作成し、プロビジョニングバンドルを使用して必要なリソースを生成したら、次に Central クラスターをアップグレードします。このプロセスには、Central と Scanner のアップグレードが含まれます。

3.3.1. Central のアップグレード

更新されたイメージをダウンロードしてデプロイすることにより、Central を最新バージョンに更新できます。

手順

  • 次のコマンドを実行して、Central イメージを更新します。

    $ oc -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.5.9 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。

検証

  • 新しい Pod がデプロイされたことを確認します。

    $ oc get deploy -n stackrox -o wide
    Copy to Clipboard Toggle word wrap
    $ oc get pod -n stackrox --watch
    Copy to Clipboard Toggle word wrap
3.3.1.1. Central デプロイメントの GOMEMLIMIT 環境変数の編集

バージョン 4.4 にアップグレードするには、GOMEMLIMIT 環境変数を ROX_MEMLIMIT 環境変数に手動で置き換える必要があります。この変数はデプロイメントごとに編集する必要があります。

手順

  1. Central デプロイメントの変数を編集するには、次のコマンドを実行します。

    $ oc -n stackrox edit deploy/central 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  2. GOMEMLIMIT 変数を ROX_MEMLIMIT に置き換えます。
  3. ファイルを保存します。

3.3.2. Scanner のアップグレード

更新されたイメージをダウンロードしてデプロイすることで、Scanner を最新バージョンに更新できます。

重要

Kubernetes を使用している場合は、oc コマンドの代わりに kubectl コマンドを入力します。

手順

  1. カスタム Scanner 設定を作成した場合は、Scanner 設定ファイルを更新する前に、これらの変更を適用する必要があります。

    1. 次のコマンドを実行して Scanner を生成します。

      $ roxctl -e "$ROX_CENTRAL_ADDRESS" scanner generate
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを実行して、TLS シークレット YAML ファイルを適用します。

      $ oc apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yaml
      Copy to Clipboard Toggle word wrap
    3. 次のコマンドを実行して、スキャナー設定 YAML ファイルを適用します。

      $ oc apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yaml
      Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、Scanner イメージを更新します。

    $ oc -n stackrox set image deploy/scanner \
    scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:4.5.9
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、Scanner データベースイメージを更新します。

    $ oc -n stackrox set image deploy/scanner-db \
    db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:4.5.9 \
    init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:4.5.9
    Copy to Clipboard Toggle word wrap

検証

  • 次のコマンドを実行して、新しい Pod がデプロイされたことを確認します。

    $ oc get deploy -n stackrox -o wide
    Copy to Clipboard Toggle word wrap
    $ oc get pod -n stackrox --watch
    Copy to Clipboard Toggle word wrap
3.3.2.1. Scanner デプロイメントの GOMEMLIMIT 環境変数の編集

バージョン 4.4 にアップグレードするには、GOMEMLIMIT 環境変数を ROX_MEMLIMIT 環境変数に手動で置き換える必要があります。この変数はデプロイメントごとに編集する必要があります。

手順

  1. 次のコマンドを実行して、Scanner デプロイメントの変数を編集します。

    $ oc -n stackrox edit deploy/scanner 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  2. GOMEMLIMIT 変数を ROX_MEMLIMIT に置き換えます。
  3. ファイルを保存します。

3.3.3. Central クラスターのアップグレードの確認

Central と Scanner の両方をアップグレードした後、Central クラスターのアップグレードが完了していることを確認します。

手順

  • 次のコマンドを実行して、Central ログを確認します。

    $ oc logs -n stackrox deploy/central -c central 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。

正常なアップグレードのサンプル出力

No database restore directory found (this is not an error).
Migrator: 2023/04/19 17:58:54: starting DB compaction
Migrator: 2023/04/19 17:58:54: Free fraction of 0.0391 (40960/1048576) is < 0.7500. Will not compact
badger 2023/04/19 17:58:54 INFO: All 1 tables opened in 2ms
badger 2023/04/19 17:58:55 INFO: Replaying file id: 0 at offset: 846357
badger 2023/04/19 17:58:55 INFO: Replay took: 50.324µs
badger 2023/04/19 17:58:55 DEBUG: Value log discard stats empty
Migrator: 2023/04/19 17:58:55: DB is up to date. Nothing to do here.
badger 2023/04/19 17:58:55 INFO: Got compaction priority: {level:0 score:1.73 dropPrefix:[]}
version: 2023/04/19 17:58:55.189866 ensure.go:49: Info: Version found in the DB was current. We’re good to go!
Copy to Clipboard Toggle word wrap

3.4. すべてのセキュアクラスターのアップグレード

Central サービスをアップグレードした後、すべてのセキュアクラスターをアップグレードする必要があります。

重要
  • 自動アップグレードを使用している場合は、以下を行います。

  • 自動アップグレードを使用していない場合は、Central クラスターを含むすべてのセキュアクラスターでこのセクションの手順を実行する必要があります。

    • 最適な機能を確保するには、セキュアクラスターと Central がインストールされているクラスターに同じ RHACS バージョンを使用してください。

Sensor、Collector、および Admission コントローラーを実行している各セキュアクラスターの手動アップグレードを完了するには、このセクションの手順に従ってください。

3.4.1. その他のイメージの更新

自動アップグレードを使用しない場合は、各セキュアクラスターの Sensor、Collector、Compliance イメージを更新する必要があります。

注記

Kubernetes を使用している場合は、この手順にリストされているコマンドで oc の代わりに kubectl を使用してください。

手順

  1. Sensor イメージを更新します。

    $ oc -n stackrox set image deploy/sensor sensor=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.5.9 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  2. Compliance イメージを更新します。

    $ oc -n stackrox set image ds/collector compliance=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.5.9 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  3. Collector イメージを更新します。

    $ oc -n stackrox set image ds/collector collector=registry.redhat.io/advanced-cluster-security/rhacs-collector-rhel8:4.5.9 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
    注記

    コレクタースリムイメージを使用している場合は、代わりに次のコマンドを実行します。

    $ oc -n stackrox set image ds/collector collector=registry.redhat.io/advanced-cluster-security/rhacs-collector-slim-rhel8:{rhacs-version}
    Copy to Clipboard Toggle word wrap
  4. アドミッションコントロールイメージを更新します。

    $ oc -n stackrox set image deploy/admission-control admission-control=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.5.9
    Copy to Clipboard Toggle word wrap
重要

roxctl CLI を使用して Red Hat OpenShift に RHACS をインストールした場合は、Security Context Constraints (SCC) を移行する必要があります。

詳細は、「関連情報」セクションの「手動アップグレード中の SCC の移行」を参照してください。

3.4.2. 手動アップグレード中の SCC の移行

roxctl CLI を使用して手動アップグレード中に Security Context Constraints (SCC) を移行すると、Red Hat OpenShift SCC を使用するように Red Hat Advanced Cluster Security for Kubernetes (RHACS) サービスを移行して、Central クラスターとすべてのセキュアクラスター全体で互換性と最適なセキュリティー設定を確保できます。

手順

  1. Central クラスターとすべてのセキュアクラスターにデプロイされているすべての RHACS サービスをリスト表示します。

    $ oc -n stackrox describe pods | grep 'openshift.io/scc\|^Name:'
    Copy to Clipboard Toggle word wrap

    出力例

    Name:      admission-control-6f4dcc6b4c-2phwd
               openshift.io/scc: stackrox-admission-control
    #...
    Name:      central-575487bfcb-sjdx8
               openshift.io/scc: stackrox-central
    Name:      central-db-7c7885bb-6bgbd
               openshift.io/scc: stackrox-central-db
    Name:      collector-56nkr
               openshift.io/scc: stackrox-collector
    #...
    Name:      scanner-68fc55b599-f2wm6
               openshift.io/scc: stackrox-scanner
    Name:      scanner-68fc55b599-fztlh
    #...
    Name:      sensor-84545f86b7-xgdwf
               openshift.io/scc: stackrox-sensor
    #...
    Copy to Clipboard Toggle word wrap

    この例では、各 Pod に独自のカスタム SCC があり、openshift.io/scc フィールドで指定されていることがわかります。

  2. RHACS のカスタム SCC の代わりに Red Hat OpenShift SCC を使用するには、必要なロールとロールバインディングを追加します。

    Central クラスターで Red Hat OpenShift SCC を使用するために必要なロールとロールバインディングを追加するには、次の手順を実行します。

    1. 次の内容を使用して、ロールリソースとロールバインディングリソースを定義する update-central.yaml という名前のファイルを作成します。

      例3.1 サンプル YAML ファイル

      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role 
      1
      
      metadata:
        annotations:
           email: support@stackrox.com
           owner: stackrox
        labels:
           app.kubernetes.io/component: central
           app.kubernetes.io/instance: stackrox-central-services
           app.kubernetes.io/name: stackrox
           app.kubernetes.io/part-of: stackrox-central-services
           app.kubernetes.io/version: 4.4.0
        name: use-central-db-scc 
      2
      
        namespace: stackrox 
      3
      
      Rules: 
      4
      
      - apiGroups:
        - security.openshift.io
        resourceNames:
        - nonroot-v2
        resources:
        - securitycontextconstraints
        verbs:
        - use
      - - -
      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role
      metadata:
        annotations:
           email: support@stackrox.com
           owner: stackrox
        labels:
           app.kubernetes.io/component: central
           app.kubernetes.io/instance: stackrox-central-services
           app.kubernetes.io/managed-by: Helm
           app.kubernetes.io/name: stackrox
           app.kubernetes.io/part-of: stackrox-central-services
           app.kubernetes.io/version: 4.4.0
        name: use-central-scc
        namespace: stackrox
      rules:
      - apiGroups:
        - security.openshift.io
        resourceNames:
        - nonroot-v2
        resources:
        - securitycontextconstraints
        verbs:
        - use
      - - -
      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role
      metadata:
        annotations:
           email: support@stackrox.com
           owner: stackrox
        labels:
           app.kubernetes.io/component: scanner
           app.kubernetes.io/instance: stackrox-central-services
           app.kubernetes.io/name: stackrox
           app.kubernetes.io/part-of: stackrox-central-services
           app.kubernetes.io/version: 4.4.0
        name: use-scanner-scc
        namespace: stackrox
      rules:
      - apiGroups:
        - security.openshift.io
        resourceNames:
        - nonroot-v2
        resources:
        - securitycontextconstraints
        verbs:
        - use
      - - -
      apiVersion: rbac.authorization.k8s.io/v1
      kind: RoleBinding 
      5
      
      metadata:
        annotations:
           email: support@stackrox.com
           owner: stackrox
        labels:
           app.kubernetes.io/component: central
           app.kubernetes.io/instance: stackrox-central-services
           app.kubernetes.io/name: stackrox
           app.k ubernetes.io/part-of: stackrox-central-services
           app.kubernetes.io/version: 4.4.0
        name: central-db-use-scc 
      6
      
        namespace: stackrox
      roleRef: 
      7
      
        apiGroup: rbac.authorization.k8s.io
        kind: Role
        name: use-central-db-scc
      subjects: 
      8
      
      - kind: ServiceAccount
        name: central-db
        namespace: stackrox
      - - -
      apiVersion: rbac.authorization.k8s.io/v1
      kind: RoleBinding
      metadata:
        annotations:
           email: support@stackrox.com
           owner: stackrox
        labels:
           app.kubernetes.io/component: central
           app.kubernetes.io/instance: stackrox-central-services
           app.kubernetes.io/name: stackrox
           app.kubernetes.io/part-of: stackrox-central-services
           app.kubernetes.io/version: 4.4.0
        name: central-use-scc
        namespace: stackrox
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: Role
        name: use-central-scc
      subjects:
      - kind: ServiceAccount
        name: central
        namespace: stackrox
      - - -
      apiVersion: rbac.authorization.k8s.io/v1
      kind: RoleBinding
      metadata:
        annotations:
           email: support@stackrox.com
           owner: stackrox
        labels:
           app.kubernetes.io/component: scanner
           app.kubernetes.io/instance: stackrox-central-services
           app.kubernetes.io/name: stackrox
           app.kubernetes.io/part-of: stackrox-central-services
           app.kubernetes.io/version: 4.4.0
        name: scanner-use-scc
        namespace: stackrox
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: Role
        name: use-scanner-scc
      subjects:
      - kind: ServiceAccount
        name: scanner
        namespace: stackrox
      - - -
      Copy to Clipboard Toggle word wrap
      1
      Kubernetes リソースのタイプ。この例では Role です。
      2
      ロールリソースの名前。
      3
      ロールの作成先の namespace。
      4
      ロールリソースによって付与される権限を記述します。
      5
      Kubernetes リソースのタイプ。この例では RoleBinding です。
      6
      ロールバインディングリソースの名前。
      7
      同じ namespace 内のバインドするロールを指定します。
      8
      ロールにバインドするサブジェクトを指定します。
    2. 次のコマンドを実行して、update-central.yaml ファイルで指定したロールリソースとロールバインディングリソースを作成します。

      $ oc -n stackrox create -f ./update-central.yaml
      Copy to Clipboard Toggle word wrap
  3. すべてのセキュアクラスターで Red Hat OpenShift SCC を使用するために必要なロールとロールバインディングを追加するには、次の手順を実行します。

    1. 次の内容を使用して、ロールリソースとロールバインディングリソースを定義する upgrade-scs.yaml という名前のファイルを作成します。

      例3.2 サンプル YAML ファイル

      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role  
      1
      
      metadata:
        annotations:
           email: support@stackrox.com
           owner: stackrox
        labels:
           app.kubernetes.io/component: collector
           app.kubernetes.io/instance: stackrox-secured-cluster-services
           app.kubernetes.io/name: stackrox
           app.kubernetes.io/part-of: stackrox-secured-cluster-services
           app.kubernetes.io/version: 4.4.0
           auto-upgrade.stackrox.io/component: sensor
        name: use-privileged-scc  
      2
      
        namespace: stackrox 
      3
      
      rules:  
      4
      
      - apiGroups:
        - security.openshift.io
        resourceNames:
        - privileged
        resources:
        - securitycontextconstraints
        verbs:
        - use
      - - -
      apiVersion: rbac.authorization.k8s.io/v1
      kind: RoleBinding 
      5
      
      metadata:
        annotations:
           email: support@stackrox.com
           owner: stackrox
        labels:
           app.kubernetes.io/component: collector
           app.kubernetes.io/instance: stackrox-secured-cluster-services
           app.kubernetes.io/name: stackrox
           app.kubernetes.io/part-of: stackrox-secured-cluster-services
           app.kubernetes.io/version: 4.4.0
           auto-upgrade.stackrox.io/component: sensor
        name: collector-use-scc 
      6
      
        namespace: stackrox
      roleRef: 
      7
      
        apiGroup: rbac.authorization.k8s.io
        kind: Role
        name: use-privileged-scc
      subjects: 
      8
      
      - kind: ServiceAccount
        name: collector
        namespace: stackrox
      - - -
      Copy to Clipboard Toggle word wrap
      1
      Kubernetes リソースのタイプ。この例では Role です。
      2
      ロールリソースの名前。
      3
      ロールの作成先の namespace。
      4
      ロールリソースによって付与される権限を記述します。
      5
      Kubernetes リソースのタイプ。この例では RoleBinding です。
      6
      ロールバインディングリソースの名前。
      7
      同じ namespace 内のバインドするロールを指定します。
      8
      ロールにバインドするサブジェクトを指定します。
    2. 次のコマンドを実行して、upgrade-scs.yaml ファイルで指定したロールリソースとロールバインディングリソースを作成します。

      $ oc -n stackrox create -f ./update-scs.yaml
      Copy to Clipboard Toggle word wrap
      重要

      upgrade-scs.yaml ファイルで指定したロールとロールバインディングを作成するには、各セキュアクラスターでこのコマンドを実行する必要があります。

  4. RHACS に固有の SCC を削除します。

    1. Central クラスターに固有の SCC を削除するには、次のコマンドを実行します。

      $ oc delete scc/stackrox-central scc/stackrox-central-db scc/stackrox-scanner
      Copy to Clipboard Toggle word wrap
    2. すべてのセキュアクラスターに固有の SCC を削除するには、次のコマンドを実行します。

      $ oc delete scc/stackrox-admission-control scc/stackrox-collector scc/stackrox-sensor
      Copy to Clipboard Toggle word wrap
      重要

      各セキュアクラスターに固有の SCC を削除するには、各セキュアクラスターでこのコマンドを実行する必要があります。

検証

  • 次のコマンドを実行して、すべての Pod が正しい SCC を使用していることを確認します。

    $ oc -n stackrox describe pods | grep 'openshift.io/scc\|^Name:'
    Copy to Clipboard Toggle word wrap

    出力を次の表と比較してください。

    Expand
    コンポーネント以前のカスタム SCCRed Hat OpenShift 4 の新しい SCC

    Central

    stackrox-central

    nonroot-v2

    Central-db

    stackrox-central-db

    nonroot-v2

    Scanner

    stackrox-scanner

    nonroot-v2

    Scanner-db

    stackrox-scanner

    nonroot-v2

    Admission Controller

    stackrox-admission-control

    restricted-v2

    Collector

    stackrox-collector

    privileged

    Sensor

    stackrox-sensor

    restricted-v2

3.4.2.1. Sensor デプロイメントの GOMEMLIMIT 環境変数の編集

バージョン 4.4 にアップグレードするには、GOMEMLIMIT 環境変数を ROX_MEMLIMIT 環境変数に手動で置き換える必要があります。この変数はデプロイメントごとに編集する必要があります。

手順

  1. 次のコマンドを実行して、Sensor デプロイメントの変数を編集します。

    $ oc -n stackrox edit deploy/sensor 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  2. GOMEMLIMIT 変数を ROX_MEMLIMIT に置き換えます。
  3. ファイルを保存します。
3.4.2.2. Collector デプロイメントの GOMEMLIMIT 環境変数の編集

バージョン 4.4 にアップグレードするには、GOMEMLIMIT 環境変数を ROX_MEMLIMIT 環境変数に手動で置き換える必要があります。この変数はデプロイメントごとに編集する必要があります。

手順

  1. Collector デプロイメントの変数を編集するには、次のコマンドを実行します。

    $ oc -n stackrox edit deploy/collector 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  2. GOMEMLIMIT 変数を ROX_MEMLIMIT に置き換えます。
  3. ファイルを保存します。
3.4.2.3. Admission Controller デプロイメントの GOMEMLIMIT 環境変数の編集

バージョン 4.4 にアップグレードするには、GOMEMLIMIT 環境変数を ROX_MEMLIMIT 環境変数に手動で置き換える必要があります。この変数はデプロイメントごとに編集する必要があります。

手順

  1. 次のコマンドを実行して、Admission Controller デプロイメントの変数を編集します。

    $ oc -n stackrox edit deploy/admission-control 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
  2. GOMEMLIMIT 変数を ROX_MEMLIMIT に置き換えます。
  3. ファイルを保存します。
3.4.2.4. セキュアクラスターのアップグレードの確認

セキュアクラスターをアップグレードしたら、更新された Pod が機能していることを確認します。

手順

  • 新しい Pod がデプロイされていることを確認します。

    $ oc get deploy,ds -n stackrox -o wide 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
    $ oc get pod -n stackrox --watch 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。

3.5. RHCOS ノードスキャンの有効化

OpenShift Container Platform を使用する場合は、Red Hat Advanced Cluster Security for Kubernetes (RHACS) を使用して、Red Hat Enterprise Linux CoreOS (RHCOS) ノードの脆弱性スキャンを有効にできます。

前提条件

手順

  1. 次のコマンドのいずれかを実行して、コンプライアンスコンテナーを更新します。

    • メトリクスが無効になっているデフォルトのコンプライアンスコンテナーの場合は、次のコマンドを実行します。

      $ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"name":"compliance","env":[{"name":"ROX_METRICS_PORT","value":"disabled"},{"name":"ROX_NODE_SCANNING_ENDPOINT","value":"127.0.0.1:8444"},{"name":"ROX_NODE_SCANNING_INTERVAL","value":"4h"},{"name":"ROX_NODE_SCANNING_INTERVAL_DEVIATION","value":"24m"},{"name":"ROX_NODE_SCANNING_MAX_INITIAL_WAIT","value":"5m"},{"name":"ROX_RHCOS_NODE_SCANNING","value":"true"},{"name":"ROX_CALL_NODE_INVENTORY_ENABLED","value":"true"}]}]}}}}'
      Copy to Clipboard Toggle word wrap
    • Prometheus メトリクスが有効になっているコンプライアンスコンテナーの場合は、次のコマンドを実行します。

      $ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"name":"compliance","env":[{"name":"ROX_METRICS_PORT","value":":9091"},{"name":"ROX_NODE_SCANNING_ENDPOINT","value":"127.0.0.1:8444"},{"name":"ROX_NODE_SCANNING_INTERVAL","value":"4h"},{"name":"ROX_NODE_SCANNING_INTERVAL_DEVIATION","value":"24m"},{"name":"ROX_NODE_SCANNING_MAX_INITIAL_WAIT","value":"5m"},{"name":"ROX_RHCOS_NODE_SCANNING","value":"true"},{"name":"ROX_CALL_NODE_INVENTORY_ENABLED","value":"true"}]}]}}}}'
      Copy to Clipboard Toggle word wrap
  2. 次の手順を実行して、Collector DaemonSet (DS) を更新します。

    1. 次のコマンドを実行して、新しいボリュームマウントを Collector DS に追加します。

      $ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"volumes":[{"name":"tmp-volume","emptyDir":{}},{"name":"cache-volume","emptyDir":{"sizeLimit":"200Mi"}}]}}}}'
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを実行して、新しい NodeScanner コンテナーを追加します。

      $ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"command":["/scanner","--nodeinventory","--config=",""],"env":[{"name":"ROX_NODE_NAME","valueFrom":{"fieldRef":{"apiVersion":"v1","fieldPath":"spec.nodeName"}}},{"name":"ROX_CLAIR_V4_SCANNING","value":"true"},{"name":"ROX_COMPLIANCE_OPERATOR_INTEGRATION","value":"true"},{"name":"ROX_CSV_EXPORT","value":"false"},{"name":"ROX_DECLARATIVE_CONFIGURATION","value":"false"},{"name":"ROX_INTEGRATIONS_AS_CONFIG","value":"false"},{"name":"ROX_NETPOL_FIELDS","value":"true"},{"name":"ROX_NETWORK_DETECTION_BASELINE_SIMULATION","value":"true"},{"name":"ROX_NETWORK_GRAPH_PATTERNFLY","value":"true"},{"name":"ROX_NODE_SCANNING_CACHE_TIME","value":"3h36m"},{"name":"ROX_NODE_SCANNING_INITIAL_BACKOFF","value":"30s"},{"name":"ROX_NODE_SCANNING_MAX_BACKOFF","value":"5m"},{"name":"ROX_PROCESSES_LISTENING_ON_PORT","value":"false"},{"name":"ROX_QUAY_ROBOT_ACCOUNTS","value":"true"},{"name":"ROX_ROXCTL_NETPOL_GENERATE","value":"true"},{"name":"ROX_SOURCED_AUTOGENERATED_INTEGRATIONS","value":"false"},{"name":"ROX_SYSLOG_EXTRA_FIELDS","value":"true"},{"name":"ROX_SYSTEM_HEALTH_PF","value":"false"},{"name":"ROX_VULN_MGMT_WORKLOAD_CVES","value":"false"}],"image":"registry.redhat.io/advanced-cluster-security/rhacs-scanner-slim-rhel8:4.5.9","imagePullPolicy":"IfNotPresent","name":"node-inventory","ports":[{"containerPort":8444,"name":"grpc","protocol":"TCP"}],"volumeMounts":[{"mountPath":"/host","name":"host-root-ro","readOnly":true},{"mountPath":"/tmp/","name":"tmp-volume"},{"mountPath":"/cache","name":"cache-volume"}]}]}}}}'
      Copy to Clipboard Toggle word wrap

3.6. バージョン 4.1 以降にアップグレードした後、中央に接続された PV の削除

Kubernetes と OpenShift Container Platform は、永続ボリューム (PV) を自動的に削除しません。RHACS を以前のバージョンからアップグレードすると、stackrox-db という Central PV がマウントされたままになります。ただし、RHACS 4.1 では、Central は以前に接続されていた PV が不要になりました。

PV には、以前の RHACS バージョンで使用されていたデータと永続ファイルが含まれています。PV を使用して、RHACS 4.1 より前のバージョンにロールバックできます。または、Central 用の大規模な RocksDB バックアップバンドルがある場合は、PV を使用してそのデータを復元できます。

4.1 へのアップグレードが完了したら、Central に接続された永続ボリューム要求 (PVC) を削除してストレージを解放できます。以前の RocksDB バックアップからロールバックまたは復元する予定がない場合にのみ、PVC を削除してください。

警告

PVC を削除した後は、Central を RHACS 4.1 より前のバージョンにロールバックしたり、RocksDB で作成された大規模な RocksDB バックアップを復元したりすることはできません。

3.6.1. roxctl CLI を使用して中央に接続された PV を削除する

Central-attached Persistent Volume Claim (PVC) stackrox-db を削除して、ストレージ領域を解放します。

手順

  • 以下のコマンドを実行します。

    $ oc get deployment central -n stackrox -o json | jq '(.spec.template.spec.volumes[] | select(.name=="stackrox-db"))={"name": "stackrox-db", "emptyDir": {}}' | oc apply -f -
    Copy to Clipboard Toggle word wrap

    これは、spec.template.spec.volumes 内の stackrox-db` エントリーをローカルの emptyDir に置き換えます。

検証

  • 以下のコマンドを実行します。

    $ oc -n stackrox describe pvc stackrox-db | grep -i 'Used By'
    Used By: <none> 
    1
    Copy to Clipboard Toggle word wrap
    1
    Used By: <none> が表示されるまで待ちます。これには数分かかる場合があります。

3.7. Central のロールバック

新しいバージョンへのアップグレードが失敗した場合は、以前のバージョンの Central にロールバックできます。

3.7.1. Central を通常どおりロールバックする

Red Hat Advanced Cluster Security for Kubernetes のアップグレードが失敗した場合は、以前のバージョンの Central にロールバックできます。

前提条件

  • ロールバックを実行する前に、永続ストレージで使用可能な空きディスク容量がある。Red Hat Advanced Cluster Security for Kubernetes が、ディスク領域を使用して、アップグレード中にデータベースのコピーを保持している。ディスク容量がコピーを保存するのに十分ではなく、アップグレードが失敗した場合、以前のバージョンにロールバックできない可能性があります。

手順

  • アップグレードが失敗した場合 (Central サービスが開始する前) に、次のコマンドを実行して前のバージョンにロールバックします。

    $ oc -n stackrox rollout undo deploy/central 
    1
    Copy to Clipboard Toggle word wrap
    1
    Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。

3.7.2. Central を強制的にロールバックする

強制ロールバックを使用して、以前のバージョンの Central にロールバックできます (Central サービスの開始後)。

重要

強制ロールバックを使用して以前のバージョンに戻すと、データと機能が失われる可能性があります。

前提条件

  • ロールバックを実行する前に、永続ストレージで使用可能な空きディスク容量がある。Red Hat Advanced Cluster Security for Kubernetes が、ディスク領域を使用して、アップグレード中にデータベースのコピーを保持している。ディスク容量がコピーを保存するのに十分でなく、アップグレードが失敗した場合は、以前のバージョンにロールバックできません。

手順

  • 次のコマンドを実行して、強制ロールバックを実行します。

    • 以前にインストールしたバージョンに強制的にロールバックするには、以下のコマンドを実行します。

      $ oc -n stackrox rollout undo deploy/central 
      1
      Copy to Clipboard Toggle word wrap
      1
      Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
    • 特定のバージョンに強制的にロールバックするには、以下を行います。

      1. Central の ConfigMap を編集します。

        $ oc -n stackrox edit configmap/central-config 
        1
        Copy to Clipboard Toggle word wrap
        1
        Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
      2. maintenance.forceRollbackVersion キーの値を更新します。

        data:
          central-config.yaml: |
            maintenance:
              safeMode: false
              compaction:
                 enabled: true
                 bucketFillFraction: .5
                 freeFractionThreshold: 0.75
              forceRollbackVersion: <x.x.x.x> 
        1
        
          ...
        Copy to Clipboard Toggle word wrap
        1
        ロールバックするバージョンを指定します。
      3. Central イメージのバージョンを更新します。

        $ oc -n stackrox \ 
        1
        
          set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:<x.x.x.x> 
        2
        Copy to Clipboard Toggle word wrap
        1
        Kubernetes を使用する場合は、oc の代わりに kubectl を入力します。
        2
        ロールバックするバージョンを指定します。これは、central-config 設定マップで maintenance.forceRollbackVersion キーに指定したものと同じバージョンである必要があります。

3.8. アップグレードの確認

更新された Sensor と Collector は、それぞれのセキュアクラスターからの最新データを引き続き報告します。

Sensor が Central に最後に接続した時刻は、RHACS ポータルに表示されます。

手順

  1. RHACS ポータルで、Platform ConfigurationSystem Health に移動します。
  2. Sensor Upgrade で、Central で最新のクラスターが表示されることを確認してください。

3.9. API トークンの取り消し

セキュリティー上の理由から、Red Hat では、Central データベースのバックアップを完了するために使用した API トークンを取り消すことが推奨されます。

前提条件

  • アップグレード後、RHACS ポータルページをリロードし、証明書を再承認して、RHACS ポータルを引き続き使用している。

手順

  1. RHACS ポータルで、Platform ConfigurationIntegrations に移動します。
  2. Authentication Tokens カテゴリーまで下にスクロールし、API Token をクリックします。
  3. 取り消すトークン名の前にあるチェックボックスを選択します。
  4. Revoke をクリックします。
  5. 確認ダイアログボックスで、Confirm をクリックします。

3.10. クラスターアップグレーダのトラブルシューティング

セキュアクラスターの従来のインストール方法を使用し、自動更新を有効にするときに問題が発生した場合は、問題のトラブルシューティングを試すことができます。アップグレーダーが失敗すると、クラスタービューに次のエラーが表示されます。

3.10.1. アップグレーダーに権限が足りない

現象

クラスターページに次のエラーが表示されます。

Upgrader failed to execute PreflightStage of the roll-forward workflow: executing stage "Run preflight checks": preflight check "Kubernetes authorization" reported errors. This usually means that access is denied. Have you configured this Secured Cluster for automatically receiving upgrades?"
Copy to Clipboard Toggle word wrap

手順

  1. Download YAML file and keys をクリックする前に、セキュアクラスターのバンドルが今後のアップグレードを有効にした状態で生成されていることを確認してください。
  2. 可能であれば、そのセキュアクラスターを削除し、今後のアップグレードが有効になるように新しいバンドルを生成してください。
  3. クラスターを再作成できない場合は、次のアクションを実行できます。

    1. サービスアカウント sensor-upgrader が Sensor と同じ namespace に存在することを確認します。
    2. cluster-admin ClusterRole を sensors-upgrader サービスアカウントに付与する ClusterRoleBinding (デフォルト名: <namespace>:upgrade-sensors) が存在することを確認します。

3.10.2. イメージがないため、アップグレーダーを開始できない

現象

クラスターページに次のエラーが表示されます。

"Upgrade initialization error: The upgrader pods have trouble pulling the new image: Error pulling image: (...) (<image_reference:tag>: not found)"
Copy to Clipboard Toggle word wrap

手順

  1. セキュアクラスターがレジストリーにアクセスし、イメージ <image_reference:tag> をプルできることを確認します。
  2. セキュアクラスターでイメージプルシークレットが正しく設定されていることを確認します。

3.10.3. 不明な理由によりアップグレーダーを起動できない

現象

クラスターページに次のエラーが表示されます。

"Upgrade initialization error: Pod terminated: (Error)"
Copy to Clipboard Toggle word wrap

手順

  1. アップグレーダーに、クラスターオブジェクトにアクセスする権限があることを確認します。詳細は、「Upgrader is missing permissions」を参照してください。
  2. 詳細は、アップグレーダーログを確認してください。
3.10.3.1. アップグレーダーログの取得

次のコマンドを実行するとログにアクセスできます。

$ kubectl -n <namespace> logs deploy/sensor-upgrader 
1
Copy to Clipboard Toggle word wrap
1
<namespace> には、Sensor が実行されている namespace を指定します。

通常、アップグレーダーのデプロイメントは、アップグレードの実行中にクラスター内で短時間のみ実行されます。これは後で削除されるため、適切なタイミングでオーケストレーター CLI を使用してログにアクセスする必要があります。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat