Aracılığıyla paylaş


İş yükü dağıtımlarını izleme

Bu makale, bir serinin bir parçasıdır. Genel bakış ile başlayın.

En iyi şekilde çalıştığından emin olmak için Kubernetes iş yüklerinizin sistem durumunu ve performansını izlemek önemlidir. Azure Kubernetes Service (AKS), dağıtımlarınızın, DaemonSet özelliklerinizin ve hizmetlerinizin sistem durumunu ve performansını denetlemek için kullanabileceğiniz çeşitli araçlara sahiptir.

Araçlar

Tüm dağıtımların ve DaemonSet özelliklerin çalışıp çalışmadığını belirlemek önemlidir. Bu makalede, kullanarak hazır ve kullanılabilir durumlardaki çoğaltmaların beklenen çoğaltma sayısıyla eşleşip eşleşmediğinin nasıl belirleneceği açıklanır:

  • Azure portal.
  • Azure İzleyici'nin kapsayıcı içgörüleri özelliği.
  • kubectl komut satırı aracı.
  • Prometheus ve Grafana.

Azure portal

İş yüklerinizdeki aşağıdaki bileşenlerin durumunu doğrulamak için Azure portalını kullanabilirsiniz. Daha fazla bilgi için bkz . Azure portalından Kubernetes kaynaklarına erişme.

Dağıtım, ReplicaSet, StatefulSetve DaemonSet

Hazır durumdaki çoğaltma sayısının istenen çoğaltma sayısıyla eşleşdiğini doğrulayın. Portal şunları gösterir:

  • Şu anda kullanılabilir ve trafiğe hizmet etmeye hazır çoğaltmaların sayısı. Bu çoğaltmalar çalışan düğümlerine başarıyla zamanlanmış, başlangıç işlemlerini tamamlamış ve hazırlık denetimlerini geçmiştir.

  • Dağıtım için belirtilen istenen çoğaltma sayısı veya dağıtımın sürdürmeyi hedeflediği çoğaltma sayısı. Kubernetes dağıtım denetleyicisi dağıtımın durumunu sürekli izler ve gerçek çoğaltma sayısının istenen sayıyla eşleşmesini sağlar.

Hizmetler ve girişler

Tüm hizmetler ve girişler için durumun uygun olduğundan emin olun.

Depolama

Durumun tüm kalıcı birim talepleri ve kalıcı birimler için bağlı olduğundan emin olun.

Kapsayıcı içgörüleri

Kapsayıcı içgörüleri, AKS'ye dağıtılan veya Azure Arc özellikli Kubernetes tarafından yönetilen kapsayıcı iş yükleri için izleme özellikleri sağlayan bir İzleyici özelliğidir. Bu özellik, denetleyicilerden, düğümlerden ve kapsayıcılardan bellek ve işlemci ölçümleri gibi performans ve sistem durumu bilgilerini toplar. Ayrıca analiz için kapsayıcı günlüklerini yakalar.

Toplanan verileri analiz etmek için çeşitli görünümler ve önceden oluşturulmuş çalışma kitapları kullanabilirsiniz. Kümenizdeki çeşitli bileşenlerin performansını ve davranışını inceleyin. Kapsayıcı içgörüleriyle, kapsayıcı iş yüklerinizin genel durumu hakkında içgörüler elde edebilir, böylece performanslarını iyileştirmek ve sorunları gidermek için bilinçli kararlar alabilirsiniz.

Kapsayıcı içgörülerini kullanarak:

  • Her düğümde çalışan kapsayıcıları ve bunların işlemcisi ile bellek kullanımını belirleyerek kaynak performans sorunlarını belirleyin.

  • Kapsayıcı örneklerinde barındırılan kapsayıcı gruplarının ve kapsayıcılarının işlemcisini ve bellek kullanımını belirleyin.

  • Kapsayıcının bir denetleyicide veya podda nerede olduğunu belirleyerek denetleyicinin veya podunun genel performansını görüntüleyin.

  • Konakta çalışan ve pod'u destekleyen standart işlemlerle ilgisi olmayan iş yüklerinin kaynak kullanımını gözden geçirin.

  • Kapasite gereksinimlerini belirleyebilmeniz ve kümenin dayanabileceği maksimum yükü belirleyebilmeniz için bir kümenin ortalama ve ağır yükler altındaki davranışını anlayın.

  • Sorunları gerçek zamanlı olarak giderebilmeniz için kapsayıcı altyapısının oluşturduğu canlı kapsayıcı günlüklerine ve ölçümlerine erişin.

  • Düğümlerde veya kapsayıcılarda CPU ve bellek kullanımı eşiklerinizi aştığında veya altyapı veya düğümlerin sistem durumu toplamasında kümede bir sistem durumu değişikliği gerçekleştiğinde sizi proaktif olarak bilgilendirecek veya kaydedecek uyarılar yapılandırın.

