Cloud Composer 1 | Cloud Composer 2
このページでは、Cloud Composer 環境の更新中またはアップグレード中に発生する可能性がある問題のトラブルシューティングについて説明します。
環境の作成に関連するトラブルシューティング情報については、環境作成のトラブルシューティングをご覧ください。
Cloud Composer 環境が更新される際、ほとんどの問題は次の理由で発生します。
- サービス アカウントの権限の問題
- PyPI の依存関係に関する問題
- Airflow データベースのサイズ
環境を更新またはアップグレードする権限がありません
権限不足により Cloud Composer で環境を更新またはアップグレードできない場合、次のエラー メッセージが表示されます。
ERROR: (gcloud.composer.environments.update) PERMISSION_DENIED: The caller does not have permission
解決策: アクセス制御での説明に沿って、アカウントと環境のサービス アカウントの両方にロールを割り当てます。
環境のサービス アカウントに十分な権限がありません
Cloud Composer 環境を作成するときに、その環境の GKE クラスタノードを実行するサービス アカウントを指定します。リクエストされたオペレーションを実行するための十分な権限がアカウントにない場合、Cloud Composer はエラーを出力します。
UPDATE operation on this environment failed 3 minutes ago with the
following error message:
Composer Backend timed out. Currently running tasks are [stage:
CP_COMPOSER_AGENT_RUNNING
description: "No agent response published."
response_timestamp {
seconds: 1618203503
nanos: 291000000
}
].
解決策: アクセス制御での説明に沿って、アカウントと環境のサービス アカウントの両方にロールを割り当てます。
Airflow データベースのサイズが大きすぎて操作を実行できません
Airflow データベースのサイズが大きすぎてアップグレード操作を正常に処理できないため、Cloud Composer のアップグレード オペレーションが正常に実行されない場合があります。
Airflow データベースのサイズが 16 GB を超えると、Cloud Composer は次のエラーを出力します。
Airflow database uses more than 16 GB. Please clean the database before upgrading.
解決策: Airflow データベースのメンテナンスの説明に従って、Airflow データベース クリーンアップを実行します。
PyPI パッケージの競合が原因で新しい Cloud Composer バージョンへのアップグレードが失敗する
インストールされたカスタム PyPI パッケージを使用して環境をアップグレードすると、PyPI パッケージの競合に関連するエラーが発生することがあります。これは、新しい Cloud Composer イメージに新しいバージョンのプリインストール済みパッケージが含まれているため、環境にインストールした PyPI パッケージと依存関係の競合が発生するためです。
解決策:
- パッケージの競合に関する詳細情報を取得するには、アップグレード チェックを実行します。
- インストール済みのカスタム PyPI パッケージのバージョン制約を緩和します。たとえば、バージョンを
==1.0.1
ではなく>=1.0.1
として指定します。 - 競合する依存関係を解決するためにバージョン要件を変更する方法について詳しくは、pip のドキュメントをご覧ください。
DNS に接続されていないと、アップグレードや更新中に問題が発生する可能性がある
このような接続の問題により、次のようなログエントリが発生する可能性があります。
WARNING - Compute Engine Metadata server unavailable attempt 1 of 5. Reason: [Errno -3] Temporary failure in name resolution Error
通常は DNS へのルートがないことを意味しているため、cluster.google.internal DNS 名をクラスタ、Pod、サービス ネットワーク内から IP アドレスに解決できるようにします。環境が作成されている VPC 内(ホストまたはサービス プロジェクト)で、限定公開の Google アクセスが有効になっているかどうかを確認してください。
詳細情報: