Kubernetes Toleransları Nasıl Ayarlanır?

Kubernetes Toleranslari Nasil Ayarlanir



Bugün Kubernetes'te toleransı basit ve temel örnekler yardımıyla öğreniyoruz. Bu makale, Kubernetes'teki temel tolerans kavramını ve bölmeleri planlamak için Kubernetes'te nasıl uygulanabileceğini öğrenmek için tasarlanmıştır. Tolerans ve taintler birlikte çalıştığı için, Kubernetes'teki taint ve tolerans kavramının tamamını anlamak için taint'ler hakkında da kısa bir tartışma yapacağız. Kusur ve hoşgörünün temel tanımlarıyla başlayalım.

Kubernet'lerde Toleranslar ve Kusurlar Nelerdir?

Kubernet'lerde tolerans ve kusur, bölmelerin doğru düğüme yerleştirilmesini sağlamak için kullanılır. Tolerans, pod belirtiminde tanımlanırken kusurlar, düğüm belirtiminde tanımlanır. Tolerasyonu bir bölmeye uyguladığınızda, zamanlayıcının bölmeleri belirli bir düğümde planlamasına olanak tanır. Ancak, kusurlar hoşgörünün tersi yönde çalışır. Düğümün, üzerinde programlanacak bölmeleri reddetmesine izin verir. Kapsüllerin, yalnızca eşleşen kusurlarla kendilerine uygulanan toleransları varsa, düğümde programlanmasına izin verilir.

Kubernetes, bölmeler, kümeler, düğümler, olaylar vb. ile çalışır. Bazı durumlarda, bunları yönetmek için Kubernetes'in toleranslara ve kusurlara ihtiyacı vardır. Tolerans, çizelgeleme sürecinin uygulanmasıdır. Bölmelerin düzgün çalışabilmeleri ve işlemlerini gerçekleştirmek için gerektiğinde yeterli kaynağa sahip olabilmeleri için programlanması gerekir. Çalışma sırasında herhangi bir kesinti veya aksama olmaması için podlara lekelenmeye karşı toleranslar uygulanır.







Kubernet'lerdeki kusurlar, bir bölmenin bir bölmenin zamanlamasını reddetmesini sağlar. 'NodeSpec' Düğüm belirtimi kullanılarak bir düğüme uygulanır. Zamanlayıcı, üzerinde kusur bulunan bir düğüme bölme yerleştiremez. Bununla birlikte, bölmeleri bir kusurun uygulanmış olduğu bir düğümde planlamanız gerekirse, buna karşı toleransı beyan etmeniz gerekir.



Kubernetes'teki tolerans, bir lekenin zaten uygulanmış olduğu bir düğümde bir bölmenin planlanmasına olanak tanır. Bir bölmedeki tolerans, 'PodSpec' Pod belirtimi kullanılarak uygulanır. Tolerasyonu, eşleşen kusurlu bir bölmeye uyguladığınızda, programlayıcı, bölmeleri belirli bir düğümde kolayca planlayabilir.



Şimdi, Tolerasyonu Kubernetes'te bir pod üzerinde nasıl uygulayabileceğinizi anlamanıza yardımcı olacak bir senaryo sunalım. Uygulama bölümüne geçmeden önce, tüm önkoşul gereksinimlerine sahip olduğunuzdan emin olun.





ön koşul:

Kubernetes'te bir düğümde toleransı uygulamak için ihtiyacınız olan şeyler şunlardır:

  • Ubuntu 20.04 veya herhangi bir Linux sisteminin herhangi bir son sürümü
  • Minikube (en son sürüm)
  • Linux/Unix sisteminizde kurulu sanal makine
  • Kubectl komut satırı aracı

Sisteminizin önkoşulların tüm ihtiyaçlarını karşıladığını varsayarak, Kubernetes toleransını belirlemeye başlayalım.



Adım 1: Minikube Terminalini Başlatın

Kubernetes tolerasyonunu bir node üzerinde gerçekleştirmek için kubectl komutlarını kullanabilmeniz için yapmanız gereken ilk şey minikube terminalini başlatmaktır. Minikube'u başlatmak için aşağıdaki komut kullanılır:

> minikube'u başlat

Bu komutun yürütülmesi üzerine, terminalinizde aşağıdaki çıktıyı alırsınız:

2. Adım: Etkin Düğümlerin Listesini Alın

Artık minikube'u başlattığımıza göre, sistemimiz Kubernetes'teki pod'lar üzerindeki toleransı ayarlamak için hazır. Bölmelerdeki toleransı ayarlamadan önce, kaç tane düğümümüz olduğunu ve ne tür düğümlerimiz olduğunu kontrol edelim. Bunu yapmak için aşağıdaki sonraki komutu kullanıyoruz:

