Azure Kubernetes Services'da izleme

Tavsiye

Bu içerik, .NET Docs veya çevrimdışı olarak okunabilen ücretsiz indirilebilir bir PDF olarak sağlanan Azure için Bulut Yerel .NET Uygulamaları Tasarlama adlı e-Kitap'tan bir alıntıdır.

Azure eKitap kapak küçük resmi için Buluta Özel .NET uygulamaları.

Kubernetes'teki yerleşik loglama ilkeldir. Ancak, günlükleri Kubernetes'in dışına ve düzgün bir şekilde analiz edilebilecekleri bir yere almak için bazı harika seçenekler vardır. AKS kümelerinizi izlemeniz gerekiyorsa, Kubernetes için Elastic Stack'i yapılandırmak harika bir çözümdür.

Kapsayıcılar için Azure İzleyici

Kapsayıcılar için Azure İzleyici, yalnızca Kubernetes'ten değil, DC/OS, Docker Swarm ve Red Hat OpenShift gibi diğer orkestrasyon motorlarından da günlüklerin tüketilmesini destekler.

Çeşitli kapsayıcılardan günlükleri kullanma Şekil 7-10. Çeşitli kapsayıcılardan günlükleri kullanma

Prometheus popüler bir açık kaynak ölçüm izleme çözümüdür. Cloud Native Compute Foundation'ın bir parçasıdır. Genellikle, Prometheus kullanırken, Prometheus sunucusunun kendi deposuyla yönetilmesi gerekir. Ancak Kapsayıcılar için Azure İzleyici, Prometheus ölçüm uç noktalarıyla doğrudan tümleştirme sağladığı için ayrı bir sunucu gerekmez.

Günlük ve ölçüm bilgileri yalnızca kümede çalışan kapsayıcılardan değil, aynı zamanda küme konaklarından da toplanır. İkisinden gelen günlük bilgilerinin bağıntılı olmasını sağlayarak bir hatayı izlemeyi çok daha kolay hale getirir.

Günlük toplayıcılarının yüklenmesi Windows ve Linux kümelerinde farklılık gösterir. Ancak her iki durumda da günlük koleksiyonu Kubernetes DaemonSet olarak uygulanır; bu da günlük toplayıcının düğümlerin her birinde bir kapsayıcı olarak çalıştırıldığını gösterir.

Azure İzleyici daemon'unu hangi düzenleyicinin veya işletim sisteminin çalıştırdığı fark etmez, günlük bilgileri kullanıcıların aşina olduğu aynı Azure İzleyici araçlarına iletilir. Bu yaklaşım, karma Kubernetes/Azure İşlevleri ortamı gibi farklı günlük kaynaklarını bir araya getiren ortamlarda paralel bir deneyim sağlar.

Bir dizi çalışan kapsayıcının günlük ve ölçüm bilgilerini gösteren örnek pano. Şekil 7-11. Birçok çalışan kapsayıcıdan günlük ve metrik bilgilerini gösteren örnek kontrol paneli.

Log.Finalize()

Kayıt tutma, herhangi bir uygulamayı büyük ölçekte dağıtırken en göz ardı edilen ve yine de en önemli bölümlerden biridir. Uygulamaların boyutu ve karmaşıklığı arttıkça hata ayıklama zorluğu da artar. En kaliteli günlüklerin kullanılabilir olması hata ayıklamayı çok daha kolay hale getirir ve "neredeyse imkansız" alanından "hoş bir deneyime" taşır.