Aracılığıyla paylaş


Azure Kubernetes Service (AKS) kümesinde uzun süre çalışan bir işlemi sonlandırma

Bazen bir kümedeki düğümlerdeki podlar içinde çalışan dağıtım veya diğer işlemler, çeşitli nedenlerden dolayı beklenenden daha uzun süreler boyunca çalıştırılabilir. Aşağıdaki az rest komutunu kullanarak herhangi bir önizleme API'sini 2024-01-02-preview kullanarak oluşturma, yükseltme ve ölçeklendirme gibi devam eden işlemlerin ilerleme durumu hakkında içgörü elde edebilirsiniz:

export ResourceID="<cluster-resource-id>"
az rest --method get --url "https://management.azure.com$ResourceID/operations/latest?api-version=2024-01-02-preview"

Bu komut, işlemin tamamlanmaya ne kadar yakın olduğunu gösteren bir yüzde sağlar. Kümenizdeki en son 50 işlem için bu içgörüleri almak için bu yöntemi kullanabilirsiniz. "percentComplete" özniteliği, aşağıdaki örnekte gösterildiği gibi devam eden işlemin tamamlanma kapsamını belirtir:

"id": "/subscriptions/<subscription-id>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/contoso/operations/<operation-id>",
  "name": "<operation-id>",
  "percentComplete": 10,
  "startTime": "2024-04-08T18:21:31Z",
  "status": "InProgress"

Ayrıca, kümedeki en son işlemin durumunu gösteren yukarıdakiyle eşdeğer bir cli komutu da vardır.

az aks operation show-latest \
    --resource-group myResourceGroup \
    --name myCluster

Aşağıda örnek bir çıktı verilmiştir:

{
  "endTime": null,
  "error": null,
  "id": "/subscriptions/<subscription-id>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/contoso/operations/<operation-id>",
  "name": "<operation-id>",
  "operations": null,
  "percentComplete": 1.0,
  "resourceGroup": "myResourceGroup",
  "resourceId": null,
  "startTime": "2024-06-12T18:16:21+00:00",
  "status": "InProgress"
}

Yukarıdaki çıktıda bulunan işlem kimliğini kullanarak da bu komutu çalıştırabilirsiniz. Id parametresi kullanılacak işlem kimliğini belirtir. Örneğin:

az aks operation show \
    --resource-group myResourceGroup \
    --name myCluster \
    --operation-id "<operation-id>"

artık gerekli olmadığında işlemlerin düzgün bir şekilde sonlandırılmasını sağlamak önemli olsa da, bir abort komutu kullanarak uzun süre çalışan işlemlere sahip düğüm havuzları ve kümelerin denetimini serbest bırakmanız gereken durumlar vardır.

Uzun süre çalışan işlemleri durdurmak için AKS desteği genel kullanıma sunuldu. Bu özellik, denetimi geri almanıza ve sorunsuz bir şekilde başka bir işlem çalıştırmanıza olanak tanır. Bu tasarım, Azure REST API veya Azure CLI kullanılarak desteklenir.

Durdurma işlemi aşağıdaki senaryoları destekler:

  • Uzun süre çalışan bir işlem takılırsa veya hatalı durumda olduğundan veya başarısız olduğundan şüphelenilirse, Yönetilen Kümede veya aracı havuzunda çalışan son işlem olması koşuluyla işlem durdurulabilir.
  • Uzun süre çalışan bir işlem takılır veya başarısız olursa, bu işlem durdurulabilir.
  • Hata olarak tetiklenen bir işlem, işlem önce terminal durumuna ulaşmadığı sürece durdurulabilir.

Başlamadan önce

  • Azure CLI sürüm 2.47.0 veya üzeri. Sürümü bulmak için komutunu az --version çalıştırın ve sürümü yükseltmek için komutunu çalıştırın az upgrade . Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Uzun süre çalışan bir işlemi durdurma

Az aks nodepool komutunu bağımsız değişkeniyle kullanarak operation-abort düğüm havuzu veya yönetilen küme üzerindeki bir işlemi durdurabilirsiniz.

Aşağıdaki örnek, belirtilen kümedeki düğüm havuzundaki bir işlemi sonlandırır.

az aks nodepool operation-abort \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myNodePool 

Aşağıdaki örnek, belirtilen kümedeki bir işlemi sonlandırır.

az aks operation-abort \
    --name myAKSCluster \
    --resource-group myResourceGroup

Yanıtta 204 http durum kodu döndürülür.

Yönetilen küme veya aracı havuzundaki sağlama durumu İptal edilmelidir. İşlemi doğrulamak için REST API Yönetilen Kümeleri Alma veya Aracı Havuzlarını Alma'yı kullanın. Sağlama durumu, iptal isteğinin kabul edilmesinden sonra birkaç saniye içinde İptal Edildi olarak güncelleştirilmelidir. Yönetilen kümede/aracı havuzunda, Yönetilen Küme veya aracı havuzuna yönelik bir GET işlemi gerçekleştirilerek alınabilen son çalışan işlem kimliğinin işlem durumu İptal Edildi durumunu göstermelidir.

Bir işlemi sonlandırdığınızda, önceki duruma geri dönmez ve işlemin devam eden adımında durur. Tamamlandıktan sonra küme sağlama durumu İptal edildi durumunu gösterir. İşlem bir küme yükseltmesiyse, iptal işlemi sırasında olduğu yerde durur.

Sonraki adımlar

Kubernetes kümenizin ve kapsayıcı iş yüklerinizin performansını ve durumunu izlemenize nasıl yardımcı olduğunu anlamak için Kapsayıcı içgörüleri hakkında daha fazla bilgi edinin.