Filtreyi Alın ve Kubernetes Olaylarını İzleyin

Filtreyi Alin Ve Kubernetes Olaylarini Izleyin



Kubernetes'te olaylar için yerleşik destek bulunmadığından, Kubernetes'teki olaylar uzun süre depolanamaz, erişilemez veya iletilemez. Oluşumlar, temizlenmeden önce yalnızca kısa bir süre dosyada tutulur. Ancak, küme üzerindeki kubectl komutları veya diğer kaynaklar kullanılarak bunlara doğrudan erişilebilir veya izlenebilir. Bu kılavuzda, Kubernetes'teki olayları ve özellikle Kubernetes olaylarını nasıl filtreleyeceğinizi ve izleyeceğinizi öğreneceksiniz.

Kubernetes'te Etkinlik Nedir?

Gerçekleştirilen herhangi bir eylem veya bazı kaynaklarda yapılan herhangi bir değişiklik günlüklere kaydedilir. Bu günlükler, Kubernetes'te olaylar olarak bilinir. Bu olaylar, Kubernetes ortamında hata ayıklamaya ve yönetmeye yardımcı olur ve ayrıca kaynaklar için kararların nasıl alındığını anlamaya yardımcı olur. Kubernetes'in düğümleri, kümeleri, pod'ları vb. gibi nesne üzerinde yapılan değişiklikler veya yapılan işler için üretilen birçok olay vardır. Ayrıca Kubernetes'teki olaylar, herhangi bir Kubernetes nesnesinde neler olup bittiğini anlamaya yardımcı olur. Genel olarak, olayları Kubernetes'te izlemenin iki yolu vardır. Bunlar:

  • Kubectl etkinlikleri al
  • Kubectl bölme/bölme adını tanımlar

Bir sonraki bölümde, basit bir örnek yardımıyla her iki yöntemi de göstereceğiz. Ama önce, sisteminizin Kubernetes'teki olayları kontrol etmek ve izlemek için tüm temel ihtiyaçları karşıladığından emin olmanız gerekir.







Önkoşullar

Kubernetes'te filtreyi nasıl alacağınızı ve olayları nasıl izleyeceğinizi öğrenmeye başlamadan önce, sisteminizde aşağıdaki araçların yüklü olduğundan emin olun:



  • Ubuntu sürüm 20.04 veya başka herhangi bir son sürüm
  • Miniküp kümesi
  • Kubectl komut satırı aracı

Tüm bu araçlara sahip olduğunuzu varsayarak, Kubernetes'te filtreyi nasıl alacağınızı ve olayları nasıl izleyeceğinizi öğrenmek için ilerliyoruz.



Minikube Kümesini Başlatın

Kubectl komutlarını kullanmak veya Kubernetes'te herhangi bir işlevi yürütmek için ihtiyacınız olan ilk şey minikube kümesini başlatmaktır. minikube kümesi, herhangi bir kubectl komutunu çalıştırmanıza ve ihtiyacınız olan herhangi bir işlevi gerçekleştirmenize izin verir. Minikube kümesini başlatmak için 'start' komutunu kullanıyoruz:





> minikube'u başlat

Bu minikube kümesini başlatır ve sisteminiz herhangi bir kubectl komutunu yürütmeye hazırdır.



Daha önce tartıştığımız gibi, olayları almanın iki yolu vardır. Burada her iki yöntemi de tek tek açıklayacağız.

Kubectl Get Events Yöntemi ile Kubernetes Events'i Alın

'Kubectl get event', Kubernetes ortamında meydana gelen tüm olayları listeleyen bir kubectl komutudur. Terminalinize aşağıdaki komutu girmeniz ve Kubernetes'teki olayların tam listesini almanız yeterlidir:

> kubectl olayları al

Bu, belirli bir kaynakla veya tüm kümeyle ilgili olayların listesini almanın çok genel bir yoludur.

  Metin Açıklaması otomatik olarak oluşturuldu

Kubectl Describe Pod/Pod-Name ile Kubernetes Olaylarını Alın

Tüm olayları listelemenin ikinci yöntemi, 'açıkla' komutunu kullanmaktır. “Kubectl, pod/pod-name'yi tanımlar”, Kubernetes'te belirli bir pod ile ilgili olayları almanızı sağlayan bir kubectl komutudur. 'Bölme adı', olayların listelendiği bölmenin adını temsil eder. Terminalinize aşağıdaki komutu girin ve belirli bölme için olayları alın:

