このページでは、ソフトウェア プロビジョニングで発生する可能性のある一般的な問題のトラブルシューティング方法について説明します。
コントロール プレーンのブートストラップのトラブルシューティング
ブートストラップ コントロール プレーン プロセスのトラブルシューティングを行うには、KIND クラスタ内の次のリソースを確認します。
anthos-cluster-operator
Pod を調べます。kubectl logs deployment/anthos-cluster-operator -c operator -n kube-system
AddOn
リソースを検査します。kubectl get AddOn -A
gpc-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-system
Namespace のリソースを確認します。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-system
Namespace のリソースを評価します。kubectl get all -n harbor-system
組織インフラストラクチャ クラスタの作成プロセスの第 2 段階でサブチャートとしてビルドされる PostgreSQL オペレータや Redis オペレータなど、Harbor オペレータに関連するリソースのステータスを確認します。次のオペレーターが
Running
状態であることを確認します。deployment/harbor-operator-harbor-operator deployment/harbor-operator-postgres-operator deployment/harbor-operator-redisoperator
PostgreSQL、Redis、Harbor コンポーネントのリソースがすべて
healthy
状態であることを確認します。一部の Pod がhealthy
状態でない場合は、次のコマンドを使用して、失敗した Pod の詳細を確認します。kubectl get pod -o wide kubectl describe pod
次のコマンドを使用して、管理オペレーターからログを表示することもできます。
kubectl logs -f deploy/harbor-operator-postgres-operator
PostgreSQL リソースを確認するには、
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 が公開されているかどうかを確認します。