이 문서에서는 AKS(Azure Kubernetes Service) 백업, 복원 및 관리 오류를 해결하는 데 도움이 되는 문제 해결 단계를 제공합니다.
AKS Backup 확장 설치 오류 해결
시나리오 1
오류 메시지:
{Helm installation from path [] for release [azure-aks-backup] failed with the following error: err [release azure-aks-backup failed, and has been uninstalled due to atomic being set: failed post-install: timed out waiting for the condition]} occurred while doing the operation: {Installing the extension} on the config"`
원인: 확장이 성공적으로 설치되었지만 Pod에 필요한 컴퓨팅 및 메모리를 사용할 수 없기 때문에 Pod가 생성되지 않습니다.
해결 방법: 문제를 해결하려면 클러스터의 노드 수를 늘려 Pod 생성에 충분한 컴퓨팅 및 메모리를 사용할 수 있도록 합니다. Azure Portal에서 노드 풀의 크기를 조정하려면 다음 단계를 수행합니다.
- Azure Portal에서 AKS 클러스터를 엽니다.
- 설정 아래의 노드 풀로 이동합니다.
- 노드 풀 크기 조정을 선택한 다음, 노드 수 범위에서 최솟값과 최댓값을 업데이트합니다.
- 적용을 선택합니다.
시나리오 2
오류 메시지:
BackupStorageLocation "default" is unavailable: rpc error: code = Unknown desc = azure.BearerAuthorizer#WithAuthorization: Failed to refresh the Token for request to https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/AzureBackupRG_westeurope_1/providers/Microsoft.Storage/storageAccounts/devhayyabackup/listKeys?%24expand=kerb&api-version=2019-06-01: StatusCode=404 -- Original Error: adal: Refresh request failed. Status Code = '404'. Response body: no azure identity found for request clientID 4e95##### REDACTED #####0777`
Endpoint http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&client_id=4e95dcc5-a769-4745-b2d9-
원인: AKS 클러스터에서 Pod 관리 ID를 사용하도록 설정하면 aks-addon-exception이라는 AzurePodIdentityException이 kube-system 네임스페이스에 추가됩니다. AzurePodIdentityException을 사용하면 특정 레이블이 있는 Pod가 Azure IMDS(Instance Metadata Service) 엔드포인트에 액세스할 수 있으며 NMI 서버가 해당 Pod를 가로채지 못합니다.
확장 Pod는 제외되지 않으며 Microsoft Entra Pod ID를 수동으로 사용하도록 설정해야 합니다.
해결 방법: AKS 클러스터에서 pod-identity 예외를 만듭니다(dataprotection-microsoft 네임스페이스 및 kube-system이 아닌 경우에만 작동). 자세히 알아보기.
다음 명령을 실행합니다.
az aks pod-identity exception add --resource-group shracrg --cluster-name shractestcluster --namespace dataprotection-microsoft --pod-labels app.kubernetes.io/name=dataprotection-microsoft-kubernetes
클러스터에서 Azurepodidentityexceptions를 확인하려면 다음 명령을 실행합니다.
kubectl get Azurepodidentityexceptions --all-namespaces
확장 ID에 Storage Blob 데이터 기여자 역할을 할당하려면 다음 명령을 실행합니다.
비고
최신 Terraform 스크립트 버전을 사용하는지 확인합니다. 자세히 알아보기.
az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name aksclustername --resource-group aksclusterresourcegroup --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv) --role 'Storage Blob Data Contributor' --scope /subscriptions/subscriptionid/resourceGroups/storageaccountresourcegroup/providers/Microsoft.Storage/storageAccounts/storageaccountname
시나리오 3
오류 메시지:
{"Message":"Error in the getting the Configurations: error {Post \https://centralus.dp.kubernetesconfiguration.azure.com/subscriptions/ subscriptionid /resourceGroups/ aksclusterresourcegroup /provider/managedclusters/clusters/ aksclustername /configurations/getPendingConfigs?api-version=2021-11-01\: dial tcp: lookup centralus.dp.kubernetesconfiguration.azure.com on 10.63.136.10:53: no such host}","LogType":"ConfigAgentTrace","LogLevel":"Error","Environment":"prod","Role":"ClusterConfigAgent","Location":"centralus","ArmId":"/subscriptions/ subscriptionid /resourceGroups/ aksclusterresourcegroup /providers/Microsoft.ContainerService/managedclusters/ aksclustername ","CorrelationId":"","AgentName":"ConfigAgent","AgentVersion":"1.8.14","AgentTimestamp":"2023/01/19 20:24:16"}`
원인: AKS 클러스터에서 클러스터 확장을 사용하려면 특정 FQDN/애플리케이션 규칙이 필요합니다. 자세히 알아보기.
이 오류는 클러스터 확장 서비스의 구성 정보를 사용할 수 없기 때문에 이러한 FQDN 규칙이 없음으로 인해 나타납니다.
해결 방법: 문제를 해결하려면 DP 엔드포인트가 공용 네트워크를 통과하도록 CoreDNS 사용자 지정 재정의를 만들어야 합니다.
클러스터에서 기존 CoreDNS 사용자 지정 YAML을 가져옵니다(나중에 참조하려면 로컬에 저장).
kubectl get configmap coredns-custom -n kube-system -o yaml
중앙 DP 엔드포인트에 대한 매핑을 공용 IP로 재정의(아래 YAML 사용):
apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom namespace: kube-system data: aksdp.override: | hosts { 20.40.200.153 centralus.dp.kubernetesconfiguration.azure.com fallthrough }
이제 아래 명령을 실행하여 업데이트 yaml 파일을 적용합니다.
kubectl apply -f corednsms.yaml
coredns
Pod를 강제로 로드하려면 다음 명령을 실행합니다.kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
NSlookup
Pod에서 을 수행하여 coreDNS-custom이 작동하는지 확인하려면 다음 명령을 실행합니다.kubectl exec -i -t pod/extension-agent-<pod guid that's there in your cluster> -n kube-system -- nslookup centralus.dp.kubernetesconfiguration.azure.com
ExtensionAgent Pod의 로그를 확인하려면 다음 명령을 실행합니다.
kubectl logs pod/extension-agent-<pod guid that’s there in your cluster> -n kube-system --tail=200
백업을 시작하려면 확장을 삭제하고 다시 설치합니다.
시나리오 4
오류 메시지:
"message": "Error: [ InnerError: [Helm installation failed : Unable to create/update Kubernetes resources for the extension : Recommendation Please check that there are no policies blocking the resource creation/update for the extension : InnerError [release azure-aks-backup failed, and has been uninstalled due to atomic being set: failed pre-install: job failed: BackoffLimitExceeded]]] occurred while doing the operation : [Create] on the config, For general troubleshooting visit: https://aka.ms/k8s-extensions-TSG, For more application specific troubleshooting visit: Facing trouble? Common errors and potential fixes are detailed in the Kubernetes Backup Troubleshooting Guide, available at https://www.aka.ms/aksclusterbackup",
클러스터에서 업그레이드 CRD 사전 설치 작업이 실패합니다.
원인: Pod가 Kube API 서버와 통신할 수 없음
디버그
- Pod 생성 문제와 관련된 클러스터의 이벤트를 확인합니다.
kubectl events -n dataprotection-microsoft
- Pod에서 데이터 보호 CRD를 확인합니다.
kubectl get pods -A | grep "dataprotection-microsoft-kubernetes-agent-upgrade-crds"
- Pod 로그를 확인합니다.
kubectl logs -f --all-containers=true --timestamps=true -n dataprotection-microsoft <pod-name-from-prev-command>
로그 메시지 예제:
2024-08-09T06:21:37.712646207Z Unable to connect to the server: dial tcp: lookup aks-test.hcp.westeurope.azmk8s.io: i/o timeout
2024-10-01T11:26:17.498523756Z Unable to connect to the server: dial tcp 10.146.34.10:443: i/o timeout
해결 방법: 이 경우 Dataprotection-microsoft Pod가 API 서버와 통신하는 것을 허용하지 않는 네트워크/Calico 정책 또는 NSG가 있습니다. dataprotection-microsoft 네임스페이스를 허용한 다음 확장을 다시 설치해야 합니다.
시나리오 5
확장 에이전트가 데이터 평면 엔드포인트와 통신하지 못하여 백업 확장 Pod가 배포되지 않습니다.
오류 메시지: AKS 클러스터의 확장 에이전트가 해당 지역의 Azure Kubernetes Configuration 서비스 데이터 평면 엔드포인트에 연결하지 못하고 있습니다 *.dp.kubernetesconfiguration.azure.com
. 이 실패는 extension-agent
pod의 로그를 검토하여 확인됩니다. 데이터 평면 엔드포인트에 대한 요청에 대해 반복되는 403 오류가 표시될 수 있습니다.
Error code: 403
Message: This traffic is not authorized
이는 일반적으로 확장 에이전트의 트래픽이 차단되거나 Azure 서비스에 도달하는 데 필요한 권한 부여가 없음을 의미합니다. 이 확장 에이전트는 AKS 클러스터에서 백업 확장을 설치하고 실행하는 데 필요합니다.
원인 이 오류는 Azure Arc 지원 Kubernetes와 AKS 관리형 클러스터가 동일한 VNet(가상 네트워크) 또는 프라이빗 DNS 서버를 공유하는 경우 프라이빗 DNS 확인의 충돌로 인해 발생합니다.
공유 VNet(또는 프라이빗 DNS 영역)에는 Azure Arc 지원 Kubernetes에 대한 기존 프라이빗 엔드포인트가 포함되어 있습니다.
결과적으로 AKS 확장 에이전트(예: *.dp.kubernetesconfiguration.azure.com)에서 사용하는 데이터 평면 엔드포인트는 의도한 공용 IP 대신 개인 IP 주소(예: 10.x.x.x.x)로 확인됩니다.
이 잘못된 라우팅으로 인해 AKS 확장 에이전트가 의도하지 않은 프라이빗 엔드포인트로 트래픽을 보내면 403개의 무단 오류가 발생합니다. 다음 명령을 사용하여 AKS 클러스터 내에서 데이터 평면 엔드포인트의 확인된 IP 주소를 확인할 수 있습니다.
kubectl exec -it -n kube-system extension-agent-<podGuid> --nslookup <region>.dp.kubernetesconfiguration.azure.com
특정 Azure 지역(예: eastus, westeurope)으로 대체 region
합니다.
해상도 이 문제를 해결하려면 다음 방법을 고려하세요.
별도의 VNet 사용: Azure Arc 지원 Kubernetes 및 AKS 클러스터를 모두 사용하는 경우 공유 프라이빗 엔드포인트로 인한 DNS 해결 충돌을 방지하기 위해 별도의 가상 네트워크에 배포합니다.
CoreDNS 재정의 구성: 확장 데이터 평면 엔드포인트를 공용 IP 주소로 명시적으로 확인하려면 AKS 클러스터의 CoreDNS 설정을 재정의합니다. 확장에 대한 CoreDNS 재정의를 구성하는 자세한 단계는 설명서의 시나리오 3을 참조하세요.
공용 IP 확인 확인: nslookup 명령을 사용하여 확장 데이터 평면 엔드포인트의 올바른 공용 IP 주소를 식별합니다. 지역을 AKS 클러스터의 지역으로 바꿉니다.
nslookup eastus2euap.dp.kubernetesconfiguration.azure.com
설치 후 백업 확장 관련 오류
이러한 오류 코드는 AKS 클러스터에 설치된 백업 확장의 문제로 인해 나타납니다.
KubernetesBackupListExtensionsError:
원인: 유효성이 검사된 백업 자격 증명 모음. 클러스터에 백업 확장이 설치되어 있는지 확인합니다. 이를 위해 자격 증명 모음 MSI에는 클러스터에 설치된 모든 확장을 나열할 수 있는 AKS 클러스터에 대한 읽기 관리자 권한이 필요합니다.
권장 작업: 할당된 읽기 권한자 역할에 list-extension 권한이 없으므로 읽기 권한자 역할을 자격 증명 모음 MSI에 다시 할당합니다(기존 역할 할당을 제거하고 읽기 권한자 역할을 다시 할당). 다시 할당이 실패하면 다른 백업 자격 증명 모음을 사용하여 백업을 구성합니다.
사용자 오류 Kubernetes 백업 확장 모듈을 찾을 수 없습니다
원인: 유효성이 검사된 백업 자격 증명 모음. 클러스터에 백업 확장이 설치되어 있는지 확인합니다. 자격 증명 모음은 클러스터에 설치된 확장을 나열하는 작업을 수행합니다. 백업 확장이 목록에 없으면 이 오류가 나타납니다.
권장 작업: CL 또는 Azure Portal 클라이언트를 사용하여 확장을 삭제한 다음, 확장을 다시 설치합니다.
사용자 오류: Kubernetes 백업 확장에 오류가 있음
원인: 클러스터에 설치된 백업 확장에 몇 가지 내부 오류가 있습니다.
권장 작업: CL 또는 Azure Portal 클라이언트를 사용하여 확장을 삭제한 다음, 확장을 다시 설치합니다.
사용자 오류 쿠버네티스 백업 확장 아이덴티티를 찾을 수 없음
원인: AKS 백업을 사용하려면 클러스터에 백업 확장이 설치되어 있어야 합니다. 설치와 함께 확장에는 확장 MSI라는 사용자 ID가 생성됩니다. 이 MSI는 AKS 클러스터의 노드 풀을 구성하는 리소스 그룹에서 만들어집니다. 이 MSI는 백업 스토리지 위치에 액세스하기 위해 할당된 필수 역할을 가져옵니다. 오류 코드는 확장 ID가 없음을 나타냅니다.
권장 작업: CLI 또는 Azure Portal 클라이언트를 사용하여 확장을 삭제한 다음 확장을 다시 설치합니다. 확장과 함께 새 ID가 만들어집니다.
쿠버네티스 백업 사용자 정의 리소스 추적 시간 초과 오류
원인: AKS용 Azure Backup을 사용하려면 클러스터에 백업 확장을 설치해야 합니다. 백업 및 복원 작업을 수행하기 위해 클러스터에 사용자 지정 리소스가 만들어집니다. 확장 생성 Pod가 이러한 CR을 통해 백업 관련 작업을 수행합니다. 이 오류는 확장에서 이러한 CR의 상태를 업데이트할 수 없는 경우에 발생합니다.
권장 작업: 명령 kubectl get pods -n dataprotection.microsoft
를 실행하여 확장의 상태를 확인해야 합니다. Pod가 실행 중 상태가 아닌 경우 클러스터의 노드 수를 1로 늘리거나 컴퓨팅 제한을 늘립니다. 그런 다음, 몇 분 동안 기다렸다가 명령을 다시 실행합니다. 그러면 Pod의 상태가 실행 중으로 변경됩니다. 문제가 지속되면 확장을 삭제했다가 다시 설치합니다.
사용자 오류(백업 중 플러그인 포드 재시작)
원인: AKS용 Azure Backup은 AKS 클러스터 내에 배포된 Pod를 네임스페이스 dataprotection-microsoft
아래의 백업 확장의 일부로 사용합니다. 백업 및 복원 작업을 수행하기 위해 이러한 Pod에는 특정 CPU 및 메모리 요구 사항이 있습니다.
1. Memory: requests - 128Mi, limits - 1280Mi
2. CPU: requests - 500m, limits - 1000m
그러나 클러스터의 리소스 수가 1000을 초과하는 경우 Pod에는 기본 예약 이외의 추가 CPU 및 메모리가 필요할 수 있습니다. 필요한 리소스가 할당된 한도를 초과하는 경우 백업 작업 중에 OOMKilled(메모리 부족) 오류로 인해 UserErrorBackupPluginPodRestartedDuringBackup 오류가 발생할 수 있습니다.
권장 작업: 성공적인 백업 및 복원 작업을 보장하려면 다음 단계에 따라 확장 Pod에 대한 리소스 설정을 수동으로 업데이트합니다.
Azure Portal에서 AKS 클러스터를 엽니다.
왼쪽 창의 설정에서 확장 + 애플리케이션으로 이동합니다.
"azure-aks-backup"이라는 확장을 클릭합니다.
아래로 스크롤하여 구성 설정에서 새 값을 추가한 다음 저장을 클릭합니다.
resources.limits.memory : 4400Mi
변경 내용을 적용한 후 예약된 백업이 실행될 때까지 기다리거나 주문형 백업을 시작합니다. 여전히 OOMKilled 오류가 발생하면 위의 단계를 반복하고 메모리 제한을 점진적으로 늘리십시오. 동일한 오류가 지속될 경우 resources.limits.cpu
매개 변수를 증가시키는 것도 고려하십시오.
비고
확장 Pod가 프로비전된 노드에 필요한 CPU 또는 메모리가 없고 리소스 제한만 업데이트한 경우 Pod가 반복적으로 종료될 수 있습니다. 이 문제를 해결하려면 resources.requests.cpu
및 resources.requests.memory
를 사용하여 구성 설정을 업데이트하십시오. 이렇게 하면 요청된 리소스 요구 사항을 충족하는 노드에서 Pod가 예약됩니다.
UserErrorBackupPluginPod재실행오류복구중
원인: AKS용 Azure Backup은 AKS 클러스터 내에 배포된 Pod를 네임스페이스 dataprotection-microsoft
아래의 백업 확장의 일부로 사용합니다. 백업 및 복원 작업을 수행하기 위해 이러한 Pod에는 특정 CPU 및 메모리 요구 사항이 있습니다.
1. Memory: requests - 128Mi, limits - 1280Mi
2. CPU: requests - 500m, limits - 1000m
그러나 클러스터의 리소스 수가 1000을 초과하는 경우 Pod에는 기본 예약 이외의 추가 CPU 및 메모리가 필요할 수 있습니다. 필요한 리소스가 할당된 한도를 초과하는 경우 복원 작업 중에 OOMKilled(메모리 부족) 오류로 인해 UserErrorBackupPluginPodRestartedDuringRestore 오류가 발생할 수 있습니다.
권장 작업: 성공적인 백업 및 복원 작업을 보장하려면 다음 단계에 따라 확장 Pod에 대한 리소스 설정을 수동으로 업데이트합니다.
Azure Portal에서 AKS 클러스터를 엽니다.
왼쪽 창의 설정에서 확장 + 애플리케이션으로 이동합니다.
"azure-aks-backup"이라는 확장을 클릭합니다.
아래로 스크롤하여 구성 설정에서 새 값을 추가한 다음 저장을 클릭합니다.
resources.limits.memory : 4400Mi
변경 내용을 적용한 후 예약된 백업이 실행될 때까지 기다리거나 주문형 백업을 시작합니다. 여전히 OOMKilled 오류가 발생하면 위의 단계를 반복하고 메모리 제한을 점진적으로 늘리십시오. 동일한 오류가 지속될 경우 resources.limits.cpu
매개 변수를 증가시키는 것도 고려하십시오.
비고
확장 Pod가 프로비전된 노드에 필요한 CPU 또는 메모리가 없고 리소스 제한만 업데이트한 경우 Pod가 반복적으로 종료될 수 있습니다. 이 문제를 해결하려면 resources.requests.cpu
및 resources.requests.memory
를 사용하여 구성 설정을 업데이트하십시오. 이렇게 하면 요청된 리소스 요구 사항을 충족하는 노드에서 Pod가 예약됩니다.
백업 플러그인 삭제 백업 작업 실패
원인: 백업을 삭제하려면 백업 확장을 실행해야 합니다.
권장 작업: 클러스터가 실행 중인 경우 확장이 정상 상태로 실행되고 있는지 확인합니다. 확장 Pod가 생성되고 있는지 확인합니다. 그렇지 않으면 노드를 늘입니다. 실패하면 확장을 삭제했다가 다시 설치해 보세요. 백업된 클러스터가 삭제된 경우 스냅샷 및 메타데이터를 수동으로 삭제합니다.
연장 시간이 만료되어 백업 항목 동기화를 기다리는 중입니다.
원인: 백업 확장은 백업 항목이 스토리지 계정과 동기화될 때까지 기다립니다.
권장 작업: 이 오류 코드가 나타나면 백업 작업을 다시 시도하거나 확장을 다시 설치합니다.
백업 스토리지 위치 기반 오류
이러한 오류 코드는 AKS 클러스터에 설치된 백업 확장 관련 문제로 인해 표시됩니다.
사용자 오류: 백업 삭제 실패, 백업 저장 위치가 읽기 전용입니다.
원인: 백업 확장 설치 중에 입력으로 제공된 스토리지 계정은 읽기 전용 상태이므로 Blob 컨테이너에서 백업 데이터를 삭제할 수 없습니다.
권장 작업: 스토리지 계정 상태를 읽기 전용에서 쓰기로 변경합니다.
백업 삭제 오류: 백업 저장 위치를 찾을 수 없음
원인: 확장을 설치하는 동안 백업 스토리지 위치는 스토리지 계정 및 Blob 컨테이너를 포함하는 입력으로 제공됩니다. 확장 설치 중에 위치가 삭제되거나 잘못 추가된 경우 이 오류가 나타납니다.
권장 작업: 백업 확장을 삭제한 다음, 올바른 스토리지 계정 및 Blob 컨테이너를 입력으로 다시 설치합니다.
사용자가 에러를 발생시켰습니다: 백업 실패 - 백업 저장 위치가 읽기 전용입니다.
원인: 백업 확장 설치 중에 입력으로 제공된 스토리지 계정은 읽기 전용 상태이므로 Blob 컨테이너에 백업 데이터를 쓸 수 없습니다.
권장 작업: 스토리지 계정 상태를 읽기 전용에서 쓰기로 변경합니다.
기본 백업 저장소 위치를 찾을 수 없습니다.
원인: 확장을 설치하는 동안 백업 스토리지 위치는 입력으로 제공되며 스토리지 계정 및 Blob 컨테이너를 포함합니다. 확장 설치 중에 위치가 삭제되거나 잘못 입력되면 이 오류가 나타납니다.
권장 작업: 백업 확장을 삭제한 다음, 올바른 스토리지 계정 및 Blob 컨테이너를 입력으로 다시 설치합니다.
UserErrorExtensionMSI백업 스토리지 위치에서 권한 부족
원인: 백업 확장에는 백업 스토리지 위치(스토리지 계정)에 대한 Storage Blob 데이터 기여자 역할이 있어야 합니다. 확장 ID에 이 역할이 할당됩니다.
권장 작업: 이 역할이 누락된 경우 Azure Portal 또는 CLI를 사용하여 스토리지 계정에서 누락된 이 권한을 다시 할당합니다.
사용자 오류: 백업 스토리지 위치 준비되지 않음
원인: 확장을 설치하는 동안 백업 스토리지 위치는 입력으로 제공되며 스토리지 계정 및 Blob 컨테이너를 포함합니다. 백업 확장에는 백업 스토리지 위치(스토리지 계정)에 대한 Storage Blob 데이터 기여자 역할이 있어야 합니다. 확장 ID에 이 역할이 할당됩니다.
권장 작업: 확장 ID에 스토리지 계정에 액세스할 수 있는 권한이 없는 경우 이 오류가 나타납니다. 보호 작업을 구성할 때 AKS 백업 확장이 처음으로 설치된 경우에 이 오류가 나타납니다. 이 오류는 부여된 권한이 AKS 백업 확장으로 전파되는 데 걸리는 시간 동안 발생합니다. 해결 방법으로 1시간을 기다렸다가 보호 구성을 다시 시도합니다. 그렇지 않으면 Azure Portal 또는 CLI를 사용하여 스토리지 계정에 대한 누락된 이 권한을 다시 할당합니다.
사용자 오류: 스냅샷 리소스 그룹에 잠금 상태가 있음
원인: 이 오류 코드는 백업 확장에 대한 입력으로 제공된 스냅샷 리소스 그룹에 삭제 또는 읽기 잠금이 적용된 경우에 나타납니다.
권장 작업: 새 백업 인스턴스를 구성하는 경우 삭제 또는 읽기 잠금 없이 리소스 그룹을 사용합니다. 백업 인스턴스가 이미 구성된 경우 스냅샷 리소스 그룹에서 잠금을 제거합니다.
쿠버네티스 백업 일반 경고
원인: 이 오류 코드는 일반적으로 클러스터 내의 유효성 검사 또는 종속성 문제로 인해 Kubernetes 리소스를 백업하거나 복원할 수 없음을 나타냅니다.
일반적으로 관찰되는 시나리오 중 하나는 웹후크 유효성 검사 문제로 인해 인그레스 리소스를 복원할 때 오류가 발생하는 것입니다. 필수 서비스(예: fabp-ingress-nginx-controller-admission)가 누락되어 웹후크 validate.nginx.ingress.kubernetes.io 제대로 실행되지 않습니다. 유효성 검사 웹후크 구성이 존재하지만 존재하지 않거나 잘못 구성된 서비스를 참조합니다. DNS 확인 문제로 인해 웹후크가 의도한 엔드포인트에 도달하지 못하게 합니다. 클러스터는 복원 전에 백업되거나 다시 만들어지지 않은 사용자 지정 허용 웹후크를 사용합니다. 웹후크 구성은 복원된 클러스터 상태에 사용되지 않거나 불필요합니다.
권장 조치:
다음을 사용하여 누락된 서비스 fabp-ingress-nginx-controller-admission이 있는지 확인합니다.
kubectl get svc -n ingress-basic
서비스가 누락된 경우 배포 구성을 확인하고 필요한 경우 다시 만듭니다.
다음을 실행하여 잠재적인 DNS 확인 문제를 조사합니다.
kubectl get endpoints -n ingress-basic nslookup fabp-ingress-nginx-controller-admission.ingress-basic.svc.cluster.local
웹후크 유효성 검사가 필요하지 않은 경우 다음을 사용하여 제거하는 것이 좋습니다.
kubectl delete validatingwebhookconfiguration
다음을 사용하여 모든 웹후크 구성을 나열합니다.
kubectl get validatingwebhookconfigurations
문제가 해결되면 YAML 백업을 적용하여 네트워크 진입점을 수동으로 복원합니다.
kubectl apply -f
비고
이 경고는 여러 원인에서 발생할 수 있습니다. 위의 단계에서 문제가 해결되지 않으면 Kubernetes 컨트롤러 로그 및 웹후크 구성에서 보다 구체적인 오류 메시지를 참조하세요.
자격 증명 모음 백업 기반 오류
이러한 오류 코드는 AKS 백업을 사용하도록 설정하여 자격 증명 모음 표준 데이터 저장소에 백업을 저장하는 동안 나타날 수 있습니다.
DppUserErrorVaultTierPolicyNotSupported
원인: 이 오류 코드는 이 데이터 저장소가 지원되지 않는 지역에서 백업 자격 증명 모음의 자격 증명 모음 표준 데이터 저장소에 대해 보존 규칙을 정의한 상태로 백업 정책을 만들 때 나타납니다.
권장 작업: Azure Portal에 정의된 자격 증명 모음 표준 기간으로 보존 규칙을 업데이트합니다.
규칙 옆에 있는 편집 아이콘을 선택합니다.
자격 증명 모음 표준 옆에 있는 확인란의 선택을 취소한 다음, 업데이트를 선택합니다.
운영 계층 백업에 대한 백업 정책을 만듭니다(AKS 클러스터에 대한 스냅샷만).
AKS 백업 및 복원 작업이 경고와 함께 완료되었습니다.
사용자가 잘못된 PV 스냅샷 정책에 따라 허용되지 않았습니다
오류 코드: UserErrorPVSnapshotDisallowedByPolicy
원인: CSI 드라이버의 볼륨 스냅샷 생성을 중단하는 구독을 통해 Azure Policy가 할당되었습니다.
권장 작업: 디스크 스냅샷 작업을 중단하는 Azure Policy를 제거한 다음 주문형 백업을 수행합니다.
사용자 오류: PV 스냅샷 제한 도달
오류 코드: UserErrorPVSnapshotLimitReached
원인: 특정 시점에 존재할 수 있는 영구 볼륨의 스냅샷 수가 제한되어 있습니다. Azure 디스크 기반 영구 볼륨의 경우 한도는 스냅샷 500개입니다. 이 오류는 지원되는 한도보다 높은 스냅샷이 존재하여 특정 영구 볼륨에 대한 스냅샷이 생성되지 않을 때 나타납니다.
권장 작업: 백업 정책을 업데이트하여 보존 기간을 줄이고 Backup 자격 증명 모음이 이전 복구 지점을 삭제할 때까지 기다립니다.
CSISnapshotting이 시간 초과되었습니다
오류 코드: CSISnapshottingTimedOut
원인: CSI 드라이버가 스냅샷 핸들을 가져오는 데 시간이 초과되어 스냅샷이 실패했습니다.
권장 작업: 주문형 백업을 실행하여 성공적인 스냅샷을 가져오려면 로그를 검토하고 작업을 다시 시도하거나 다음 예약된 백업을 기다립니다.
사용자 오류 후크 실행 실패
오류 코드: UserErrorHookExecutionFailed
원인: 백업 및 복원과 함께 실행하기 위해 적용된 후크에 오류가 발생하면 성공적으로 적용되지 않습니다.
권장 작업: 로그를 검토하고 후크를 업데이트한 다음 백업/복원 작업을 다시 시도합니다.
사용자 오류: 네임스페이스를 찾을 수 없음
오류 코드: UserErrorNamespaceNotFound
원인: 백업을 수행하는 동안 백업 구성에 제공된 네임스페이스가 누락되었습니다. 네임스페이스가 잘못 제공되었거나 삭제되었습니다.
권장 작업: 백업할 네임스페이스가 올바르게 제공되었는지 확인합니다.
사용자 오류: PVC에 볼륨이 없습니다.
오류 코드: UserErrorPVCHasNoVolume
원인: 컨텍스트의 PVC(영구 볼륨 클레임)에 연결된 영구 볼륨이 없습니다. 따라서 PVC는 백업되지 않습니다.
권장 작업: 백업이 필요한 경우 볼륨을 PVC에 부착하십시오.
사용자 오류: PVC가 볼륨에 연결되지 않음
오류 코드: UserErrorPVCNotBoundToVolume
원인: 컨텍스트의 PVC가 보류 중 상태이고 영구 볼륨이 연결되어 있지 않습니다. 따라서 PVC는 백업되지 않습니다.
권장 작업: 백업이 필요한 경우 볼륨을 PVC에 부착하십시오.
사용자 오류: PV를 찾을 수 없음
오류 코드: UserErrorPVNotFound
원인: 영구 볼륨의 기본 스토리지 매체가 없습니다.
권장 작업: 실제 스토리지 매체가 연결된 새 영구 볼륨을 확인하고 연결합니다.
사용자 오류: PVC에 대한 저장 클래스 누락
오류 코드: UserErrorStorageClassMissingForPVC
원인: AKS 백업은 사용 중인 스토리지 클래스를 확인하고 클래스를 사용할 수 없으므로 영구 볼륨의 스냅샷 생성을 건너뜁니다.
권장 작업: 사용된 스토리지 클래스로 PVC 사양을 업데이트합니다.
소스 및 대상 클러스터 CRD 버전 불일치 사용자 오류
오류 코드: UserErrorSourceandTargetClusterCRDVersionMismatch
원인: 복원 중 원본 AKS 클러스터와 대상 AKS 클러스터에 서로 다른 버전의 FlowSchema 및 PriorityLevelConfigurations CR이 있습니다. 클러스터 버전의 불일치로 인해 일부 Kubernetes 리소스가 복원되지 않습니다.
권장 작업: 대상 클러스터에 대해 원본 클러스터와 동일한 클러스터 버전을 사용하거나 수동으로 CR을 적용합니다.
연결된인증실패
오류 코드: LinkedAuthorizationFailed
원인: 복원 작업을 수행하려면 백업된 AKS 클러스터에 대한 읽기 권한이 있어야 합니다.
권장 작업: 원본 AKS 클러스터에서 판독기 역할을 할당한 다음 복원 작업을 계속합니다.