Azure portalında kapsayıcı içgörüleri, AKS kümesinin sistem durumunu ve performansını izlemeye ve analiz etmeye yardımcı olan çeşitli araçlar sağlar.

  • Küme: Bu özellik, CPU ve bellek kullanımı, pod ve düğüm sayıları ve ağ trafiği gibi önemli ölçümler de dahil olmak üzere AKS kümenize genel bir bakış sağlar. Kümenin genel sistem durumu ve kaynak kullanımı hakkında içgörüler elde edebilirsiniz.

  • Raporlar: Bu özellik, kaynak kullanımı, pod durumu ve kapsayıcı içgörüleri gibi kümenizin performansının çeşitli yönlerini görselleştirmek ve analiz etmek için kullanabileceğiniz önceden oluşturulmuş raporlar sağlar. Bu veriler, kapsayıcılarınızın ve iş yüklerinizin davranışını ve performansını anlamanıza yardımcı olur.

  • Düğümler: Bu özellik, kümenizdeki düğümler hakkında ayrıntılı bilgi sağlar. CPU ve bellek kullanımı, disk ve ağ G/Ç'sine yönelik ölçümleri ve her düğümün koşulunu ve durumunu gösterir. Bu verileri tek tek düğüm performansını izlemek, olası performans sorunlarını belirlemek ve verimli kaynak ayırma sağlamak için kullanabilirsiniz.

  • Denetleyiciler: Bu özellik AKS kümenizdeki Kubernetes denetleyicilerine görünürlük sağlar. Denetleyici örneklerinin sayısı, geçerli durum ve denetleyici işlemlerinin durumu gibi bilgileri gösterir. İş yükü dağıtımlarını, hizmetlerini ve diğer kaynakları yöneten denetleyicilerin sistem durumunu ve performansını izleyebilirsiniz.

  • Kapsayıcılar: Bu özellik AKS kümenizde çalışan kapsayıcılarla ilgili içgörüler sağlar. Kaynak kullanımı, yeniden başlatmalar ve her kapsayıcının yaşam döngüsü olaylarıyla ilgili bilgiler sağlar. İş yüklerinizdeki kapsayıcıları izlemenize ve sorunlarını gidermenize yardımcı olması için bu verileri kullanabilirsiniz.

  • Canlı günlükler: Canlı günlükler özelliği, kapsayıcı günlüklerini gerçek zamanlı olarak görüntüleyebilmeniz için çalışan kapsayıcılardan günlük olaylarının canlı akışını sağlar. Uygulamaları etkili bir şekilde izlemek ve gidermek ve kapsayıcılarınızdaki sorunları hızla belirlemek ve çözmek için bu verileri kullanabilirsiniz.

Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:

Komut satırı aracı

İş yüklerinizin durumunu denetlemek için kubectl komut satırı aracını kullanarak Kubernetes API'sini kullanarak kubernetes kümesinin denetim düzlemiyle iletişim kurabilirsiniz.

Podlar

Tüm ad alanları içinde çalışan podları listelemek için aşağıdaki komutu çalıştırın:

kubectl get pod -A

Komutun çıkışında READY sütunu pod kapsayıcılarının hazır olma durumu hakkında önemli bilgiler sağlar.

İlk sayı, şu anda hazır durumda olan kapsayıcıların sayısını belirtir. Bu kapsayıcılar hazır olma yoklamalarını geçti ve gelen trafiği işlemeye hazır. İkinci sayı, hazır olma durumuna bakılmaksızın pod içinde tanımlanan kapsayıcıların toplam sayısını temsil eder. Hazır olan ve hala başlatılmakta olan veya sorun yaşayan kapsayıcıları içerir.

İlk sayinin (hazır kapsayıcılar) pod için ikinci sayıyla (toplam kapsayıcılar) eşleştiğinden emin olun. Bunlar farklıysa, bazı kapsayıcılar hazır olmayabilir veya hazır duruma ulaşmalarını engelleyen sorunlar olabilir.

Dağıtım, StatefulSet, DaemonSetve StatefulSet

Tüm ad alanları içindeki dağıtımları almak için aşağıdaki komutu çalıştırın:

kubectl get deploy -A

