Anthos 오류 코드 참조

Anthos 오류 메시지는 APME1234 형식(1234는 고유 번호)의 오류 ID, 문제에 대한 설명, 권장 해결 방법으로 구성됩니다. 이 문서에서는 각 오류 메시지를 보여줍니다.

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 네임스페이스 아래에 있습니다.
  • 보안 비밀 CLUSTER_NAME-kubeconfig는 네임스페이스 cluster-CLUSTER_NAME 아래에 있습니다.
  • 위에 언급된 객체에 액세스하는 데 필요한 모든 권한이 있습니다.

APME2002 ManagementCenterNotSchedulableError

이 오류는 Anthos 관리 센터가 클러스터 노드에서 실행되도록 예약할 수 없음을 나타냅니다.

이 오류는 일반적으로 관리자 클러스터에 워커 노드가 없는 경우 기본적으로 발생할 수 있으며 보안상의 이유로 클러스터는 제어 영역 노드에서 워크로드를 예약하지 않습니다.

문제 해결 방법

  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 서버에 부정적인 영향을 줄 수 있습니다.

    • 보안: 컨테이너는 강력한 보안 경계가 아닙니다. 악의적인 워크로드가 컨테이너를 벗어나면 클러스터 제어 영역을 제어할 수도 있습니다. 클러스터가 다른 사용자 클러스터를 관리하는 경우 공격자가 관리자 클러스터의 사용자 인증 정보에 액세스하고 사용자 클러스터를 제어할 수도 있습니다.

    • 비용: node-role.kubernetes.io/master:NoSchedule taint가 존재하는 한 Anthos는 제어 영역 노드에 대해 요금을 청구하지 않습니다. taint를 삭제하고 사용자 워크로드가 제어 영역 노드에서 실행되도록 하면 다른 노드와 마찬가지로 요금이 청구됩니다. 자세한 가격 정보는 가격 책정 페이지를 참조하세요.

    모든 제어 영역 노드에서 워크로드가 실행되도록 허용하는 명령어의 예시:

    KUBECONFIG=${ADMIN_KUBECONFIG} kubectl taint nodes --all node-role.kubernetes.io/master:NoSchedule-
    

APME2003 AdminClusterNotUpgradedError

이 오류는 관리 센터를 업그레이드하기 전 관리자 클러스터를 업그레이드해야 함을 나타냅니다.

새로운 Anthos 출시 버전의 관리 센터는 관리 클러스터의 새 버전에서 실행되어야 할 수 있습니다.

업그레이드를 완료하려면 관리 클러스터 구성 파일을 업데이트하고 actl clusters baremetal upgrade admin 명령어를 실행하세요. 자세한 내용은 관리자 클러스터 업그레이드를 참조하세요.

APME3000 AISLoginClientValidationError

Anthos 1.9에서 지원 중단

APME3001 PermissionDeniedError

이 오류는 작업을 수행할 수 있는 권한이 없음을 나타냅니다.

문제를 해결하려면 다음 단계를 따르세요.

  • 할당된 역할을 확인합니다.

    • 방법 1: Anthos 관리 센터 콘솔 사용
      • 관리 센터 콘솔에서 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

이 오류는 제공된 인증 방법의 설정이 실행 전 검사를 통과할 수 없음을 나타냅니다.

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가 아니면 오류 보고서에 나열된 완화 절차를 수행합니다.

다음 단계