遠隔健康モニタリングのための遠隔測定

Telemetry は、コンポーネントの健全性や使用リソースの数や種類など、クラスタに関する匿名化された集約データを収集するリモート健全性監視機能です。 2024年2月28日以降にプロビジョニングされたバージョン 4.14 以降を実行するパブリッククラスターをお持ちの場合、ご Red Hatアカウント下の ハイブリッド Red Hat コンソールでテレメトリデータを表示し、ご利用いただくことを選択できます。 収集されるデータの種類など、テレメトリの詳細については、ドキュメントの 「 テレメトリRed Hat OpenShift について」を参照してください。

テレメトリーの有効化

テレメトリーを有効にするには、 OpenShift アクセストークンを追加してプルシークレットを更新し、リモートヘルスレポートを許可します。 正確な手順は、クラスタのバージョンとクラスタが作成された時期によって異なります。 クラスタで Telemetry が有効になっているかどうかわからない場合は、 クラスタで Telemetry が有効になっているかどうかを確認する を参照してください。

バージョン 4.13 以前、または 2024 年 2 月 29 日より前に作成されたバージョン 4.14 のクラスタの場合: クラスタが 2024 年 2 月 29 日より前に作成された場合は、 サポート チケットを 開き、クラスタで Telemetry を有効にすることを指定してください。 チケットが解決したら、次のステップに進んでください。

2024年2月29日以降に作成されたバージョン 4.14 クラスタの場合 :次の手順を続行します。

  1. Red Hat OpenShift コンソールにログインする。

  2. Downloads > Tokens > Pull Secretに移動し、プルシークレットをJSONファイルとしてダウンロードします。

  3. CLIでクラスタにアクセス します。

  4. 現在のプルシークレットを取得し、JSONファイルに保存する。 JSONファイルの名前は、 pull-secret-original.json のようにすることを検討してください。

    oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret-original.json
    
  5. クラスタのシークレットをプルシークレットで更新します。

    oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=./pull-secret-original.json
    
  6. 既存のプルシークレットが更新されていることを確認する。 アクセストークンを含む auths

    oc get secret pull-secret -n openshift-config --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode
    

    auths セクションの例。

        {
    "auths": {
        "cloud.openshift.com": {
        "auth": "<your_token>",
        "email": "<email_address>"
        }
    }
    }
    
  7. クラシック・インフラストラクチャー場合は、 クラスタ内のすべてのワーカーノードをリロード します。 VPCインフラストラクチャの場合は、 クラスタ内のすべてのワーカーノードを置き換えます

  8. Red Hat OpenShift コンソールを開き、 Clusters ページに移動する。 クラスタタイプが RHOIC の場合、テレメトリーが有効になります。 コンソールに変更が反映されるまで数分かかる場合があることに注意。 CLIでTelemetryの有効性を確認する場合は、 クラスタでTelemetryが有効かどうかを確認するを 参照してください。

テレメトリーを無効にする

プライバシーの法律、組織の規格、またはデータ・ガバナンスの慣例に準拠するために、このリモート正常性レポートを無効にしなければならない場合があります。 Telemetry を無効にするには、クラスタのグローバル構成を変更し、クラスタ上のすべてのワーカーノードをリロードまたはリブートします。

  1. クラスター内でテレメトリー・レポート・ポッドが実行されていることを確認します。

    oc get pods -n openshift-monitoring
    

    出力例

    NAME                              READY   STATUS      RESTARTS   AGE
    telemeter-client-7cfd7cb85-lm9dt  3/3     Running     0          4d13h
    ...
    
  2. Red Hat OpenShift、 クラスター内のグローバル・プル・シークレットを更新し、リモートヘルスレポートを無効にします。

  3. クラスタ内のワーカーノードをリロードまたは再起動することで、グローバル設定の変更を取り込むには、 クラスタ内のすべてのワーカーノードをリロード します。 VPCインフラストラクチャの場合は、 クラスタ内のすべてのワーカーノードを置き換えます

    1. クラスターのワーカー・ノードの ID をメモします。
      ibmcloud oc worker ls -c <cluster_name_or_ID>
      
    2. クラシック・インフラストラクチャー場合は、 クラスタ内のすべてのワーカーノードをリロード します。 VPCインフラストラクチャの場合は、 クラスタ内のすべてのワーカーノードを置き換えます。 アプリケーションの停止を避けるため、十分な数のワーカーノードを同時に稼動させておくようにしましょう。
  4. ワーカー・ノードが正常な状態に戻ったら、テレメトリー・レポート・ポッドがクラスターで実行されなくなったことを確認します。

    oc get pods -n openshift-monitoring
    

クラスタでTelemetryが有効になっているか確認する

Telemetryがクラスターで有効になっているかどうかわからない場合は、以下の手順に従って、Telemetry設定がクラスターのプルシークレットに存在するかどうかを確認してください。 プルシークレットに設定が存在する場合、クラスタでTelemetryが有効になります。

  1. CLIで、クラスターのコンテキストを設定し、 --admin オプションを含めます。

    ibmcloud oc cluster config -c CLUSTER-ID --admin
    
  2. openshift-config 名前空間にあるプルシークレットを取得する。 このコマンドはシークレットからデータを抽出し、 base64、それをデコードしてファイルに出力する。

    oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret.json
    
  3. ファイルの内容を見る。 プルシークレットで、 cloud.openshift.com の認可を探す。 存在する場合、クラスタ上でTelemetryが有効になっています。

    cat pull-secret.json
    

    プルシークレットファイルでの認証例。

    "auths": {
        "cloud.openshift.com": {
            "auth": "xyz123...",
            "email": "user@us.ibm.com"
        }