Anthos のエラー メッセージは、APME1234
という形式のエラー ID で構成されます。1234
は一意の番号で、その後に問題の説明と修正方法の提案が表示されます。このドキュメントには、これらの各エラー メッセージの一覧を掲載しています。
APME1000 ImageAccessError
このエラーは、エラーの原因となったコンポーネントが、指定されたレジストリで必要なイメージを取得できないことを示します。
次の点をご確認ください。
- 必要なイメージが Container Registry に存在する。
- エラーの発生元からレジストリにアクセス可能である。
- ワークステーションに、レジストリから READ および PULL する権限がある。
- ワークステーションには
${HOME}/.docker/config.json
というファイルがあり、レジストリにアクセスするように正しく構成されている。
APME1001 InvalidRegistryInputError
--private-registry
フラグの値は hostname[:port]/repository/location
の形式に準拠する必要があります。先頭にスキーム(https://
など)を配置することはできません。ホスト名を localhost
または 127.0.0.1
にすることはできません。この値は、Kubernetes がイメージを取得するために使用します。
フラグ値の例:
fictional.registry.example/repository/location
fictional.registry.example:10443/repository/location
10.200.0.2/library
APME2000 KubeContextNotFoundError
このエラーは、指定した kubecontext が見つからないことを示します。
以下のことを確認してください。
KUBECONFIG
ファイルが存在している。KUBECONFIG
環境変数が指定されていない場合は$HOME/.kube/config
ファイルが存在する。- コンテキストは
KUBECONFIG
ファイル内に存在する。
APME2001 UserClusterKubeconfigError
このエラーは、ユーザー クラスタの kubeconfig が見つからないことを示しています。
以下のことを確認してください。
- 管理クラスタに名前空間
cluster-CLUSTER_NAME
が存在する。 - クラスタ オブジェクトは名前空間
cluster-CLUSTER_NAME
の下に存在する。 - Secret
CLUSTER_NAME-kubeconfig
は名前空間cluster-CLUSTER_NAME
の下に存在する。 - 前述のオブジェクトへのアクセスに必要なすべての権限を付与されている。
APME2002 ManagementCenterNotSchedulableError
このエラーは、Anthos Management Center をクラスタのノードで実行するようにスケジュール設定できないことを示しています。
このエラーは通常、管理クラスタにワーカーノードがなく、デフォルトではクラスタがセキュリティ上の理由からコントロール プレーン ノードでワークロードをスケジュール設定しない場合に発生する可能性があります。
問題を解決するには:
(推奨) 管理クラスタにワーカー NodePool を追加します。
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl apply -f <path/to/example-nodepool.yaml>
YAML の例:
apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-admin spec: clusterName: admin nodes: - address: <IP address of the worker node machine. e.g. 10.200.0.4>
コントロール プレーン ノードからコントロール プレーン taint を削除します。これにより、コントロール プレーン ノードでシステム以外のワークロードを実行できるようになります。
注: このソリューションについて、次のデメリットを考慮してください。
コントロール プレーンの可用性: 追加のワークロードを実行すると、コントロール プレーン ノードのエントロピーが増加します。マシンですでにリソースの制約がある、誤って構成されている、ワークロードが予期しない動作をしている場合は、Kubernetes API サーバーに悪影響を及ぼす可能性があります。
セキュリティ: コンテナは強力なセキュリティ境界ではありません。悪意のあるワークロードがコンテナの外部に移動した場合に、クラスタ コントロール プレーンの制御権を獲得する可能性があります。クラスタが他のユーザー クラスタを管理している場合は、攻撃者が管理クラスタ内の認証情報にアクセスし、ユーザー クラスタの制御権も獲得する可能性があります。
費用: Anthos では、
node-role.kubernetes.io/master:NoSchedule
taint が存在する限り、コントロール プレーン ノードには課金されません。taint を削除し、ユーザー ワークロードをコントロール プレーン ノードで実行できるようにすると、他のノードと同様に課金されます。詳しい料金情報については、料金ページをご覧ください。
すべてのコントロール プレーン ノードでワークロードを実行できるようにするコマンドの例を次に示します。
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl taint nodes --all node-role.kubernetes.io/master:NoSchedule-
APME2003 AdminClusterNotUpgradedError
このエラーは、Management Center をアップグレードする前に、管理クラスタをアップグレードする必要があることを示します。
新しい Anthos リリースの Management Center は、新しいバージョンの管理クラスタで実行することが必要な場合があります。
管理クラスタの構成ファイルを更新し、actl clusters baremetal upgrade
admin
コマンドを実行してアップグレードを完了します。詳しい手順については、管理クラスタのアップグレードをご覧ください。
APME3000 AISLoginClientValidationError
Anthos 1.9 で非推奨になった
APME3001 PermissionDeniedError
このエラーは、アクションを実行するにあたり権限が不足していることを示しています。
次の手順でさらにトラブルシューティングを行います。
割り当てられているロールを特定します。
- 方法 1: Anthos Management Center コンソールを使用する
- Management Center コンソールで [
Identity and Access
] タブを開きます。 Identity and Access
画面の [Access
] タブに移動して、割り当てられているロールを表示します。
- Management Center コンソールで [
- 方法 2: kubectl コマンドを使用する
kubectl get rolebinding,clusterrolebinding --all-namespaces -o jsonpath='{range .items[?(@.subjects[0].name=="{your account}")]}[{.roleRef.kind},{.roleRef.name}]{end}' Example: kubectl get rolebinding,clusterrolebinding --all-namespaces -o jsonpath='{range .items[?(@.subjects[0].name=="foo@bar.com")]}[{.roleRef.kind},{.roleRef.name}]{end}' [ClusterRole,anthos-platform-admin-read-only]
- 方法 1: Anthos Management Center コンソールを使用する
事前設定された認可ロールで使用可能な権限を確認するには、事前設定された認可ロールと権限をご覧ください。
権限の低いロールが割り当てられ、特定の操作を行うために権限の高いロールが必要である場合、またはロールが誤って割り当てられた場合は、アクセス権を付与できるかどうかを確認するよう管理者に依頼してください。
ロールに事前に設定された認可ロールと権限に基づいて操作を行うのに十分な権限が付与されており、
APME3001-PermissionDeniedError
が正しく表示されない場合は、anthos-private-mode-feedback@google.com
でバグを報告してください。
APME3002 AuthMethodPreflightCheckError
このエラーは、指定された auth メソッド設定がプリフライト チェックをパスできないことを示しています。
OIDC 設定を指定した場合は、次のことを行います。
- OIDC プロバイダの URL が正しいかどうかを再度確認します。
- OpenID 構成検出ページ
https://<your OIDC provider URL>/.well-known/openid-configuration
がアクセス可能であり、有効な構成を含むことを確認します。 - OIDC プロバイダが自己署名 SSL 証明書を使用する場合は、OIDC プロバイダの証明書フィールドに入力するようにしてください。
APME3003 UserCredentialNotFoundError
このエラーは、リクエストされた操作をユーザー認証情報を使用せずに行えないことを示しています。
リクエストを行うには、認証を有効にするか、管理者に認証の有効化を依頼してください。OIDC 認証を設定するには、OIDC による認証をご覧ください。
APME4001 ObservabilityOperatorUpgradeError
このエラーは、Anthos のアップグレードの一環で、オブザーバビリティ コンポーネントのアップグレード中にエラーが発生したことを示しています。このエラーの報告があっても、アップグレードされたオブザーバビリティ スタックが機能している可能性があります。
アップグレードされたオブザーバビリティ スタックが機能しているかどうかを確認するには、anthos-management-center
名前空間の Observability
型の default
オブジェクトで Installed
条件の status
を確認します。
kubectl get -n anthos-management-center observability default -o jsonpath='
{.status.conditions[?(@..type=="Installed")].status}{"\n"}'
status
が True
の場合、オブザーバビリティ スタックは引き続き機能します。エラーレポートに記載されている緩和策の手順はオプションです。ステータスが True
でない場合は、エラーレポートに記載されている緩和策を実施します。