トラブルシューティング
クラスターのトラブルシューティングトピックの一覧を確認します。また、must-gather コマンドを使用してログを収集することもできます。
概要
第1章 トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
トラブルシューティングガイドをご使用の前に oc adm must-gather コマンドを実行して、詳細、ログを収集し、問題のデバッグ手順を行います。詳細は、「 must-gather コマンドでのトラブルシューティング」を参照してください。
また、ロールベースのアクセス権限を確認してください。詳細は、「ロールベースのアクセス制御」を参照してください。
1.1. 文書化されたトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
以下に、Red Hat Advanced Cluster Management for Kubernetes のトラブルシューティングのトピックリストを表示します。
インストール
元のインストールタスクに戻るには、『インストール』を参照してください。
クラスター管理
元のクラスター管理タスクを表示するには、『クラスターの管理』を参照してください。
- オフラインクラスターのトラブルシューティング
- Pending Import (インポート待ち) のステータスのクラスターのトラブルシューティング
- 証明書を変更した後のインポート済みクラスターのオフラインでのトラブルシューティング
- クラスターのステータスが offline から available に変わる場合のトラブルシューティング
- VMware vSphere でのクラスター作成のトラブルシューティング
- ステータスが Pending または Failed のクラスターのコンソールでのトラブルシューティング
- OpenShift Container Platform バージョン 3.11 クラスターのインポートの失敗時のトラブルシューティング
- 状態が Degraded の Klusterlet のトラブルシューティング
- マネージドクラスターでの Klusterlet アプリケーションマネージャーのトラブルシューティング
- オブジェクトストレージチャネルシークレットのトラブルシューティング
- managedcluster リソースのトラブルシューティング
- クラスターの削除後も namespace が残る
- クラスターのインポート時の auto-import-secret-exists エラー
アプリケーション管理
元のアプリケーション管理を表示するには、『アプリケーションの管理』を参照してください。
ガバナンス
元のセキュリティーガイドを表示するには、「リスクおよびコンプライアンス」を参照してください。
コンソールの可観測性
コンソールの可観測性には、ヘッダーおよびナビゲーション機能、検索機能および Visual Web ターミナルが含まれます。元の可観測性ガイドを表示するには、「コンソールの可観測性」を参照してください。
1.2. must-gather コマンドを実行したトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
トラブルシューティングを開始するには、問題のデバッグを行う must-gather コマンドを実行する場合のトラブルシューティングシナリオについて確認し、このコマンドの使用を開始する手順を参照してください。
必要なアクセス権限: クラスターの管理者
1.2.1. Must-gather のシナリオ リンクのコピーリンクがクリップボードにコピーされました!
シナリオ 1: ドキュメント 化されたトラブルシューティング セクションを使用して、問題の解決策がまとめられているかどうかを確認します。本ガイドは、製品の主な機能別に構成されています。
このシナリオでは、解決策が本書にまとめられているかどうかを、本ガイドで確認します。たとえば、クラスターの作成に関するトラブルシューティングの場合には、「クラスターの管理」セクションの解決策を探します。
-
シナリオ 2: 問題の解決策の手順が文書にまとめられていない場合には、
must-gatherコマンドを実行し、その出力を使用して問題をデバッグします。 -
シナリオ 3:
must-gatherコマンドの出力を使用して問題をデバッグできない場合は、Red Hat サポートに、出力を共有します。
1.2.2. Must-gather の手順 リンクのコピーリンクがクリップボードにコピーされました!
must-gather コマンドの使用を開始するには、以下の手順を参照してください。
-
must-gatherコマンドについて確認し、Red Hat OpenShift Container Platform の「クラスターに関するデータの収集」に必要な前提条件をインストールします。 クラスターにログインします。通常のユースケースでは、ハブ クラスターにログインして、
must-gatherを実行する必要があります。注記: マネージドクラスターを確認する場合には、
cluster-scoped-resourcesディレクトリーにあるgather-managed.logファイルを検索します。<your-directory>/cluster-scoped-resources/gather-managed.log>
<your-directory>/cluster-scoped-resources/gather-managed.log>Copy to Clipboard Copied! Toggle word wrap Toggle overflow JOINED および AVAILABLE 列に
Trueが設定されていないマネージドクラスターがないかを確認します。must-gatherコマンドは、ステータスがTrueとして関連付けられていないクラスター上で、実行できます。データおよびディレクトリーの収集に使用する Red Hat Advanced Cluster Management for Kubernetes イメージを追加します。以下のコマンドを実行して、出力用にイメージとディレクトリーを挿入します。
oc adm must-gather --image=registry.redhat.io/rhacm2/acm-must-gather-rhel8:v2.3.0 --dest-dir=<directory>
oc adm must-gather --image=registry.redhat.io/rhacm2/acm-must-gather-rhel8:v2.3.0 --dest-dir=<directory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定したディレクトリーに移動し、以下のレベルに整理されている出力を確認します。
-
ピアレベル 2 つ:
cluster-scoped-resourcesとnamespaceのリソース - それぞれのサブレベル: クラスタースコープおよび namespace スコープ両方のリソースに対するカスタムリソース定義の API グループ。
-
それぞれの次のレベル:
kindでソートされた YAML ファイル
-
ピアレベル 2 つ:
1.2.3. 非接続環境での must-gather リンクのコピーリンクがクリップボードにコピーされました!
非接続環境で must-gather コマンドを実行するには、次の手順を実行します。
- 非接続環境では、Red Hat Operator のカタログイメージをミラーレジストリーにミラーリングします。詳細は、「ネットワーク切断状態でのインストール」を参照してください。
- 次のコマンドを実行して、ミラーレジストリーからイメージを参照するログを抽出します。
REGISTRY=registry.example.com:5000 IMAGE=$REGISTRY/rhacm2/acm-must-gather-rhel8@sha256:ff9f37eb400dc1f7d07a9b6f2da9064992934b69847d17f59e385783c071b9d8 oc adm must-gather --image=$IMAGE --dest-dir=./data
REGISTRY=registry.example.com:5000
IMAGE=$REGISTRY/rhacm2/acm-must-gather-rhel8@sha256:ff9f37eb400dc1f7d07a9b6f2da9064992934b69847d17f59e385783c071b9d8
oc adm must-gather --image=$IMAGE --dest-dir=./data
1.3. インストールステータスが インストール または 保留中 のままになる場合のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management のインストール時に、MultiClusterHub は Installing フェーズにあるか、複数の Pod が Pending ステータスを維持します。
1.3.1. 現象: Pending ステータスの Stuck リンクのコピーリンクがクリップボードにコピーされました!
MultiClusterHub および MultiClusterHub リソースの status.components フィールドから 1 つ以上のコンポーネントをインストールし、ProgressDeadlineExceeded ProgressDeadlineExceeded から 10 分以上経過しました。クラスターのリソース制約が問題になる可能性があります。
Multiclusterhub がインストールされている namespace の Pod を確認します。以下のようなステータスで Pending が表示される場合があります。
reason: Unschedulable
message: '0/6 nodes are available: 3 Insufficient cpu, 3 node(s) had taint {node-role.kubernetes.io/master:
}, that the pod didn't tolerate.'
reason: Unschedulable
message: '0/6 nodes are available: 3 Insufficient cpu, 3 node(s) had taint {node-role.kubernetes.io/master:
}, that the pod didn't tolerate.'
この場合、ワーカーノードリソースは、クラスターでは製品を実行するのに十分なリソースではありません。
1.3.2. 問題の解決: ワーカーノードのサイズ調整 リンクのコピーリンクがクリップボードにコピーされました!
この問題が発生した場合には、大規模なワーカーノードまたはそれ以上のワーカーノードでクラスターを更新する必要があります。クラスターのサイジング については、「クラスターのサイジング」を参照してください。
1.4. 再インストールに失敗する場合のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management for Kubernetes を再インストールすると Pod が起動しません。
1.4.1. 現象: 再インストールの失敗 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management のインストール後に Pod が起動しない場合には、Red Hat Advanced Cluster Management 以前にインストールされており、今回のインストールを試行する前にすべてのパーツが削除されていない可能性があります。
Pod はこのような場合に、インストールプロセスの完了後に起動しません。
1.4.2. 問題の解決: 再インストールの失敗 リンクのコピーリンクがクリップボードにコピーされました!
この問題が発生した場合は、以下の手順を実行します。
- 「アンインストール」の手順に従い、現在のコンポーネントを削除し、アンインストールプロセスを実行します。
- 「Helm のインストール」の手順に従い、Helm CLI バイナリーバージョン 3.2.0 以降をインストールします。
-
ocコマンドが実行できるように、Red Hat OpenShift Container Platform CLI が設定されていることを確認してください。ocコマンドの設定方法に関する詳細は、Red Hat OpenShift Container Platform ドキュメントの「OpenShift CLI の使用方法」を参照してください。 以下のスクリプトをファイルにコピーします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトの
<namespace>は、Red Hat Advanced Cluster Management がインストールされている namespace 名に置き換えます。namespace が消去され、削除されるので、正しい namespace を指定するようにしてください。- スクリプトを実行して、アーティファクトを以前のインストールから削除します。
- インストールを実行します。「ネットワーク接続時のオンラインインストール」を参照してください。
1.5. オフラインクラスターのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
クラスターのステータスがオフラインと表示される一般的な原因がいくつかあります。
1.5.1. 現象: クラスターのステータスがオフライン状態である リンクのコピーリンクがクリップボードにコピーされました!
クラスターの作成手順を完了したら、Red Hat Advanced Cluster Management コンソールからアクセスできず、クラスターのステータスが offline と表示されます。
1.5.2. 問題の解決: クラスターのステータスがオフライン状態である リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターが利用可能かどうかを確認します。これは、Red Hat Advanced Cluster Management コンソールの Clusters エリアで確認できます。
利用不可の場合は、マネージドクラスターの再起動を試行します。
マネージドクラスターのステータスがオフラインのままの場合は、以下の手順を実行します。
-
ハブクラスターで
oc get managedcluster <cluster_name> -o yamlコマンドを実行します。<cluster_name>は、クラスター名に置き換えます。 -
status.conditionsセクションを見つけます。 -
type: ManagedClusterConditionAvailableのメッセージを確認して、問題を解決します。
-
ハブクラスターで
1.6. Pending Import (インポート待ち) のステータスのクラスターのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
クラスターのコンソールで継続的に Pending import と表示される場合には、以下の手順を実行して問題をトラブルシューティングしてください。
1.6.1. 現象: ステータスが Pending Import (インポート待ち) のクラスター リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management コンソールを使用してクラスターをインポートした後に、コンソールで、クラスターのステータスが Pending import と表示されます。
1.6.2. 問題の特定: ステータスが Pending Import (インポート待ち) のクラスター リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターで以下のコマンドを実行し、問題のある Kubernetes Pod 名を表示します。
kubectl get pod -n open-cluster-management-agent | grep klusterlet-registration-agent
kubectl get pod -n open-cluster-management-agent | grep klusterlet-registration-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow マネージドクラスターで以下のコマンドを実行し、エラーのログエントリーを探します。
kubectl logs <registration_agent_pod> -n open-cluster-management-agent
kubectl logs <registration_agent_pod> -n open-cluster-management-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow registration_agent_pod は、手順 1 で特定した Pod 名に置き換えます。
-
返された結果に、ネットワーク接続の問題があったと示すテキストがないかどうかを検索します。(例:
no such host)
1.6.3. 問題の解決: ステータスが Pending Import (インポート待ち) のクラスター リンクのコピーリンクがクリップボードにコピーされました!
ハブクラスターで以下のコマンドを実行して、問題のあるポート番号を取得します。
oc get infrastructure cluster -o yaml | grep apiServerURL
oc get infrastructure cluster -o yaml | grep apiServerURLCopy to Clipboard Copied! Toggle word wrap Toggle overflow マネージドクラスターからのホスト名が解決でき、ホストとポートへの送信接続が機能していることを確認します。
マネージドクラスターで通信が確立できない場合には、クラスターのインポートは完了しません。マネージドクラスターのクラスターステータスは、Pending import になります。
1.7. already exists エラーのあるクラスターのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターを Red Hat Advanced Cluster Management MultiClusterHub にインポートできず、AlreadyExists エラーを受信できない場合は、以下の手順を実行して問題のトラブルシューティングを実行します。
1.7.1. 現象: OpenShift Container Platform クラスターのインポート時のエラーログへの対応 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターを Red Hat Advanced Cluster Management MultiClusterHub にインポートする際にエラーログが表示されます。
1.7.2. 問題の特定: OpenShift Container Platform クラスターのインポート時に Already が存在する リンクのコピーリンクがクリップボードにコピーされました!
以下のコマンドを実行して、新しい Red Hat Advanced Cluster Management MultiClusterHub にインポートするクラスターに Red Hat Advanced Cluster Management 関連のリソースがあるかどうかを確認します。
oc get all -n open-cluster-management-agent oc get all -n open-cluster-management-agent-addon
oc get all -n open-cluster-management-agent
oc get all -n open-cluster-management-agent-addon
1.7.3. 問題の解決: OpenShift Container Platform クラスターのインポート時にすでに準備状態にある リンクのコピーリンクがクリップボードにコピーされました!
以下のコマンドを実行して既存のリソースを削除します。
oc delete namespaces open-cluster-management-agent open-cluster-management-agent-addon --wait=false
oc get crds | grep open-cluster-management.io | awk '{print $1}' | xargs oc delete crds --wait=false
oc get crds | grep open-cluster-management.io | awk '{print $1}' | xargs oc patch crds --type=merge -p '{"metadata":{"finalizers": []}}'
oc delete namespaces open-cluster-management-agent open-cluster-management-agent-addon --wait=false
oc get crds | grep open-cluster-management.io | awk '{print $1}' | xargs oc delete crds --wait=false
oc get crds | grep open-cluster-management.io | awk '{print $1}' | xargs oc patch crds --type=merge -p '{"metadata":{"finalizers": []}}'
1.8. VMware vSphere でのクラスター作成のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で Red Hat OpenShift Container Platform クラスターを作成する時に問題が発生した場合は、以下のトラブルシューティング情報を参照して、この情報のいずれかが問題に対応しているかどうかを確認します。
注記: VMware vSphere でクラスター作成プロセスが失敗した場合に、リンクが有効にならずログが表示されないことがあります。上記が発生する場合は、hive-controllers Pod のログを確認して問題を特定できます。hive-controllers ログは hive namespace にあります。
1.8.1. 証明書 の IP SAN エラーでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
1.8.1.1. 現象: 証明書の IP SAN エラーでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で新規の Red Hat OpenShift Container Platform クラスターを作成した後に、証明書 IP SAN エラーを示すエラーメッセージでクラスターに問題が発生します。
1.8.1.2. 問題の特定: 証明書の IP SAN エラーでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターのデプロイメントに失敗して、デプロイメントログに以下のエラーが返されます。
time="2020-08-07T15:27:55Z" level=error msg="Error: error setting up new vSphere SOAP client: Post https://147.1.1.1/sdk: x509: cannot validate certificate for xx.xx.xx.xx because it doesn't contain any IP SANs" time="2020-08-07T15:27:55Z" level=error
time="2020-08-07T15:27:55Z" level=error msg="Error: error setting up new vSphere SOAP client: Post https://147.1.1.1/sdk: x509: cannot validate certificate for xx.xx.xx.xx because it doesn't contain any IP SANs"
time="2020-08-07T15:27:55Z" level=error
1.8.1.3. 問題の解決: 証明書の IP SAN エラーでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
認証情報の IP アドレスではなく VMware vCenter サーバー完全修飾ホスト名を使用します。また、VMware vCenter CA 証明書を更新して、IP SAN を組み込むこともできます。
1.8.2. 不明な証明局のエラーでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
1.8.2.1. 現象: 不明な証明局のエラーでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で新規の Red Hat OpenShift Container Platform クラスターを作成した後に、証明書が不明な証明局により署名されているのでクラスターに問題が発生します。
1.8.2.2. 問題の特定: 不明な証明局のエラーでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターのデプロイメントに失敗して、デプロイメントログに以下のエラーが返されます。
Error: error setting up new vSphere SOAP client: Post https://vspherehost.com/sdk: x509: certificate signed by unknown authority"
Error: error setting up new vSphere SOAP client: Post https://vspherehost.com/sdk: x509: certificate signed by unknown authority"
1.8.2.3. 問題の解決: 不明な証明局のエラーでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
認証情報の作成時に認証局からの正しい証明書が入力されていることを確認します。
1.8.3. 証明書の期限切れでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
1.8.3.1. 現象: 証明書の期限切れでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で新規の Red Hat OpenShift Container Platform クラスターを作成した後に、証明書の期限が切れているか、まだ有効化されていないため、クラスターに問題が発生します。
1.8.3.2. 問題の特定: 証明書の期限切れでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターのデプロイメントに失敗して、デプロイメントログに以下のエラーが返されます。
x509: certificate has expired or is not yet valid
x509: certificate has expired or is not yet valid
1.8.3.3. 問題の解決: 証明書の期限切れでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
ESXi ホストの時間が同期されていることを確認します。
1.8.4. タグ付けの権限が十分にないためにマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
1.8.4.1. 現象: タグ付けの権限が十分にないためにマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で新規の Red Hat OpenShift Container Platform クラスターを作成した後に、タグ付けの使用に十分な権限がないのでクラスターに問題が発生します。
1.8.4.2. 問題の特定: タグ付けの権限が十分にないためにマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターのデプロイメントに失敗して、デプロイメントログに以下のエラーが返されます。
1.8.4.3. 問題の解決: タグ付けの権限が十分にないためにマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vCenter が必要とするアカウントの権限が正しいことを確認します。詳細は、「インストール時に削除されたイメージレジストリー」を参照してください。
1.8.5. 無効な dnsVIP でマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
1.8.5.1. 現象: 無効な dnsVIP でマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で新規の Red Hat OpenShift Container Platform クラスターを作成した後に、dnsVIP が無効であるため、クラスターに問題が発生します。
1.8.5.2. 問題の特定: 無効な dnsVIP でマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で新しいマネージドクラスターをデプロイしようとして以下のメッセージが表示されるのは、VMware Installer Provisioned Infrastructure (IPI) をサポートしない以前の OpenShift Container Platform リリースイメージを使用しているためです。
failed to fetch Master Machines: failed to load asset \\\"Install Config\\\": invalid \\\"install-config.yaml\\\" file: platform.vsphere.dnsVIP: Invalid value: \\\"\\\": \\\"\\\" is not a valid IP
failed to fetch Master Machines: failed to load asset \\\"Install Config\\\": invalid \\\"install-config.yaml\\\" file: platform.vsphere.dnsVIP: Invalid value: \\\"\\\": \\\"\\\" is not a valid IP
1.8.5.3. 問題の解決: 無効な dnsVIP でマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware インストーラーでプロビジョニングされるインフラストラクチャーをサポートする OpenShift Container Platform で、新しいバージョンのリリースイメージを選択します。
1.8.6. ネットワークタイプが正しくないのでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
1.8.6.1. 現象: ネットワークタイプが正しくないのでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で新規の Red Hat OpenShift Container Platform クラスターを作成した後に、間違ったネットワークタイプが指定されているので、クラスターに問題が発生します。
1.8.6.2. 問題の特定: ネットワークタイプが正しくないのでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で新しいマネージドクラスターをデプロイしようとして以下のメッセージが表示されるのは、VMware Installer Provisioned Infrastructure (IPI) をサポートしない以前の OpenShift Container Platform イメージを使用しているためです。
1.8.6.3. 問題の解決: ネットワークタイプが正しくないのでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
指定の VMware クラスターに対して有効な VMware vSphere ネットワークタイプを選択します。
1.8.7. ディスクの変更処理のエラーでマネージドクラスターの作成に失敗する リンクのコピーリンクがクリップボードにコピーされました!
1.8.7.1. 現象: ディスクの変更処理のエラーが原因でマネージドクラスターの追加に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere で新規の Red Hat OpenShift Container Platform クラスターを作成した後に、ディスク変更処理時にエラーによりクラスターに問題が発生します。
1.8.7.2. 問題の特定: ディスクの変更処理のエラーが原因でマネージドクラスターの追加に失敗する リンクのコピーリンクがクリップボードにコピーされました!
以下のようなメッセージがログに表示されます。
ERROR ERROR Error: error reconfiguring virtual machine: error processing disk changes post-clone: disk.0: ServerFaultCode: NoPermission: RESOURCE (vm-71:2000), ACTION (queryAssociatedProfile): RESOURCE (vm-71), ACTION (PolicyIDByVirtualDisk)
ERROR
ERROR Error: error reconfiguring virtual machine: error processing disk changes post-clone: disk.0: ServerFaultCode: NoPermission: RESOURCE (vm-71:2000), ACTION (queryAssociatedProfile): RESOURCE (vm-71), ACTION (PolicyIDByVirtualDisk)
1.8.7.3. 問題の解決: ディスクの変更処理のエラーが原因でマネージドクラスターの追加に失敗する リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere クライアントを使用してユーザーに プロファイル駆動型のストレージ権限 の 全権限 を割り当てます。
1.9. OpenShift Container Platform バージョン 3.11 クラスターのインポートの失敗時のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
1.9.1. 現象: OpenShift Container Platform バージョン 3.11 クラスターのインポートに失敗する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Container Platform バージョン 3.11 クラスターのインポートを試行すると、以下の内容のようなログメッセージでインポートに失敗します。
1.9.2. 問題の特定: OpenShift Container Platform バージョン 3.11 クラスターのインポートに失敗する リンクのコピーリンクがクリップボードにコピーされました!
この問題は多くの場合、インストールされている kubectl コマンドラインツールのバージョンが 1.11 以前であるために発生します。以下のコマンドを実行して、実行中の kubectl コマンドラインツールのバージョンを表示します。
kubectl version
kubectl version
返されたデータがバージョンが 1.11 以前の場合は、「問題の解決: OpenShift Container Platform バージョン 3.11 クラスターのインポートに失敗する」の修正のいずれかを実行します。
1.9.3. 問題の解決: OpenShift Container Platform バージョン 3.11 クラスターのインポートに失敗する リンクのコピーリンクがクリップボードにコピーされました!
この問題は、以下のいずれかの手順を実行して解決できます。
最新バージョンの
kubectlコマンドラインツールをインストールします。-
Kubernetes ドキュメントの Install and Set Up
kubectlから最新バージョンの kubectl ツールをダウンロードします。 -
kubectlツールのアップグレード後にクラスターを再度インポートします。
-
Kubernetes ドキュメントの Install and Set Up
import コマンドが含まれるファイルを実行します。
- 「CLI を使用したマネージドクラスターのインポート」の手順を開始します。
-
クラスターのインポートコマンドを作成する場合には、このインポートコマンドを
import.yamlという名前の YAML ファイルにコピーします。 以下のコマンドを実行して、ファイルからクラスターを再度インポートします。
oc apply -f import.yaml
oc apply -f import.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.10. 証明書を変更した後のインポート済みクラスターのオフラインでのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
カスタムの apiserver 証明書のインストールはサポートされますが、証明書情報を変更する前にインポートされた クラスターの 1 つまたは複数でステータスが オフライン になる可能性があります。
1.10.1. 現象: 証明書の変更後にクラスターがオフラインになる リンクのコピーリンクがクリップボードにコピーされました!
証明書シークレットの更新手順を完了すると、オンラインになっていたクラスターの 1 つまたは複数が、Red Hat Advanced Cluster Management for Kubernetes コンソールで オフライン ステータスと表示される可能性があります。
1.10.2. 問題の特定: 証明書の変更後にクラスターがオフラインになる リンクのコピーリンクがクリップボードにコピーされました!
カスタムの API サーバー証明書の情報を更新すると、インポートされ、新しい証明書が追加される前に稼働していたクラスターのステータスが オフライン になります。
オフラインのマネージドクラスターの open-cluster-management-agent namespace にある Pod のログで、証明書に問題があるとのエラーが見つかります。以下の例のようなエラーがログに表示されます。
work-agent のログ:
E0917 03:04:05.874759 1 manifestwork_controller.go:179] Reconcile work test-1-klusterlet-addon-workmgr fails with err: Failed to update work status with err Get "https://api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/namespaces/test-1/manifestworks/test-1-klusterlet-addon-workmgr": x509: certificate signed by unknown authority E0917 03:04:05.874887 1 base_controller.go:231] "ManifestWorkAgent" controller failed to sync "test-1-klusterlet-addon-workmgr", err: Failed to update work status with err Get "api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/namespaces/test-1/manifestworks/test-1-klusterlet-addon-workmgr": x509: certificate signed by unknown authority E0917 03:04:37.245859 1 reflector.go:127] k8s.io/client-go@v0.19.0/tools/cache/reflector.go:156: Failed to watch *v1.ManifestWork: failed to list *v1.ManifestWork: Get "api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/namespaces/test-1/manifestworks?resourceVersion=607424": x509: certificate signed by unknown authority
E0917 03:04:05.874759 1 manifestwork_controller.go:179] Reconcile work test-1-klusterlet-addon-workmgr fails with err: Failed to update work status with err Get "https://api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/namespaces/test-1/manifestworks/test-1-klusterlet-addon-workmgr": x509: certificate signed by unknown authority
E0917 03:04:05.874887 1 base_controller.go:231] "ManifestWorkAgent" controller failed to sync "test-1-klusterlet-addon-workmgr", err: Failed to update work status with err Get "api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/namespaces/test-1/manifestworks/test-1-klusterlet-addon-workmgr": x509: certificate signed by unknown authority
E0917 03:04:37.245859 1 reflector.go:127] k8s.io/client-go@v0.19.0/tools/cache/reflector.go:156: Failed to watch *v1.ManifestWork: failed to list *v1.ManifestWork: Get "api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/namespaces/test-1/manifestworks?resourceVersion=607424": x509: certificate signed by unknown authority
registration-agent のログ:
I0917 02:27:41.525026 1 event.go:282] Event(v1.ObjectReference{Kind:"Namespace", Namespace:"open-cluster-management-agent", Name:"open-cluster-management-agent", UID:"", APIVersion:"v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ManagedClusterAvailableConditionUpdated' update managed cluster "test-1" available condition to "True", due to "Managed cluster is available"
E0917 02:58:26.315984 1 reflector.go:127] k8s.io/client-go@v0.19.0/tools/cache/reflector.go:156: Failed to watch *v1beta1.CertificateSigningRequest: Get "https://api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/managedclusters?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dtest-1&resourceVersion=607408&timeout=9m33s&timeoutSeconds=573&watch=true"": x509: certificate signed by unknown authority
E0917 02:58:26.598343 1 reflector.go:127] k8s.io/client-go@v0.19.0/tools/cache/reflector.go:156: Failed to watch *v1.ManagedCluster: Get "https://api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/managedclusters?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dtest-1&resourceVersion=607408&timeout=9m33s&timeoutSeconds=573&watch=true": x509: certificate signed by unknown authority
E0917 02:58:27.613963 1 reflector.go:127] k8s.io/client-go@v0.19.0/tools/cache/reflector.go:156: Failed to watch *v1.ManagedCluster: failed to list *v1.ManagedCluster: Get "https://api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/managedclusters?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dtest-1&resourceVersion=607408&timeout=9m33s&timeoutSeconds=573&watch=true"": x509: certificate signed by unknown authority
I0917 02:27:41.525026 1 event.go:282] Event(v1.ObjectReference{Kind:"Namespace", Namespace:"open-cluster-management-agent", Name:"open-cluster-management-agent", UID:"", APIVersion:"v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ManagedClusterAvailableConditionUpdated' update managed cluster "test-1" available condition to "True", due to "Managed cluster is available"
E0917 02:58:26.315984 1 reflector.go:127] k8s.io/client-go@v0.19.0/tools/cache/reflector.go:156: Failed to watch *v1beta1.CertificateSigningRequest: Get "https://api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/managedclusters?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dtest-1&resourceVersion=607408&timeout=9m33s&timeoutSeconds=573&watch=true"": x509: certificate signed by unknown authority
E0917 02:58:26.598343 1 reflector.go:127] k8s.io/client-go@v0.19.0/tools/cache/reflector.go:156: Failed to watch *v1.ManagedCluster: Get "https://api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/managedclusters?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dtest-1&resourceVersion=607408&timeout=9m33s&timeoutSeconds=573&watch=true": x509: certificate signed by unknown authority
E0917 02:58:27.613963 1 reflector.go:127] k8s.io/client-go@v0.19.0/tools/cache/reflector.go:156: Failed to watch *v1.ManagedCluster: failed to list *v1.ManagedCluster: Get "https://api.aaa-ocp.dev02.location.com:6443/apis/cluster.management.io/v1/managedclusters?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dtest-1&resourceVersion=607408&timeout=9m33s&timeoutSeconds=573&watch=true"": x509: certificate signed by unknown authority
1.10.3. 問題の解決: 証明書の変更後にクラスターがオフラインになる リンクのコピーリンクがクリップボードにコピーされました!
証明書情報の更新後にクラスターを手動で復元するには、各マネージドクラスターで以下の手順を実行します。
もう一度、クラスターを手動でインポートします。Red Hat Advanced Cluster Management で作成された Red Hat OpenShift Container Platform クラスターは 2 時間ごとに再同期されるので、これらのクラスターについてはこの手順を省略できます。
ハブクラスターで、以下のコマンドを入力してインポートコマンドを表示します。
oc get secret -n ${CLUSTER_NAME} ${CLUSTER_NAME}-import -ojsonpath='{.data.import\.yaml}' | base64 --decode > import.yamloc get secret -n ${CLUSTER_NAME} ${CLUSTER_NAME}-import -ojsonpath='{.data.import\.yaml}' | base64 --decode > import.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow CLUSTER_NAME は、インポートするマネージドクラスターの名前に置き換えます。
マネージドクラスターで、
import.yamlファイルを適用します。oc apply -f import.yaml
oc apply -f import.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11. クラスターの削除後も namespace が残る リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターを削除すると、通常 namespace はクラスターの削除プロセスの一部として削除されます。まれに namespace は一部のアーティファクトが含まれた状態で残る場合があります。このような場合には、namaspace を手動で削除する必要があります。
1.11.1. 現象: クラスターの削除後も namespace が残る リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターの削除後に namespace が削除されません。
1.11.2. 問題の解決: クラスターの削除後も namespace が残る リンクのコピーリンクがクリップボードにコピーされました!
namespace を手作業で削除するには、以下の手順を実行します。
次のコマンドを実行して、<cluster_name> namespace に残っているリソースのリストを作成します。
oc api-resources --verbs=list --namespaced -o name | grep -E '^secrets|^serviceaccounts|^managedclusteraddons|^roles|^rolebindings|^manifestworks|^leases|^managedclusterinfo|^appliedmanifestworks' | xargs -n 1 oc get --show-kind --ignore-not-found -n <cluster_name>
oc api-resources --verbs=list --namespaced -o name | grep -E '^secrets|^serviceaccounts|^managedclusteraddons|^roles|^rolebindings|^manifestworks|^leases|^managedclusterinfo|^appliedmanifestworks' | xargs -n 1 oc get --show-kind --ignore-not-found -n <cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster_name は、削除しようとしたクラスターの namespace 名に置き換えます。
以下のコマンドを入力してリストを編集し、ステータスが
Deleteではないリストから特定したリソースを削除します。oc edit <resource_kind> <resource_name> -n <namespace>
oc edit <resource_kind> <resource_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow resource_kind は、リソースの種類に置き換えます。resource_name は、リソース名に置き換えます。namespace は、リソースの namespace に置き換えます。
-
メタデータで
finalizer属性の場所を特定します。 -
vi エディターの
ddコマンドを使用して、Kubernetes 以外のファイナライザーを削除します。 -
:wqコマンドを入力し、リストを保存してviエディターを終了します。 以下のコマンドを入力して namespace を削除します。
oc delete ns <cluster-name>
oc delete ns <cluster-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLUSTER_NAME は、削除する namespace の名前に置き換えます。
1.12. クラスターのインポート時の auto-import-secret-exists エラー リンクのコピーリンクがクリップボードにコピーされました!
クラスターのインポートは、「auto import secret exists」というエラーメッセージで失敗します。
1.12.1. 現象: クラスターのインポート時の Auto-import-secret-exists エラー リンクのコピーリンクがクリップボードにコピーされました!
管理用のハイブクラスターをインポートすると、auto-import-secret already exists というエラーが表示されます。
1.12.2. 問題の解決: クラスターのインポート時の Auto-import-secret-exists エラー リンクのコピーリンクがクリップボードにコピーされました!
この問題は、Red Hat Advanced Cluster Management で以前に管理されていたクラスターをインポートしようとすると発生します。これが生じると、クラスターを再インポートしようとすると、シークレットは競合します。
この問題を回避するには、以下の手順を実行します。
既存の
auto-import-secretを手動で削除するには、ハブクラスターで以下のコマンドを実行します。oc delete secret auto-import-secret -n <cluster-namespace>
oc delete secret auto-import-secret -n <cluster-namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespaceは、お使いのクラスターの namespace に置き換えます。- 「ハブクラスターへのターゲットのマネージドクラスターのインポート」の手順を使用して、クラスターを再度インポートします。
クラスターがインポートされました。
1.13. クラスターのステータスが offline から available に変わる場合のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターのステータスは、環境またはクラスターを手動で変更することなく、offline と available とが切り替わります。
1.13.1. 現象: クラスターのステータスが offline から available に変わる リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターからハブクラスターへのネットワーク接続が不安定な場合に、マネージドクラスターのステータスが offline と available との間で順に切り替わると、ハブクラスターにより報告されます。
1.13.2. 問題の解決: クラスターのステータスが offline から available に変わる リンクのコピーリンクがクリップボードにコピーされました!
この問題を解決するには、以下の手順を実行します。
次のコマンドを入力して、ハブクラスターで
ManagedClusterの仕様を編集します。oc edit managedcluster <cluster-name>
oc edit managedcluster <cluster-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster-name は、マネージドクラスターの名前に置き換えます。
-
ManagedCluster仕様のleaseDurationSecondsの値を増やします。デフォルト値は 5 分ですが、ネットワークの問題がある状態で接続を維持するには十分でない場合があります。リースの時間を長く指定します。たとえば、設定を 20 分に増やします。
1.14. ステータスが Pending または Failed のクラスターのコンソールでのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
作成してたクラスターのステータスがコンソールで Pending または Failed と表示されている場合には、以下の手順を実行して問題のトラブルシューティングを実行します。
1.14.1. 現象: コンソールでステータスがPending または Failed のクラスターのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management for Kubernetes コンソールで新規クラスターを作成した後に、コンソールでクラスターのステータスが Pending または Failed と表示されてそれ以上進みません。
1.14.2. 問題の特定: コンソールでステータスが Pending または Failed のクラスター リンクのコピーリンクがクリップボードにコピーされました!
クラスターのステータスが Failed と表示される場合には、クラスターの詳細ページに移動して、提供されたログへのリンクに進みます。ログが見つからない場合や、クラスターのステータスが Pending と表示される場合は、以下の手順を実行してログを確認します。
手順 1
ハブクラスターで以下のコマンドを実行し、新規クラスターの namespace に作成した Kubernetes Pod の名前を表示します。
oc get pod -n <new_cluster_name>
oc get pod -n <new_cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow new_cluster_nameは、作成したクラスター名に置き換えます。名前に
provisionの文字列が含まれる Pod が表示されていない場合には、手順 2 に進みます。タイトルにprovisionが含まれる Pod があった場合には、ハブクラスターで以下のコマンドを実行して、その Pod のログを表示します。oc logs <new_cluster_name_provision_pod_name> -n <new_cluster_name> -c hive
oc logs <new_cluster_name_provision_pod_name> -n <new_cluster_name> -c hiveCopy to Clipboard Copied! Toggle word wrap Toggle overflow new_cluster_name_provision_pod_nameは、作成したクラスター名の後にprovisionが含まれる Pod 名を指定するように置き換えます。- ログでエラーを検索してください。この問題の原因が解明する場合があります。
手順 2
名前に
provisionが含まれる Pod がない場合には、問題がプロセスの初期段階で発生していますログを表示するには、以下の手順を実行します。ハブクラスターで以下のコマンドを実行してください。
oc describe clusterdeployments -n <new_cluster_name>
oc describe clusterdeployments -n <new_cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow new_cluster_nameは、作成したクラスター名に置き換えます。クラスターのインストールログの詳細は、Red Hat OpenShift ドキュメントの「インストールログの収集」を参照してください。- リソースの Status.Conditions.Message と Status.Conditions.Reason のエントリーに問題に関する追加の情報があるかどうかを確認します。
1.14.3. 問題の解決: コンソールでステータスが Pending または Failed のクラスター リンクのコピーリンクがクリップボードにコピーされました!
ログでエラーを特定した後に、エラーの解決方法を決定してから、クラスターを破棄して、作り直してください。
以下の例では、サポート対象外のゾーンを選択している可能性を示すログエラーと、関係に必要なアクションが提示されています。
No subnets provided for zones
No subnets provided for zones
クラスターの作成時に、サポートされていないリージョンにあるゾーンを 1 つ以上選択しています。問題解決用にクラスターを再作成する時に、以下のアクションの 1 つを実行します。
- リージョン内の異なるゾーンを選択します。
- 他のゾーンをリストしている場合は、サポートを提供しないゾーンを省略します。
- お使いのクラスターに、別のリージョンを選択します。
ログから問題を特定した後に、クラスターを破棄し、再作成します。
クラスターの作成に関する詳細は、「クラスターの作成」を参照してください。
1.15. アプリケーションの Git サーバー接続のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
open-cluster-management namespace のログでは、Git リポジトリーのクローンの失敗について表示されます。
1.15.1. 現象: Git サーバー接続 リンクのコピーリンクがクリップボードにコピーされました!
open-cluster-management namespace にあるサブスクリプションコントローラー Pod multicluster-operators-hub-subscription-<random-characters> のログに、Git リポジトリーのクローン作成に失敗したことが示されています。x509: certificate signed by unknown authority エラーまたは BadGateway エラーが表示されます。
1.15.2. 問題の解決: Git サーバー接続 リンクのコピーリンクがクリップボードにコピーされました!
重要: 以前のバージョンを使用している場合には、アップグレードしてください。
- apps.open-cluster-management.io_channels_crd.yaml を同じファイル名として保存します。
Red Hat Advanced Cluster Management クラスターで以下のコマンドを実行し、ファイルを適用します。
oc apply -f apps.open-cluster-management.io_channels_crd.yaml
oc apply -f apps.open-cluster-management.io_channels_crd.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow open-cluster-managementnamespace で以下のコマンドを実行してadvanced-cluster-management.v2.2.0CSV を編集します。oc edit csv advanced-cluster-management.v2.2.0 -n open-cluster-management
oc edit csv advanced-cluster-management.v2.2.0 -n open-cluster-managementCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコンテナーを見つけます。
-
multicluster-operators-standalone-subscription multicluster-operators-hub-subscriptionコンテナーイメージは以下に置き換えます。
quay.io/open-cluster-management/multicluster-operators-subscription:2.2-PR337-91af6cb37d427d22160b2c055589a4418dada4eb
quay.io/open-cluster-management/multicluster-operators-subscription:2.2-PR337-91af6cb37d427d22160b2c055589a4418dada4ebCopy to Clipboard Copied! Toggle word wrap Toggle overflow
この更新では
open-cluster-managementnamespace に以下の Pod を作成します。-
multicluster-operators-standalone-subscription-<random-characters> -
multicluster-operators-hub-subscription-<random-characters>
-
- 新たに作成した Pod が新規 docker イメージで実行されていることを確認します。以下のコマンドを実行して、新しい docker イメージを見つけます。
oc get pod multicluster-operators-standalone-subscription-<random-characters> -n open-cluster-management -o yaml oc get pod multicluster-operators-hub-subscription-<random-characters> -n open-cluster-management -o yaml
oc get pod multicluster-operators-standalone-subscription-<random-characters> -n open-cluster-management -o yaml
oc get pod multicluster-operators-hub-subscription-<random-characters> -n open-cluster-management -o yaml
マネージドクラスターのイメージを更新します。
ハブクラスターで以下のコマンドを実行します。
CLUSTER_NAMEは、実際のマネージドクラスター名に置き換えます。oc annotate klusterletaddonconfig -n CLUSTER_NAME CLUSTER_NAME klusterletaddonconfig-pause=true --overwrite=true
oc annotate klusterletaddonconfig -n CLUSTER_NAME CLUSTER_NAME klusterletaddonconfig-pause=true --overwrite=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行します。
CLUSTER_NAMEは、実際のマネージドクラスター名に置き換えます。oc edit manifestwork -n CLUSTER_NAME CLUSTER_NAME-klusterlet-addon-appmgr
oc edit manifestwork -n CLUSTER_NAME CLUSTER_NAME-klusterlet-addon-appmgrCopy to Clipboard Copied! Toggle word wrap Toggle overflow spec.global.imageOverrides.multicluster_operators_subscriptionを見つけて、値を以下のように設定します。quay.io/open-cluster-management/multicluster-operators-subscription:2.2-PR337-91af6cb37d427d22160b2c055589a4418dada4eb
quay.io/open-cluster-management/multicluster-operators-subscription:2.2-PR337-91af6cb37d427d22160b2c055589a4418dada4ebCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の設定で、マネージドクラスターの
open-cluster-management-agent-addonnamespace にklusterlet-addon-appmgr-<random-characters>Pod が再作成されます。- 新たに作成した Pod が新規 docker イメージで実行されていることを確認します。
コンソールまたは CLI を使用してアプリケーションを作成する場合には、チャネル仕様に「insecureSkipVerify: true」を手動で追加します。以下の例を参照してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.16. Grafana のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
Grafana エクスプローラーで時間のかかるメトリクスをクエリーすると、ゲートウェイのタイムアウト エラーが発生する可能性があります。
1.16.1. 現象: Grafana エクスプローラーゲートウェイのタイムアウト リンクのコピーリンクがクリップボードにコピーされました!
Grafana エクスプローラーで時間のかかるメトリクスをクエリーして ゲートウェイのタイムアウト エラーが発生する場合は、open-cluster-management namespace の multicloud-console ルートが原因でタイムアウトが発生する可能性があります。
1.16.2. 問題の解決: multicloud-console ルートの設定 リンクのコピーリンクがクリップボードにコピーされました!
この問題が発生した場合は、以下の手順を実行します。
Grafana のデフォルト設定に想定のタイムアウト設定があることを確認します。
Grafana のデフォルトタイムアウト設定を確認するには、以下のコマンドを実行します。
oc get secret grafana-config -n open-cluster-management-observability -o jsonpath="{.data.grafana\.ini}" | base64 -d | grep dataproxy -A 4oc get secret grafana-config -n open-cluster-management-observability -o jsonpath="{.data.grafana\.ini}" | base64 -d | grep dataproxy -A 4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のタイムアウト設定が表示されるはずです。
[dataproxy] timeout = 300 dial_timeout = 30 keep_alive_seconds = 300
[dataproxy] timeout = 300 dial_timeout = 30 keep_alive_seconds = 300Copy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana のデフォルトのデータソースクエリータイムアウトを確認するには、以下のコマンドを実行します。
oc get secret/grafana-datasources -n open-cluster-management-observability -o jsonpath="{.data.datasources\.yaml}" | base64 -d | grep queryTimeoutoc get secret/grafana-datasources -n open-cluster-management-observability -o jsonpath="{.data.datasources\.yaml}" | base64 -d | grep queryTimeoutCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のタイムアウト設定が表示されるはずです。
queryTimeout: 300s
queryTimeout: 300sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Grafana のデフォルト設定でタイムアウト設定が想定される場合は、以下のコマンドを実行して
open-clusterルートを設定できます。-management namespace に multicloud-consoleoc annotate route multicloud-console -n open-cluster-management --overwrite haproxy.router.openshift.io/timeout=300s
oc annotate route multicloud-console -n open-cluster-management --overwrite haproxy.router.openshift.io/timeout=300sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Grafana ページを更新し、再度メトリクスのクエリーを試行します。ゲートウェイのタイムアウト エラーが表示されなくなりました。
1.17. 配置ルールでローカルクラスターが選択されていない場合のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターは配置ルールで選択されますが、local-cluster (同じく管理されているハブクラスター) は選択されません。配置ルールユーザーには、local-cluster namespace に deployable リソースを作成するためのパーミッションは付与されません。
1.17.1. 現象: ローカルクラスターが選択されていない問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
すべてのマネージドクラスターは配置ルールで選択されますが、local-cluster は選択されません。配置ルールユーザーには、local-cluster namespace に deployable リソースを作成するためのパーミッションは付与されません。
1.17.2. 問題の解決: ローカルクラスターが選択されていない問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
この問題を解決するには、local-cluster namespace に deployable 管理パーミッションを付与する必要があります。以下の手順を実行してください。
マネージドクラスターのリストに
local-clusterが含まれ、配置ルールのdecisionsリストにローカルクラスターが表示されないことを確認します。以下のコマンドを実行して結果を表示します。% oc get managedclusters
% oc get managedclustersCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true True True 56d cluster1 true True True 16h
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true True True 56d cluster1 true True True 16hCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow .yamlファイルにRoleを作成し、local-clusternamespace に deployable 管理パーミッションを付与します。以下の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow RoleBindingリソースを作成し、配置ルールユーザーにlocal-clusternamespace へのアクセスを許可します。以下の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.18. アプリケーションの Kubernetes デプロイメントバージョンのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
非推奨の Kubernetes apiVersion を使用するマネージドクラスターはサポートされない可能性があります。非推奨の API バージョンの詳細は、Kubernetes issue を参照してください。
1.18.1. 現象: アプリケーションデプロイメントバージョン リンクのコピーリンクがクリップボードにコピーされました!
サブスクリプションの YAML ファイルのアプリケーションリソースの 1 つまたは複数で、非推奨の API が使用されている場合に、以下のようなエラーが発生する可能性があります。
failed to install release: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"
failed to install release: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for
kind "Deployment" in version "extensions/v1beta1"
または、old.yaml などの名前で YAML ファイルに新しい Kubernetes API バージョンを追加している場合には、以下のエラーが発生する可能性があります。
error: unable to recognize "old.yaml": no matches for kind "Deployment" in version "deployment/v1beta1"
error: unable to recognize "old.yaml": no matches for kind "Deployment" in version "deployment/v1beta1"
1.18.2. 解決: アプリケーションデプロイメントバージョン リンクのコピーリンクがクリップボードにコピーされました!
リソースの
apiVersionを更新します。たとえば、サブスクリプション YAML ファイルの Deployment の種類のエラーが表示された場合には、apiVersionをextensions/v1beta1からapps/v1に更新する必要があります。以下の例を参照してください。
apiVersion: apps/v1 kind: Deployment
apiVersion: apps/v1 kind: DeploymentCopy to Clipboard Copied! Toggle word wrap Toggle overflow マネージドクラスターで以下のコマンドを実行して、利用可能なバージョンを確認します。
kubectl explain <resource>
kubectl explain <resource>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
VERSIONを確認します。
1.19. スタンドアロンのサブスクリプションメモリーのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
メモリーの問題が原因で multicluster-operators-standalone-subscription Pod が定期的に再起動します。
1.19.1. 現象: スタンドアロンのサブスクリプションメモリー リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM) が全 Operator をデプロイすると、スタンドアロンのサブスクリプションコンテナーに十分なめオリーが割り当てられていないため、multicluster-subscription-operator だけでなく、multicluster-operators-standalone-subscription Pod も再起動されます。
マルチクラスターサブスクリプションコミュニティー Operator CSV で multicluster-operators-standalone-subscription Pod のメモリーの上限が 2GB に増えましたが、OLM はこのリソース制限の設定を無視します。
1.19.2. 問題の解決: スタンドアロンのサブスクリプションメモリー リンクのコピーリンクがクリップボードにコピーされました!
インストール後に、マルチクラスターサブスクリプションコミュニティー Operator をサブスクライブする Operator サブスクリプション CR を検索します。以下のコマンドを実行します。
% oc get sub -n open-cluster-management acm-operator-subscription
% oc get sub -n open-cluster-management acm-operator-subscriptionCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator サブスクリプションカスタムリソースを編集し、リソース制限を定義する
spec.config.resources.yamlファイルを追加します。注記: 同じマルチクラスターサブスクリプションコミュニティー Operator をサブスクライブする Operator サブスクリプションのカスタムリソースを新たに作成しないでください。2 つの Operator サブスクリプションが 1 つの Operator にリンクされているので、この 2 つの Operator サブスクリプションカスタムリソースは、Operator Pod を
強制終了して再起動します。以下の更新後の
.yamlファイルの例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow リソースの保存後に、スタンドアロンのサブスクリプション Pod が 2GB のメモリー上限で再起動されるようにします。以下のコマンドを実行します。
% oc get pods -n open-cluster-management multicluster-operators-standalone-subscription-7c8cbf885f-c94kz -o yaml
% oc get pods -n open-cluster-management multicluster-operators-standalone-subscription-7c8cbf885f-c94kz -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.20. 状態が Degraded の Klusterlet のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
Klusterlet の状態が Degraded の場合には、マネージドクラスターの Klusterlet エージェントの状態を診断しやすくなります。Klusterlet の状態が Degraded になると、マネージドクラスターの Klusterlet エージェントで発生する可能性のあるエラーに対応する必要があります。Klusterlet の degraded の状態が True に設定されている場合には、以下の情報を参照します。
1.20.1. 現象: Klusterlet の状態が degraded である リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターで Klusterlet をデプロイした後に、KlusterletRegistrationDegraded または KlusterletWorkDegraded の状態が True と表示されます。
1.20.2. 問題の特定: Klusterlet の状態が degraded である リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターで以下のコマンドを実行して、Klusterlet のステータスを表示します
kubectl get klusterlets klusterlet -oyaml
kubectl get klusterlets klusterlet -oyamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
KlusterletRegistrationDegradedまたはKlusterletWorkDegradedをチェックして、状態がTrueに設定されいるかどうかを確認します。記載されている Degraded の状態については、問題の解決 に進みます。
1.20.3. 問題の解決: Klusterlet の状態が degraded である リンクのコピーリンクがクリップボードにコピーされました!
ステータスが Degraded のリストおよびこれらの問題の解決方法を参照してください。
-
KlusterletRegistrationDegradedの状態が True で、この状態の理由が BootStrapSecretMissing の場合には、open-cluster-management-agentnamespace にブートストラップのシークレットを作成する必要があります。 -
KlusterletRegistrationDegradedの状態が True と表示され、状態の理由が BootstrapSecretError または BootstrapSecretUnauthorized の場合には、現在のブートストラップシークレットは無効です。現在のブートストラップシークレットを削除して、open-cluster-management-agentnamespace で有効なブートストラップシークレットをもう一度作成します。 -
KlusterletRegistrationDegradedおよびKlusterletWorkDegradedが True と表示され、状態の理由が HubKubeConfigSecretMissing の場合には、Klusterlet を削除して作成し直します。 -
KlusterletRegistrationDegradedおよびKlusterletWorkDegradedが True と表示され、状態の理由が ClusterNameMissing、KubeConfigMissing、HubConfigSecretError または HubConfigSecretUnauthorized の場合には、open-cluster-management-agentnamespace からハブクラスターの kubeconfig シークレットを削除します。登録エージェントは再度ブートストラップして、新しいハブクラスターの kubecofnig シークレットを取得します。 -
KlusterletRegistrationDegradedが True と表示され、状態の理由が GetRegistrationDeploymentFailed または UnavailableRegistrationPod の場合には、状態のメッセージを確認して、問題の詳細を取得して解決してみてください。 -
KlusterletWorkDegradedが True と表示され、状態の理由が GetWorkDeploymentFailed または UnavailableWorkPod の場合には、状態のメッセージを確認して、問題の詳細を取得し、解決してみてください。
1.21. マネージドクラスターでの Klusterlet アプリケーションマネージャーのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management for Kubernetes をアップグレードすると、Red Hat OpenShift Container Platform マネージドクラスターバージョン 4.5 および 4.6 上の klusterlet-addon-appmgr Pod が OOMKilled になります。
1.21.1. 現象: マネージドクラスター上の Klusterlet アプリケーションマネージャー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Container Platform マネージドクラスターのバージョン 4.5 および 4.6 上の klusterlet-addon-appmgr Pod で OOMKilled のエラーが発生します。
1.21.2. 問題の解決: マネージドクラスター上の Klusterlet アプリケーションマネージャー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management for Kubernetes 2.1.x および 2.2 の場合には、Pod のメモリー制限を手動で 8GB に増やす必要があります。以下の手順を参照してください。
ハブクラスターで、
klusterletaddonconfigにアノテーションを付けてレプリケーションを一時停止します。以下のコマンドを使用します。oc annotate klusterletaddonconfig -n ${CLUSTER_NAME} ${CLUSTER_NAME} klusterletaddonconfig-pause=true -- overwrite=trueoc annotate klusterletaddonconfig -n ${CLUSTER_NAME} ${CLUSTER_NAME} klusterletaddonconfig-pause=true -- overwrite=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow ハブクラスターで、
klusterlet-addon-operatorをスケールダウンします。以下のコマンドを使用します。oc edit manifestwork ${CLUSTER_NAME}-klusterlet-addon-operator -n ${CLUSTER_NAME}oc edit manifestwork ${CLUSTER_NAME}-klusterlet-addon-operator -n ${CLUSTER_NAME}Copy to Clipboard Copied! Toggle word wrap Toggle overflow klusterlet-addon-operatorデプロイメントを探し、その仕様にreplicas: 0を追加してスケールダウンします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow マネージドクラスターでは、
open-cluster-management-agent-addon / klusterlet-addon-operatorPod が終了します。マネージドクラスターにログインして
appmgrPod のメモリー制限を手動で増やします。以下のコマンドを実行します。
% oc edit deployments -n open-cluster-management-agent-addon klusterlet-addon-appmgr
% oc edit deployments -n open-cluster-management-agent-addon klusterlet-addon-appmgrCopy to Clipboard Copied! Toggle word wrap Toggle overflow たとえば、制限が 5G の場合には、8G に増やします。
resources: limits: memory: 2Gi -> 8Gi requests: memory: 128Mi -> 256Miresources: limits: memory: 2Gi -> 8Gi requests: memory: 128Mi -> 256MiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.22. オブジェクトストレージチャネルシークレットのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
SecretAccessKey を変更すると、オブジェクトストレージチャネルのサブスクリプションは、更新されたシークレットを自動的に取得できず、エラーが発生します。
1.22.1. 現象: オブジェクトストレージチャネルシークレット リンクのコピーリンクがクリップボードにコピーされました!
オブジェクトストレージチャネルのサブスクリプションは、更新されたシークレットを自動的に取得できません。そのため、サブスクリプションオペレーターが調整できなくなり、オブジェクトストレージからマネージドクラスターにリソースがデプロイされなくなります。
1.22.2. 問題の解決: オブジェクトストレージチャネルシークレット リンクのコピーリンクがクリップボードにコピーされました!
シークレットを作成するには、認証情報を手動で入力してから、チャネル内のシークレットを参照する必要があります。
サブスクリプションオペレーターに単一の調整を生成するために、サブスクリプション CR にアノテーションを付けます。以下の
data仕様を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc annotateを実行してテストします。oc annotate appsub -n <subscription-namespace> <subscription-name> test=true
oc annotate appsub -n <subscription-namespace> <subscription-name> test=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
コマンドの実行後に、アプリケーションコンソールに移動して、リソースがマネージドクラスターにデプロイされていることを確認してください。または、マネージドクラスターにログインして、アプリケーションリソースが特定の namespace で作成されているかどうかを確認できます。
1.23. 可観測性のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
可観測性コンポーネントをインストールした後に、コンポーネントが停止し、Installing のステータスが表示されます。
1.23.1. 現象: MultiClusterObservability リソースの状態が停止する リンクのコピーリンクがクリップボードにコピーされました!
可観測性のカスタムリソース定義 (CRD) をインストールして作成した後に可観測性のステータスが Installing で停止した場合、spec:storageConfig:storageClass パラメーターに値が定義されていない可能性があります。または、可観測性コンポーネントは自動的にデフォルトの storageClass を検索しますが、ストレージの値が指定されていない場合には、コンポーネントは Installing ステータスのままになります。
1.23.2. 問題の解決: MultiClusterObservability リソースの状態が停止する リンクのコピーリンクがクリップボードにコピーされました!
この問題が発生した場合は、以下の手順を実行します。
可観測性コンポーネントがインストールされていることを確認します。
multicluster-observability-operatorを確認するには、以下のコマンドを実行します。kubectl get pods -n open-cluster-management|grep observability
kubectl get pods -n open-cluster-management|grep observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow 適切な CRD が存在することを確認するには、以下のコマンドを実行します。
kubectl get crd|grep observ
kubectl get crd|grep observCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の CRD が表示されるまで、コンポーネントを有効化しないでください。
multiclusterobservabilities.observability.open-cluster-management.io observabilityaddons.observability.open-cluster-management.io observatoria.core.observatorium.io
multiclusterobservabilities.observability.open-cluster-management.io observabilityaddons.observability.open-cluster-management.io observatoria.core.observatorium.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Bare Metal クラスター用に独自の storageClass を作成する場合は、「How to create an NFS provisioner in the cluster or out of the cluster」を参照してください。
-
可観測性コンポーネントがデフォルトの storageClass を検索できるようにするには、
multicluster-observability-operatorCRD のstorageClassパラメーターを更新します。パラメーターは、以下のような値になります。
storageclass.kubernetes.io/is-default-class: "true"
storageclass.kubernetes.io/is-default-class: "true"
インストールが完了すると、可観測性コンポーネントのステータスが Ready に更新されます。インストールの完了に失敗すると、ステータスが Fail と表示されます。
1.24. OpenShift モニタリングサービスのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターの可観測性サービスは OpenShift Container Platform モニタリングスタックからメトリクスを収集する必要があります。metrics-collector は、OpenShift Container Platform モニタリングスタックが準備状態にならないと、インストールされません。
1.24.1. 現象: OpenShift モニタリングサービスが準備状態にならない リンクのコピーリンクがクリップボードにコピーされました!
endpoint-observability-operator-x Pod は、prometheus-k8s サービスが openshift-monitoring namespace で利用可能かどうかを確認します。このサービスが openshift-monitoring namespace に存在しない場合には、metrics-collector はデプロイされません。Failed to get prometheus resource というエラーメッセージが表示される可能性があります。
1.24.2. 問題の解決: OpenShift モニタリングサービスが準備状態にならない リンクのコピーリンクがクリップボードにコピーされました!
この問題が発生した場合は、以下の手順を実行します。
- OpenShift Container Platform クラスターにログインします。
-
openshift-monitoringnamespace にアクセスし、prometheus-k8sサービスが利用可能であることを確認します。 -
マネージドクラスターの
open-cluster-management-addon-observabilitynamespace で、endpoint-observability-operator-xPod を再起動します。
1.25. managedcluster リソースに不必要なラベル値が含まれる リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターのインポート時に、可観測性コンポーネントがデフォルトでインストールされます。配置ルールは、以下の情報のようになります。
status:
decisions:
- clusterName: sample-managed-cluster
clusterNamespace: sample-managed-cluster
status:
decisions:
- clusterName: sample-managed-cluster
clusterNamespace: sample-managed-cluster
マネージドクラスターが配置ルールに含まれていない場合には、可観測性コンポーネントはインストールされません。
1.25.1. 現象: managedcluster リソースに不必要なラベル値が含まれる リンクのコピーリンクがクリップボードにコピーされました!
インポートされたクラスターが含まれていない場合には、マネージドクラスターリソースの可観測性サービスが無効になる可能性があります。
注記: サービスを有効にすると、ターゲットのマネージドクラスターを表す vendor:OpenShift ラベルが追加されます。可観測性サービスは、OpenShift Container Platform マネージドクラスターでのみサポートされます。
1.25.2. 問題の解決: managedcluster リソースに不必要なラベル値が含まれる リンクのコピーリンクがクリップボードにコピーされました!
この問題が発生した場合には、ターゲットのマネージドクラスターの可観測性サービスを有効にして managedcluster リソースのラベルを更新します。
以下の手順を実行してください。
- Red Hat Advanced Cluster Management クラスターにログインします。
配置ルールを更新して、
observabilityパラメーターの値をenabledに変更します。以下のコマンドを実行します。oc edit placementrule -n open-cluster-management-observability
oc edit placementrule -n open-cluster-management-observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、OpenShift がターゲットのマネージドクラスターのベンダーとしてリストされていることを確認します。
oc get managedcluster <CLUSTER NAME> -o yaml
oc get managedcluster <CLUSTER NAME> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow metadata.labels.vendorパラメーターの値をOpenShiftに更新します。
1.26. 検索アグリゲーター Pod のステータスのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
search-aggregator の実行に失敗します。
1.26.1. 現象 1: Not Ready 状態の検索アグリゲーター Pod リンクのコピーリンクがクリップボードにコピーされました!
redisgraph-user-secret が更新される場合、検索アグリゲーター Pod は Not Ready 状態にあります。以下のエラーが返される場合があります。
1.26.2. 問題の解決: Not Ready 状態の検索アグリゲーター Pod リンクのコピーリンクがクリップボードにコピーされました!
この問題が発生した場合は、search-aggregator Pod および search-api Pod を削除して Pod を再起動します。以下のコマンドを実行して前述の Pod を削除します。
oc delete pod -n open-cluster-management <search-aggregator> oc delete pod -n open-cluster-management <search-api>
oc delete pod -n open-cluster-management <search-aggregator>
oc delete pod -n open-cluster-management <search-api>
1.26.3. 現象 2: Pending 状態の検索 redisgraph Pod リンクのコピーリンクがクリップボードにコピーされました!
search-redisgraph Pod は Pending 状態の場合に実行に失敗します。
1.26.4. 問題の解決: Pending 状態の検索 redisgraph Pod リンクのコピーリンクがクリップボードにコピーされました!
この問題が発生した場合は、以下の手順を実行します。
以下のコマンドを実行し、ハブクラスター namespace の Pod イベントを確認します。
oc describe pod search-redisgraph-0
oc describe pod search-redisgraph-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow searchcustomizationCR を作成した場合、ストレージクラスおよびストレージサイズが有効かどうかを確認し、PVC を作成できるかどうかを確認します。以下のコマンドを実行して PVC を一覧表示します。oc get pvc <storageclassname>-search-redisgraph-0
oc get pvc <storageclassname>-search-redisgraph-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow PVC を
search-redisgraph-0Pod にバインドできることを確認します。問題が解決されない場合は、StatefulSetsearch-redisgraphを削除します。検索 Operator は StatefulSet を再作成します。以下のコマンドを実行します。oc delete statefulset -n open-cluster-management search-redisgraph
oc delete statefulset -n open-cluster-management search-redisgraphCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.27. metrics-collector のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターで observability-client-ca-certificate シークレットが更新されないと、内部サーバーのエラーが発生する可能性があります。