> kubectl düğümleri al - =custom-columns=DüğümAdı:.metadata.name,TaintKey:.spec.taints [ * ] .key,TaintValue:.spec.taints [ * ] .value,TaintEffect:.spec.taints [ * ] .Efekt

Bu talimat, Kubernetes varsayılan kurulumu tarafından lekelenen tüm düğümleri listeler. Öncelikle bu komutun çıktısını görelim. Ardından, düğümlerin listesini tartışırız:

Kubernetes varsayılan kurulumu tarafından oluşturulan ve lekelenen hiçbir düğüm olmadığından ve ayrıca özel olarak herhangi bir düğüm oluşturmadığımızdan sonuç olur. Önceki çıktıdan düğüm olmadığını görebiliriz. Bu nedenle, önce düğümü oluşturuyoruz ve ardından toleransı ayarlıyoruz. Tolerasyonu Kubernetes'te bir bölmede ayarlamak için önce bir kümede bir uygulama dağıtmamız gerekir. Sonraki birkaç adım, bir uygulamanın bir kümede nasıl dağıtılacağını gösterir.

3. Adım: Bir Ad Alanı Oluşturun

İlk olarak, bir uygulamayı bir kümeye dağıtmak için bir ad alanı oluşturuyoruz. Burada aşağıdaki komut yardımıyla “frontend” değerine sahip bir uygulama oluşturuyoruz:

> kubectl ns ön ucu oluştur

Bu komut, 'ön uç' değerine sahip ad alanını oluşturur. Aşağıdaki çıktıya bakın:

4. Adım: Nginx Bölmesini Ad Alanında konuşlandırın

Şimdi, az önce oluşturduğumuz ad alanına nginx bölmesini konuşlandırın. Nginx'i dağıtmak için aşağıdaki komutu kullanıyoruz:

> kubectl nginx'i çalıştırın – görüntü =nginx –ad alanı ön ucu

Bu, uygulama dağıtımı belirtiminde tolerans yapılandırması olmayan bir kümede bir uygulama dağıtır. Kubectl komutunu kullanarak, nginx bölmesini ad alanı ön ucuna konuşlandırıyoruz:

  Metin Açıklaması otomatik olarak oluşturuldu

5. Adım: Bölme Listesini Alın

Şimdi durumlarını görmek için oluşturulan bölmeleri kontrol edelim. Verilen komut, tüm bölmeleri ve durumlarını da listeler:

> kubectl bölmeleri al -n başlangıç ​​aşaması

Yalnızca nginx'i oluşturduğumuz için, bu komut o bölmeyi durumuyla birlikte listelemelidir. Aşağıdaki çıktıya bakın:

6. Adım: Kubernetes Olaylarını Analiz Edin

Şimdi Kubernetes'teki olayları analiz edelim ki ona göre pod'lar üzerindeki toleransı ayarlayalım. Kubernetes'teki olayların listesini almak için aşağıdaki kubectl komutunu kullanıyoruz:

> kubectl olayları al -n başlangıç ​​aşaması

Bu, tip, sebep, nesne ve mesaj gibi özellikleriyle birlikte ön uç değerle ilişkili tüm olayları listeler. Aşağıdaki çıktıda verilen listeye bakın:

  Metin Açıklaması otomatik olarak oluşturuldu

Önceki çıktıdan da görebileceğiniz gibi, nginx bölmesi belirli toleransla programlanmıştır. 'Mesaj' özelliği, süreç boyunca gerçekleştirilen eylemlerin listesini gösterir.

7. Adım: Bölmelerin Durumunu Kontrol Edin

Son adım, belirli ve doğru bir düğümde başarıyla programlandığından emin olmak için daha önce oluşturduğumuz bölmenin durumunu tekrar kontrol etmektir. Bunu yapmak için aşağıdaki kubectl komutunu kullanıyoruz:

> kubectl bölmeleri al -n başlangıç ​​aşaması

Önceki çıktıda görülebileceği gibi, tolerans buna karşı ayarlandığından, pod'un lekeli düğümde çalışmasına izin verilir.

Çözüm

Bu kılavuzda, kusurları ve hoşgörüyü araştırdık. Lekelerin ve hoşgörünün temel işleyişini öğrendik. Ardından, toleransı bir pod üzerinde uyguladık. Basit bir örnek yardımıyla Kubernetes'te bir node üzerinde toleransın nasıl ayarlanacağını öğrendik.