Komutun çıkışında kubectl get deploy READY sütunundaki sayılar, dağıtımdaki çoğaltmaların geçerli hazır olma durumunu gösterir.

İlk sayı, trafiğe hizmet vermek için hazır ve kullanılabilir çoğaltma sayısını temsil eder. Bu çoğaltmalar başarıyla başlatıldı ve hazırlık denetimlerini geçti. İkinci sayı, dağıtım yapılandırmasında belirtilen istenen çoğaltma sayısını temsil eder. Bu, dağıtımın sürdürmeyi hedeflediği çoğaltma sayısıdır.

İlk sayinin ikinci sayıyla eşleştiğinden emin olmak önemlidir. İstenen çoğaltma sayısının çalıştığını ve hazır olduğunu gösterir. İki sayı arasındaki herhangi bir tutarsızlık, çözmeniz gereken ölçeklendirme veya hazırlık sorunlarını gösterebilir.

Tüm ad alanlarına StatefulSet özelliklerini almak için aşağıdaki komutu çalıştırın:

kubectl get statefulset -A

Tüm ad alanlarına DaemonSet özelliklerini almak için aşağıdaki komutu çalıştırın:

kubectl get ds -A

komutunu çalıştırarak kubectl get ds beklendiği DaemonSet gibi çalıştığını doğrulayabilirsiniz. Örneğin, kapsayıcı içgörüleri aracısının başarıyla dağıtıldığını doğrulamak için aşağıdaki komutu çalıştırabilirsiniz:

kubectl get ds ama-logs --namespace=kube-system

Benzer şekilde, AKS kümenizi Yönetilen Prometheus için İzleyici'de Prometheus ölçümlerini toplayacak şekilde yapılandırıyorsanız, aşağıdaki komutu çalıştırarak linux düğüm havuzlarına düzgün dağıtıldığını DaemonSet doğrulayabilirsiniz:

kubectl get ds ama-metrics-node --namespace=kube-system

Bu çıkış, kümenizdeki özellikler hakkında DaemonSet bilgi sağlar. Hazır, geçerli ve istenen durumlardaki pod sayısının aynı olduğundan emin olmak için çıkışı inceleyin. Bunlar aynıysa, yapılandırmada belirtilen istenen pod sayısı, çalışmakta DaemonSet olan ve hazır olan pod sayısına eşittir.

ReplicaSet özellikleri için aynı denetimi gerçekleştirmenizi öneririz. Tüm ad alanları içindeki özellikleri almak ReplicaSet için aşağıdaki komutu kullanabilirsiniz:

kubectl get rs -A

Hedeflenen pod veya çoğaltma sayısının beklendiği gibi çalışması için bu çıktıdaki sayıların her durum için aynı olduğundan emin olun. Tutarsızlıklar, aşağıdaki komutlardan birini kullanarak daha fazla araştırma veya sorun giderme gereksinimi olduğunu gösterebilir.

kubectl describe: Kubernetes kaynakları hakkında podlar, dağıtımlar ve hizmetler gibi ayrıntılı bilgi almak için kubectl describe komutunu kullanabilirsiniz. Belirtilen kaynağın geçerli durumu, olayları, koşulları ve ilgili meta verileri dahil olmak üzere kapsamlı bir genel bakış elde edebilirsiniz. Bilgiler Kubernetes API sunucusundan alınır. Bu komut, bir kaynağın durumunu anlamak ve sorun gidermek için kullanışlıdır.

Belirli bir pod hakkında geçerli durumu, olayları, etiketleri ve onunla ilişkilendirilmiş kapsayıcılar gibi ayrıntılı bilgileri almak için komutunu çalıştırabilirsiniz kubectl describe pod <pod-name> . Çıktıda pod durumu, olaylar, birimler ve koşullar gibi bilgiler gösterilir.

kubectl logs: Kubectl logs komutunu kullanarak pod içindeki bir kapsayıcı tarafından oluşturulan günlükleri alabilirsiniz. Bu komut hata ayıklama ve sorun giderme için yararlıdır. Günlükleri gerçek zamanlı olarak görüntüleyebilir veya bir kapsayıcıdan geçmiş günlükleri alabilirsiniz.

Kapsayıcı günlüklerini görüntülemek için komutunu kubectl logs <pod-name> -c <container-name>kullanabilirsiniz. öğesini podun adıyla değiştirin <pod-name> . değerini, günlükleri getirmek istediğiniz kapsayıcının adıyla değiştirin <container-name> . Podda yalnızca bir kapsayıcı varsa, kapsayıcı adını belirtmeniz gerekmez. Ayrıca, ile bayrağını -fkubectl logs kullanarak günlükleri gerçek zamanlı olarak izleyebilirsiniz. Bu bayrak Linux komutuna tail -f benzer.

