Anthos エラーコード リファレンス

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 をクラスタのノードで実行するようにスケジュール設定できないことを示しています。

このエラーは通常、管理クラスタにワーカーノードがなく、デフォルトではクラスタがセキュリティ上の理由からコントロール プレーン ノードでワークロードをスケジュール設定しない場合に発生する可能性があります。

問題を解決するには:

  1. (推奨) 管理クラスタにワーカー 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>
    
  2. コントロール プレーン ノードからコントロール プレーン 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] タブに移動して、割り当てられているロールを表示します。
    • 方法 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]
    
  • 事前設定された認可ロールで使用可能な権限を確認するには、事前設定された認可ロールと権限をご覧ください。

  • 権限の低いロールが割り当てられ、特定の操作を行うために権限の高いロールが必要である場合、またはロールが誤って割り当てられた場合は、アクセス権を付与できるかどうかを確認するよう管理者に依頼してください。

  • ロールに事前に設定された認可ロールと権限に基づいて操作を行うのに十分な権限が付与されており、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"}'

statusTrue の場合、オブザーバビリティ スタックは引き続き機能します。エラーレポートに記載されている緩和策の手順はオプションです。ステータスが True でない場合は、エラーレポートに記載されている緩和策を実施します。

次のステップ