このページでは、ソフトウェア プロビジョニングで発生する可能性のある一般的な問題のトラブルシューティング方法について説明します。
コントロール プレーンのブートストラップのトラブルシューティング
ブートストラップ コントロール プレーン プロセスのトラブルシューティングを行うには、KIND クラスタ内の次のリソースを確認します。
anthos-cluster-operatorPod を調べます。kubectl logs deployment/anthos-cluster-operator -c operator -n kube-systemAddOnリソースを検査します。kubectl get AddOn -Agpc-addonsコマンドを使用してリソースを表示し、詳細を確認することもできます。AddOnSetリソースを確認します。kubectl get AddOnSet -A組織インフラストラクチャ クラスタの作成後にコントロール プレーンのブートストラップが完了しない場合(リソース ピボット中など)は、
kubeconfigファイルを手動でエクスポートします。kubectl get secret root-admin-kubeconfig -n root -o jsonpath="{.data.value}" | base64 -d > /root/path/to/root-admin-kubeconfig.yaml
クラスタ作成のトラブルシューティング
クラスタ作成プロセスのトラブルシューティングを行うには、次の操作を行います。
次のコマンドを実行して、クラスタの現在のステージを調べ、オブジェクト
Harbor-operatorまたは Harbor が存在するかどうかを確認し、AddOnSetリソースの KIND クラスタからステータスを確認します。kubectl get addonset -n fleet-root root-admin -o yamlこのコマンドを実行したら、
status.currentStageで現在のステージを確認します。組織インフラストラクチャ クラスタから、
harbor-systemNamespace のリソースを確認します。kubectl get harborcluster harbor -n harbor-systemコマンドを使用してHarborClusterオブジェクトをデプロイした場合、インストールが第 2 段階(Harbor ステージ)に移行したことを示します。HarborClusterオブジェクトのstatusフィールドを検査します。kubectl -n harbor-system get harborcluster harborステータスが
healthyを示している場合は、docker pushコマンドを使用して、ウェブポータルから機能を確認します。報告された URL でウェブポータルにアクセスします。例:
https://10.200.0.36:10443。ブートストラップで、コマンド
docker pushを実行します。ステータスが
unhealthyの場合は、次のエントリを実行して、ステータス条件の詳細を確認します。kubectl -n harbor-system get harborcluster harbor -o yamlステータスが
healthyの場合は、Istio のステータスを確認するセクションに移動します。ステータスにhealthyが表示されない場合は、次のセクション(Harbor 名前空間リソースを評価する)に進みます。
Harbor 名前空間リソースを評価する
これらの手順は、harbor-system リソースのステータスが healthy でない場合にのみ実行する必要があります。harbor-system リソースのステータスを確認するには、クラスタ作成のトラブルシューティングをご覧ください。
harbor-systemNamespace のリソースを評価します。kubectl get all -n harbor-system組織インフラストラクチャ クラスタの作成プロセスの第 2 段階でサブチャートとしてビルドされる PostgreSQL オペレータや Redis オペレータなど、Harbor オペレータに関連するリソースのステータスを確認します。次のオペレーターが
Running状態であることを確認します。deployment/harbor-operator-harbor-operator deployment/harbor-operator-postgres-operator deployment/harbor-operator-redisoperatorPostgreSQL、Redis、Harbor コンポーネントのリソースがすべて
healthy状態であることを確認します。一部の Pod がhealthy状態でない場合は、次のコマンドを使用して、失敗した Pod の詳細を確認します。kubectl get pod -o wide kubectl describe pod次のコマンドを使用して、管理オペレーターからログを表示することもできます。
kubectl logs -f deploy/harbor-operator-postgres-operatorPostgreSQL リソースを確認するには、
statefulset/postgresql-harbor-system-harborを表示します。Redis リソースを確認するには、次の情報を表示します。
- Redis インスタンス:
statefulset/rfr-harbor-redis - Redis sentinel:
deployment/rfs-harbor-redis
Harbor のコア コンポーネントは、2 つのコンポーネントの準備が整った場合にのみデプロイされます。
Harbor コア コンポーネント Pod の一部で障害が発生した場合は、障害が発生した Pod のログを確認します。PostgreSQL インスタンスまたは Redis インスタンスとの通信で問題が発生することがあります。
たとえば、Harbor コア コンポーネントが指定された認証情報で PostgreSQL または Redis に接続できない場合、Harbor コア コンポーネントをデプロイする前に認証情報を設定する Harbor Operator に問題がある可能性があります。
- Redis インスタンス:
istio のステータスを確認する
Pod のステータスが istio(istio-system や service/istio-ingressgateway など)であることを確認するには、ポート 10443 が公開されているかどうかを確認します。