Github sayfasından okuduğunuz gibi :
Kubernetes, birden fazla ana bilgisayarda kapsayıcıya alınmış uygulamaları yönetmek için açık kaynaklı bir sistemdir ve uygulamaların dağıtımı, bakımı ve ölçeklendirilmesi için temel mekanizmalar sağlar.
Kubernetes:
lean: lightweight, simple, accessible
portable: public, private, hybrid, multi cloud
extensible: modular, pluggable, hookable, composable
self-healing: auto-placement, auto-restart, auto-replication
Kubernetes, topluluktaki türünün en iyisi fikirler ve uygulamalarla birlikte, büyük ölçekte üretim iş yüklerini çalıştıran Google'da on buçuk yıllık deneyime dayanmaktadır.
Benim için Kubernetes, Google'ın sunduğu bir konteyner düzenleme aracıdır. Tasarımı nedeniyle herhangi bir konteyner motoruyla uyumluluk sağlayabilirsiniz, ancak artık Docker ile sınırlı olduğunu düşünüyorum. Mimarisinde bazı önemli kavramlar var:
Kubernetes, aşağıdaki kavramlarla çalışır:
Kümeler, kapsayıcılarınızın üzerine inşa edildiği işlem kaynaklarıdır. Kubernetes her yerde çalışabilir! Çeşitli hizmetlere yönelik talimatlar için Başlarken Kılavuzlarına bakın.
Bölmeler, paylaşılan birimlerle birlikte yerleştirilmiş Docker kapsayıcıları grubudur. Kubernetes ile oluşturulabilen, programlanabilen ve yönetilebilen en küçük dağıtılabilir birimlerdir. Bölmeler ayrı ayrı oluşturulabilir, ancak tek bir bölme oluştursanız bile bir çoğaltma denetleyicisi kullanmanız önerilir. Kapsüller hakkında daha fazla bilgi.
Çoğaltma denetleyicileri, kapsüllerin yaşam döngüsünü yönetir. Gerektiği gibi bölmeler oluşturarak veya öldürerek, herhangi bir zamanda belirli sayıda bölmenin çalışmasını sağlarlar. Çoğaltma denetleyicileri hakkında daha fazla bilgi.
Hizmetler, bir dizi kapsül için tek, sabit bir ad ve adres sağlar. Temel yük dengeleyici görevi görürler. Hizmetler hakkında daha fazla bilgi.
Etiketler, anahtar: değer çiftlerine göre nesne gruplarını düzenlemek ve seçmek için kullanılır. Etiketler hakkında daha fazla bilgi.
Yani, konteynerlerinizin çalıştırıldığı bir küme oluşturan bir grup makineniz var. Fig gibi diğer araçlarla yaptığınız gibi bir hizmet sağlayan bir grup kapsayıcı da tanımlayabilirsiniz (yani: webapp podu bir ray sunucusu ve bir postgres veritabanı olabilir). Aynı anda çalışan bir hizmetin bir dizi kapsayıcısını / bölmesini sağlamak için başka araçlara da sahipsiniz, bir anahtar-değer deposu, bir tür yerleşik yük dengeleyici ...
Coreos hakkında bir şey biliyorsanız, bu çok benzer bir çözüm ama Google'dan. Algo Kubernetes, Google Cloud Engine ile iyi bir entegrasyona sahiptir.