Поделиться через


Не удается полностью удалить кластер AKS Arc с ресурсами PodDisruptionBudget (PDB)

> Область применения: AKS в Azure Local, AKS Edge Essentials

При удалении кластера AKS Arc с ресурсами PodDisruptionBudget (PDB) удаление может завершиться неудачей, и ресурсы PDB могут быть не удалены. По умолчанию PDB устанавливается в кластер AKS Arc, который поддерживает удостоверение рабочей нагрузки.

Смягчение

Эта проблема устранена в AKS в Локальной версии Azure 2503.

  • Чтобы удалить кластер AKS с PodDisruptionBudget: если вы используете старую сборку, обновите до версии Azure Local 2503. После обновления до 2503 можно повторить удаление кластера AKS. Обратитесь в службу поддержки, если вы используете версию 2503, а ваш кластер AKS не был удален хотя бы после одной повторной попытки.
  • Для удаления nodepool с PodDisruptionBudget: по задумке nodepool не удаляется, если PodDisruptionBudget существует, чтобы защитить приложения. Используйте следующее решение, чтобы удалить ресурсы PDB, а затем попробуйте снова удалить пул узлов.

Обходное решение для AKS Edge Essentials и более старых версий AKS в Локальной среде Azure

Перед удалением кластера AKS Arc получите доступ к kubeconfig кластера AKS Arc и удалите все PDB-файлы.

  1. Доступ к кластеру AKS Arc в соответствии с состоянием подключения:

    • Если кластер AKS Arc находится в состоянии подключенного, выполните команду az connectedk8s proxy

      az connectedk8s proxy -n $aks_cluster_name -g $resource_group_name 
      
    • Если кластер AKS Arc находится в отключенном состоянии, выполните команду az aksarc get-credentials с разрешением на выполнение действия Microsoft.HybridContainerService/provisionedClusterInstances/listAdminKubeconfig/action, которое входит в разрешение администратора кластера Azure Kubernetes Service Arc роли. Для получения дополнительной информации см. статью Получение kubeconfig администратора на основе сертификатов в AKS Arc.

      az aksarc get-credentials -n $aks_cluster_name -g $resource_group_name --admin
      
  2. Проверьте PDB:

    kubectl get pdb -A 
    
  3. Удалите все файлы PDB. Следующая команда — это пример удаления PDB, созданного при активации удостоверения рабочей нагрузки.

    kubectl delete pdb azure-wi-webhook-controller-manager -n arc-workload-identity 
    
  1. Удалите кластер AKS Arc:

    az aksarc delete -n $aks_cluster_name -g $resource_group_name
    

Следующие шаги

Известные проблемы в AKS, включенные с помощью Azure Arc