> kubectl bölmeyi tanımla / bağımlı-envars-demo

  Metin Açıklaması otomatik olarak oluşturuldu

Verilen çıktıdan, 'bağımlı-envars-demo', Kubernetes'teki olayları listelemek istediğimiz bölmenin adıdır ve geri kalanı, o belirli düğüm için olayların ayrıntılarıdır.

Kubectl Komutlarını Kullanarak Kubernetes'teki Olayları İzleme

Kubernetes, olayları uzun süre depolamak, bunlara erişmek veya iletmek için yerleşik bir destek sağlamaz. Bu nedenle, olayları daha uzun süre tutmak için üçüncü taraf günlük tutma araçlarını kullanmamız gerekiyor. Kubernetes olaylarını takip etmek için çeşitli ücretsiz ve açık kaynaklı üçüncü taraf çözümler mevcuttur. Bu araçlar, Kubernetes'teki olayları raporlamamıza ve tüm Kubernetes küme kaynaklarını görmemize olanak tanır. Dolayısıyla, Kubernetes'teki olayları doğrudan izlemek veya toplamak için Kubectl komutlarını kullanabiliriz. Dağıtımdaki olayları doğrudan izlemek için aşağıdaki komutu kullanın:

> kubectl olayları al --izlemek

  Metin Açıklaması otomatik olarak oluşturuldu

Filtreyi Alın ve Kubewatch Aracını Kullanarak Kubernetes'teki Olayları İzleyin

Daha önce tartışıldığı gibi, Kubernetes'teki olayları filtrelemek ve izlemek için birçok ücretsiz ve açık kaynaklı araç mevcuttur ve Kubewatch bu araçlardan biridir. Bu bölümde, Kubernetes'teki olayları izlemek ve takip etmek için kubectl komutunu kullanarak Kubewatch'ın nasıl kurulacağını anlatacağız. Golang dilinde yazılmıştır ve Flock, Webhook, Hipchat, Slack, vb. bildirimler göndererek olayları izlemek ve raporlamak için kullanılır.

Kubewatch'ın kurulumu çok kolaydır ve sadece iki adımda yapılabilir. Önce bir yapılandırma dosyası oluşturulmalı ve ardından dağıtılmalıdır. Verilen adımları izleyin:

1. Adım: Bir YAML Yapılandırma Dosyası Oluşturun

İlk olarak Kubewacth konfigürasyonunu içeren bir YAML dosyası oluşturuyoruz. YAML dosyasını oluşturmak için “nano” komutunu kullanabiliriz. Kubernetes ortamında dosya açmak veya oluşturmak için “nano” komutu kullanılır. Bu nedenle “kubewatch.yaml” dosyasını oluşturmak için nano komutunu kullanıyoruz. Aşağıdaki komuta bakın:

> nano kubewatch.yaml

Bu komutu yürüttüğünüzde, Kubewatch yapılandırma ayrıntılarını saklayabileceğiniz “kubewatch” adlı bir YAML dosyası oluşturulur. Kubewatch yapılandırması aşağıdaki anlık görüntüde verilmiştir:

Kubewatch yapılandırmasını “kubewatch.yaml” dosyanızda sakladıktan sonra, onu Kubewatch aracını yükleyecek şekilde yapılandırabilirsiniz.

2. Adım: YAML Dosyasını Yapılandırın

Bir sonraki adım, önceki adımda oluşturduğumuz yapılandırma dosyasını dağıtmaktır. Bunun için aşağıdaki komutu kullanıyoruz:

> kubectl oluştur -f kubewatch.yaml

Verilen çıktıdan, Kubewatch yapılandırmasının başarıyla oluşturulduğunu gözlemleyebilirsiniz. Artık Kubewatch aracınız, yapılandırılmış bildirim kanalınız aracılığıyla etkinlik bildirimlerini göndermeye hazır.

Çözüm

Bu makalede, Kubernetes'teki olayları incelerken, özellikle Kubernetes'teki olayları filtreleme ve izleme konusuna odaklandık. Kubernetes'teki olayları izlemek için iki yol öğrendik; kubectl, pod/pod-name'yi tanımlar ve kubectl get olaylarını. Kubernetes'teki olayları izlemek ve izlemek için Kubewatch aracını nasıl kuracağımızı da öğrendik.