kubectl olayları: Bir dağıtım, DaemonSet, ReplicaSetveya pod başlatılmadığında veya başlatma sırasında bir sorunla karşılaştığında sorun gidermek için kubectl events komutunu kullanabilirsiniz. Bu komut, belirtilen kaynakla ilişkili olayların kronolojik bir listesini sağlar. Soruna neyin neden olmuş olabileceğine ilişkin içgörüler elde edebilirsiniz.

kullanmak kubectl eventsiçin komutunu kubectl events ve ardından belirli bir kaynak adını çalıştırabilirsiniz. Alternatif olarak, olayları etiketlere, ad alanlarına veya diğer ölçütlere göre filtrelemek için seçicileri kullanabilirsiniz.

Örneğin, belirli bir podla ilgili olayları almak için komutunu çalıştırabilirsiniz kubectl events --field-selector involvedObject.name=<pod-name> --field-selector involvedObject.kind=Pod. değerini, araştırmak istediğiniz podun adıyla değiştirin <pod-name> . Komutun kubectl events çıktısı olay türü (normal veya uyarı), olay iletisi, olayın nedeni ve olayın gerçekleştiği zaman damgası gibi bilgileri görüntüler. Başlangıç sırasında hataya veya soruna neyin neden olduğunu saptamaya yardımcı olması için bu bilgileri kullanabilirsiniz.

Dağıtım, DaemonSetveya ReplicaSet gibi belirli bir kaynağın sorun yaşadığını düşünüyorsanız, seçicileri kullanarak olayları filtreleyebilirsiniz. Örneğin, kubectl events --field-selector involvedObject.name=<deployment-name> --field-selector involvedObject.kind=Deployment belirli bir dağıtımla ilgili olayları gösterir. Olası hatalar, hatalar veya kaynağın düzgün başlatılmasını engellemiş olabilecek diğer olaylar hakkında önemli ayrıntılar toplamak için olayları inceleyin. Kaynağı etkileyen sorunları gidermeye ve çözmeye yardımcı olması için bu verileri kullanın.

Prometheus ve Grafana ile küme içi izleme

AKS kümenize Prometheus ve Grafana dağıtırsanız içgörüler elde etmek için K8 Küme Ayrıntı Panosu'nu kullanabilirsiniz. Bu pano cpu ve bellek kullanımı, ağ etkinliği ve dosya sistemi kullanımı gibi Prometheus kümesi ölçümlerinden toplanan bilgileri sunar. Ayrıca tek tek podlar, kapsayıcılar ve sistemli hizmetler için ayrıntılı istatistikler gösterir.

Dağıtımlarınızın, işlerinizin, podlarınızın ve kapsayıcılarınızın sistem durumunu ve performansını sağlamak için panodaki özellikleri kullanabilirsiniz. Her dağıtımın çoğaltma sayısını ve toplam çoğaltma sayısını görüntülemek için Dağıtımlar'ı seçin. Çalışan, bekleyen, başarısız ve başarılı kapsayıcıları gösteren bir grafiği görüntülemek için Kapsayıcılar'ı seçin.

Prometheus ve Azure Yönetilen Grafana için yönetilen hizmeti izleme

Prometheus ölçümlerini görselleştirmek ve analiz etmek için önceden oluşturulmuş panoları kullanabilirsiniz. Bunu yapmak için AKS kümenizi Prometheus için yönetilen hizmeti izleme bölümünde Prometheus ölçümlerini toplayacak şekilde ayarlamanız ve İzleyici çalışma alanınızı Azure Yönetilen Grafana çalışma alanına bağlamanız gerekir.

Kubernetes kümenizin performansı ve durumu hakkında kapsamlı bir görünüm elde etmek için önceden oluşturulmuş panoları yükleyin. Ayrıntılı yükleme yönergeleri için bkz . Kubernetes için Prometheus izleme karışımı. Panolar, Yönetilen Prometheus klasöründe belirtilen Azure Yönetilen Grafana örneğinde sağlanır. Bazı panolar şunlardır:

  • Kubernetes / İşlem Kaynakları / Küme
  • Kubernetes / İşlem Kaynakları / Ad Alanı (Podlar)
  • Kubernetes / İşlem Kaynakları / Düğüm (Podlar)
  • Kubernetes / İşlem Kaynakları / Pod
  • Kubernetes / İşlem Kaynakları / Ad Alanı (İş Yükleri)
  • Kubernetes / İşlem Kaynakları / İş Yükü
  • Kubernetes / Kubelet
  • Düğüm Verme / USE Yöntemi / Düğüm
  • Düğüm Verme / Düğümler
  • Kubernetes / İşlem Kaynakları / Küme (Windows)
  • Kubernetes / İşlem Kaynakları / Ad Alanı (Windows)
  • Kubernetes / İşlem Kaynakları / Pod (Windows)
  • Kubernetes / USE Yöntemi / Küme (Windows)
  • Kubernetes / USE Yöntemi / Node (Windows)

