Kubernetes’in ayrıntılarında kaybolmak kolaydır, ancak günün sonunda Kubernetes’in yaptığı şey oldukça basittir. CNCF’den Cheryl Hung, Kubernetes’i bir kontrol döngüsü olarak tanımlar. Sisteminizin nasıl görünmesini istediğinizi belirtin (3 kapsayıcı resim a kopyası ve 2 kapsayıcı resim b kopyası) ve Kubernetes bunu sağlar. Kubernetes, istenen durumu gerçek durumla karşılaştırır ve aynı değilse, düzeltmek için adımlar atar.
Kubernetes mimarisi ve bileşenleri
Kubernetes, birbirlerini önemsediğini bilmeyen birçok bileşenden oluşur. Bileşenlerin tümü birbiriyle API sunucusu üzerinden konuşur. Bu bileşenlerin her biri kendi işlevini yerine getirir ve daha sonra izlemek üzere toplayabileceğimiz metrikleri ortaya koyar. Bileşenleri üç ana parçaya ayırabiliriz.
Kontrol Düzlemi – Usta.
Nodes – Bölmelerin planlandığı yer.
Pods – Konteynerleri tutar.
Kontrol Düzlemi – Master Node
Kontrol düzlemi orkestratördür. Kubernetes bir düzenleme platformudur ve kontrol düzlemi bu düzenlemeyi kolaylaştırır. Kontrol düzleminde bu düzenlemeyi kolaylaştırmaya yardımcı olan birden fazla bileşen vardır. Depolama için etcd, bileşenler arasındaki iletişim için API sunucusu, hangi düğüm bölmelerinin çalıştırılması gerektiğine karar veren zamanlayıcı ve mevcut durumu istenen duruma karşı kontrol etmekten sorumlu denetleyici yöneticisi.
Nodes
Nodes, Kubernetes kümesinin kolektif hesaplama gücünü oluşturur. Burası konteynerlerin çalıştırılmak üzere konuşlandırıldığı yerdir. Nodes, uygulamanızın üzerinde çalıştığı fiziksel altyapı, ortamınızdaki VM sunucularıdır.
Pods
Pods, Kubernetes kümesindeki en düşük düzey kaynaktır. Bir kapsül, bir veya daha fazla konteynerdan oluşur, ancak çoğunlukla sadece tek bir konteynerdan oluşur. Kümenizi tanımlarken, hangi kaynakların, CPU’nun ve belleğin çalışması gerektiğini tanımlayan kapsüller için sınırlar belirlenir. Zamanlayıcı, podlar hangi kısımlara yerleştireceğine karar vermek için bu tanımı kullanır. Bir pods içerisinde birden fazla konteyner varsa, gerekli kaynakları tahmin etmek zordur ve zamanlayıcı podları uygun şekilde yerleştiremez.
Kubernetes’in Docker ile İlişkisi Nedir?
Kubernetes ve Docker, kapsayıcı uygulamaları akıllıca yönetmek ve güçlü yetenekler sağlamak için kapsamlı fiili çözümlerdir ve bundan dolayı bazı karışıklıklar ortaya çıkmıştır. “Kubernetes” artık bazen Kubernetes tabanlı tüm konteyner ortamı için bir stenografi olarak kullanılıyor. Gerçekte, doğrudan karşılaştırılamazlar, farklı kökleri vardır ve farklı şeyleri çözmekte kullanılırlar.
Docker, Docker konteynerlarını oluşturmak, dağıtmak ve çalıştırmak için bir platform ve araçtır. Makine kümeleri üzerindeki konteynerları düzenlemek ve planlamak için kullanılabilecek kendi yerel kümeleme aracını sunar. Kubernetes, Docker konteynerleri için Docker Swarm’dan daha kapsamlı olan ve üretimdeki ölçekte düğüm kümelerini verimli bir şekilde koordine etmeyi amaçlayan bir konteyner düzenleme sistemidir. Kubernetes ekosisteminde programlama birimleri olan (ve bir veya daha fazla konteyner içerebilen) kapsüller kavramı etrafında çalışır ve yüksek kullanılabilirlik sağlamak için düğümler arasında dağıtılır. Bir Kubernetes kümesinde bir Docker derlemesi kolayca çalıştırılabilir, ancak Kubernetes’in kendisi tam bir çözüm değildir ve özel eklentileri içermelidir.
Kubernetes ve Docker temel olarak farklı teknolojilerdir, ancak birlikte çok iyi çalışırlar ve her ikisi de dağıtılmış bir mimaride konteynerlerin yönetimini ve dağıtımını kolaylaştırır.
Docker eğitim kataloğumuz için linke tıklayın.