Azure Kubernetes Service'te (AKS) sorun giderme için Kubernetes olaylarını kullanma

Bu makalede, Azure Kubernetes Service (AKS) kümelerinizdeki sorunları izlemek ve gidermek için Kubernetes olaylarının nasıl kullanılacağı gösterilmektedir.

Kubernetes olayları nedir?

Olaylar, Kubernetes'teki izleme ve sorunları gidermeye yönelik en önemli kaynaklardan biridir. Podlar, düğümler, hizmetler ve dağıtımlar gibi çeşitli Kubernetes nesnelerinin yaşam döngüsüyle ilgili bilgileri yakalar ve kaydeder. Olayları izleyerek kümenizin etkinliklerine görünürlük sağlayabilir, sorunları tanımlayabilir ve sorunları etkili bir şekilde giderebilirsiniz.

Bekletme mekanizması olmadığından Kubernetes olayları küme yaşam döngünüz boyunca kalıcı olmaz. Olaylar, olay oluşturulduktan sonra yalnızca bir saat boyunca kullanılabilir. Olayları daha uzun bir süre boyunca depolamak için Kapsayıcı içgörülerini etkinleştirin.

Kubernetes olay nesneleri

Aşağıdaki tabloda bazı önemli Kubernetes olay nesneleri listeleniyor:

Alan adı Açıklama
type Türü, olayın önem derecesini temel alır:
Uyarı olayları, podun sürekli olarak başarısız olduğu veya kaynakların yetersiz olduğu bir düğüm gibi olası sorunlu durumlara işaret eder. Bunlar dikkat gerektirir, ancak anında hataya neden olmayabilir.
Normal olaylar, bir podun zamanlanması veya bir dağıtımın ölçeklendirilmesi gibi rutin işlemleri temsil eder. Bunlar genellikle iyi durumdaki küme davranışını gösterir.
sebep Olayın oluşturulma nedeni. Örneğin FailedScheduling veya CrashLoopBackoff.
message Olayı açıklayan, okunabilir bir ileti.
namespace Olayın ilişkili olduğu Kubernetes nesnesinin ad alanı.
firstSeen Olayın ilk gözlemlendiği zaman damgası.
lastSeen Olayın en son ne zaman gözlemlendiğine ilişkin zaman damgası.
raporlamaKontrolcüsü Olayı bildiren denetleyicinin adı. Örneğin, kubernetes.io/kubelet.
object Olayın ilişkili olduğu Kubernetes nesnesinin adı.

Daha fazla bilgi için resmi Kubernetes belgelerine bakın.

Kubernetes olaylarını görüntüleme

komutunu kullanarak kümenizdeki tüm olayları listeleyin kubectl get events .

Kümenizin zaten oluşturulduğunu ve kullanılabilir olduğunu varsayarak (belge önkoşullarına göre) kimlik bilgilerini alın (kubeconfig hatalarından kaçınmak için bayrağının --overwrite-existing ayarlandığını unutmayın):

az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_CLUSTER --overwrite-existing

Şimdi kümenizdeki tüm olayları listeleyin:

kubectl get events

Sonuçlar:

LAST SEEN   TYPE      REASON              OBJECT                      MESSAGE
xxm         Normal    Scheduled           pod/my-pod-xxxxx            Successfully assigned default/my-pod-xxxxx to aks-nodepoolxx-xxxxxxx-vmss000000
xxm         Normal    Pulled              pod/my-pod-xxxxx            Container image "nginx" already present on machine
xxm         Normal    Created             pod/my-pod-xxxxx            Created container nginx
xxm         Normal    Started             pod/my-pod-xxxxx            Started container nginx
...

Önce podun adını bulup ardından kubectl describe pod komutunu kullanarak belirli bir podun olaylarına bakın.

Geçerli ad alanındaki podları listele:

kubectl get pods

Sonuçlar:

NAME                             READY   STATUS    RESTARTS   AGE
my-pod-xxxxx                     1/1     Running   0          xxm
nginx-deployment-xxxxx           1/1     Running   0          xxm
...

<pod-name> ile, aşağıdaki öğeyi gerçek pod adınızla değiştirin. Otomasyon için listedeki ilk pod için bir örnek aşağıda verilmişti:

POD_NAME=$(kubectl get pods -o jsonpath="{.items[0].metadata.name}")
kubectl describe pod $POD_NAME

Olaylarla ilgili sorunları gidermeye yönelik en iyi yöntemler

İlgi için olayları filtreleme

AKS kümenizde çalışan çeşitli ad alanlarınız ve hizmetleriniz olabilir. Olayları nesne türüne, ad alanına veya nedene göre filtrelemek, sonuçları en uygun bilgilerle daraltmaya yardımcı olabilir.

Örneğin, varsayılan ad alanı içindeki olayları filtrelemek için aşağıdaki komutu kullanabilirsiniz:

kubectl get events --namespace default

Olay bildirimlerini otomatikleştirme

AKS kümenizdeki kritik olaylara zamanında yanıt vermek için otomatik bildirimler ayarlayın. Azure, Azure İzleyici gibi izleme ve uyarı hizmetleriyle tümleştirme sunar. Uyarıları belirli olay desenlerine göre tetikleme için yapılandırabilirsiniz. Bu şekilde, dikkat gerektiren önemli sorunlar hakkında hemen bilgilendirilirsiniz.

Olayları düzenli olarak gözden geçirme

AKS kümenizdeki olayları düzenli olarak gözden geçirmeyi alışkanlık haline getirin. Bu proaktif yaklaşım eğilimleri belirlemenize, olası sorunları erken yakalamanıza ve yükseltmeleri önlemenize yardımcı olabilir. Olaylardan haberdar olarak, uygulamalarınızın kararlılığını ve performansını koruyabilirsiniz.

Sonraki Adımlar

Kubernetes olaylarını anladığınıza göre , Kapsayıcı içgörülerini etkinleştirerek izleme ve gözlemlenebilirlik yolculuğunuza devam edebilirsiniz.