Bu yerleşik panolar, Prometheus ve Grafana ile Kubernetes kümelerini izlemek için açık kaynak topluluğunda yaygın olarak kullanılır. Kaynak kullanımı, pod durumu ve ağ etkinliği gibi ölçümleri görmek için bu panoları kullanın. ayrıca izleme gereksinimlerinize göre uyarlanmış özel panolar da oluşturabilirsiniz. Panolar AKS kümenizdeki Prometheus ölçümlerini etkili bir şekilde izlemenize ve çözümlemenize yardımcı olur. Bu sayede performansı iyileştirebilir, sorunları giderebilir ve Kubernetes iş yüklerinizin sorunsuz çalışmasını sağlayabilirsiniz.

Linux aracı düğümlerinizin ölçümlerini görmek için Kubernetes / İşlem Kaynakları / Düğüm (Podlar) panosunu kullanabilirsiniz. Her pod için CPU kullanımını, CPU kotasını, bellek kullanımını ve bellek kotasını görselleştirebilirsiniz.

Kubernetes / İşlem Kaynakları / Pod Grafana panosu seçilen kümenin, ad alanının ve podun kaynak tüketimi ve performans ölçümleri hakkında içgörüler sağlar. CPU kullanımı, CPU azaltma, CPU kotası, bellek kullanımı, bellek kotası, ağ ölçümleri ve depolama ölçümleri ile ilgili ölçümleri almak için bu panoyu kullanabilirsiniz. Panoda, aşağıdaki ayrıntıları görmek için seçilen ad alanı içinde bir AKS kümesi, ad alanı ve pod seçin:

  • CPU kullanımı: Bu grafik, seçilen pod için zaman içindeki CPU kullanımını görüntüler. CPU tüketim desenini gözden geçirebilir ve olası ani artışları veya anormallikleri belirleyebilirsiniz.

  • CPU azaltma: Bu grafik, bir pod CPU kaynak sınırlarını aştığında ortaya çıkan CPU azaltma hakkında içgörüler sağlar. CPU azaltma nedeniyle pod performansının kısıtlandığı alanları belirlemeye yardımcı olması için bu ölçümü izleyin.

  • CPU kotası: Bu grafik, seçilen pod için ayrılan CPU kotasını gösterir. Pod atanan CPU kotasını aşarsa kaynak ayarlamaları gerekebilir.

  • Bellek kullanımı: Bu grafik, seçili podun bellek kullanımını gösterir. Bellek tüketimi desenini izleyin ve bellekle ilgili sorunları belirleyin.

  • Bellek kotası: Bu grafik pod için ayrılan bellek kotasını görüntüler. Pod atanan bellek kotasını aşarsa kaynak iyileştirme gereksinimini gösterebilir.

  • Ağ ölçümleri: Bu grafikler alınan ve iletilen bant genişliğini ve alınan ve iletilen paketlerin oranını gösterir. Bu ölçümler, ağ kullanımını izlemenize ve olası ağ performans sorunlarını veya anomalilerini algılamanıza yardımcı olur.

  • Depolama ölçümleri: Bu bölüm, saniyede G/Ç işlemleri (IOPS) ve aktarım hızı gibi depolamayla ilgili ölçümler hakkında bilgi sağlar. Pod depolamanın performansını ve verimliliğini ölçmeye yardımcı olmak için bu ölçümleri izleyin.

Kubernetes kümenizdeki podların kaynak kullanımı, performansı ve davranışı hakkında içgörüler elde etmek için Kubernetes / İşlem Kaynakları / Pod Grafana panosunu kullanabilirsiniz. Kaynak ayırmayı iyileştirmek, performans sorunlarını gidermek ve kapsayıcılı iş yüklerinizin sorunsuz çalışmasını sağlamak için bilinçli kararlar almak için bu bilgileri kullanın.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Diğer katkıda bulunanlar:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar