VMware TanzuVMware

vSphere Pod Nedir?

Merhaba,

vSphere Pod Nedir? isimli bu yazımda sizlere VMware Tanzu ile hayatımıza giren vSphere Pod hakkında bilgiler vereceğim. Daha önce yazmış olduğum VMware Tanzu makalelerine aşağıdaki linkten erişebilirsiniz.

VMware Tanzu

VMware Tanzu ile birlikte yeni görmüş olduğumuz kavramlardan bir tanesi de vSphere Pod ‘dur. Ben bu makalemde sizlere hem vSphere Pod hakkında bilgi vereceğim hem de vSphere Pod’un çalışması için gerekli olan servis yani vSphere Pod Service hakkında detaylı bilgi vereceğim.

vSphere Pod Nedir?

vSphere Pod tam net ifade ile Kubernetes pod’unun karşılığıdır diyebiliriz. Bir vSphere Pod bir veya daha fazla Linux container’larını çalışan küçük kaynaklara sahip virtual machine’lerdir. Yani bir iş yükünün (workload) çalışması için gerekli olan CPU, Memory, Disk ve Network kaynaklarını sağlar. Kubernetes, container haline getirilmiş iş yüklerini ve hizmetlerini yönetmek için oluşturulan bir platformdur. Kubernetes’i deploy ettiğinizde bir cluster elde edersiniz. Her cluster en az 2 node’dan oluşur. Node’larda çalışan uygulama iş yüklerinin (application workload) bileşenine ise vSphere Pod diyoruz.

Cluster üzerinde çalışan node ve pod’ları yöneten ve cluster genelinde HA ve FT gibi özellikleri sağlayan bileşene ise Control Plane diyoruz. vSphere Pod’u daha detaylı anlatabilmem için ilk olarak sizlere vSphere Pod Service hakkında bilgi vermem gerekiyor. vSphere Pod Service VMware tarafından ESXi cluster’larınızı yöneten ve bunları Kubernetes Control Plane üzerinde gerçekleştiren bir servistir.

vSphere Pod Service, local Kubernetes iş yüklerini doğrudan ESXi üzerinde çalıştırmanıza olanak tanır. Peki bu nasıl gerçekleşiyor? Vanilla Kubernetes çalışan node’ları kubelet adı verilen bir Kubernetes aracısı çalıştırır. Bu hem pod’ları yönetir hem de container’larin yönetimini gerçekleştirir. Kubelet, pod ve container’ların health durumlarını sürekli olarak inceler. Container’ları sürekli takip ederek gerektiği durumlarda redeploy yapabilir. Aynı zamanda bir denetleyicidir, böylece kendi node’unda schedule edilmiş yeni Pod’lar olup olmadığını görmek için API sunucusunu sürekli olarak kontrol eder.

VMware, VMkernel’in içinde, Spherelet agent adlı Kubelet uygulaması tanıttı. Spherelet, ESXi host’u bir Kubernetes çalışan node’una dönüştürür ve Spherelet, Kubernetes Control Plane’in bir uzantısı olarak hareket eder. Aynı kubelet gibi, vSphere Pod istekleri için API sunucusunu izler. Ancak burada VMware bir kubelet’te bulunan bazı işlevleri ayrı controller’lara taşımak zorunda kalmıştır. Örneğin; network iletişimi için, API sunucusunu izleyen ve network yapılandırmasında yapılan değişiklikleri uygulayan NSX-T Container Plugin isimli bir controller bulunuyor.

Benzer şekilde, vCenter’da storage yapılandırmasındaki değişiklikler için API sunucusunu izleyen ve storage yapılan değişiklikleri uygulayan bir controller vardır. Kısacası; Spherelet agent, Kubernetes’in bir pod’dan beklediği işlevselliği sağlar. Sağlık kontrolleri, storage operasyonları, network kurulumu, pod içindeki container’ların durumunu kontrol eder ve Kubernetes komut satırı aracı Kubectl’e erişim sağlar. Spherelet agent libcontainer ile bağlantılıdır ve bu yöntemi kullanarak container’ları nasıl başlatılacağını anlar. (Libcontainer, Go ve C/C++ dillerinde Docker tarafından yazılmış bir kütüphanedir.)

vSphere Pod Nedir?
vSphere Pod Nedir?

Spherelet hakkında da kısaca bilgi verdikten sonra sizlere CRX yani Container Runtime for ESXi ‘dan bahsetmek istiyorum. ESXi sayesinde sunucu sanallaştırma işlemlerini gerçekleştirebiliyoruz. Yani ESXi’in asıl amacı aslında sunucu sanallaştırma ancak yeni gelişen teknoloji ve artan taleplere bağlı olarak bazı güncellemeler yapıldı. ESXi, CRX sayesinde bir linux uygulamasını yani container’i doğrudan VMkernel çalışmasına olanak sağlayan bir Linux Binary Interface (ABI) sağlar. CRX diye burada bahsettiğim bileşen, hostd ve vCenter Sunucusu açısından bir virtual machine’e benzer.

vSphere Pod kullanılırken tam bir linux işletim sistemi yüklenmiyor. Bunun yerine CRX isminde optimize edilmiş kernel yüklenir. CRX aslında Photon OS üzerinde geliştirilmiştir ancak Photon OS gibi boot işlemlerinde bulunmaz. CRX ve kernel olabildiğince hızlı olması için yalnızca gerekli olan device’lar bu VM üzerinde aktif edilir. CRX’in hızlı olmasından kaynaklıda vSphere Pod’ların başlatılmasıda oldukça hızlıdır. Çünkü tam bir OS bulunmuyor 🙂

Lifecycle Manager yani LCM üzerinden ESXi update’i yaptığınızda kullanılan Linux çekirdeğide güncelleniyor. Böylece düzenli ESXi update’leri yapmanız durumunda CRX’lerinizde güncelleniyor olacaktır.

vSphere Pod Nedir?
vSphere Pod Nedir?

Toparlayacak olursak, Vanilla Kubernetes’de container yönetimi için nasıl kubelet gerekliyse ve her node üzerinde belirli görevleri gerçekleştiriyor ise, Spherelet ‘de ESXi host’u kubernetes platformuna çeviren bir agent’dir. vSphere ile birlikte gelen CRX (Container Runtime for ESXi) ise Guest OS içinde bir Linux çekirdeği (Photon OS) ve minimum kaynaklar içeren bir tür sanal makinedir.

Peki tüm bunların içerisinde vSphere Pod Nedir ? diye hala soruyor olabilirsiniz. vSphere Pod, Container’lari ESXi üzerinde çalışmasını sağlayan objelere vSphere Pod diyoruz. vSphere Pod’un içeriğini yukarıdaki görselde görebilirsiniz.

vSphere Pod, aynı sanal makinalar gibi çalışmaktadır ancak sanal makinalara farklı olarak üzerinde ihtiyacı olmayan device’lar kaldırılmıştır. Her vSphere Pod , Photon OS’de kullanılan kernel’e dayanan benzersiz Linux kernel’ina sahiptir. vSphere Pod’da bare metal konfigürasyonunda olduğu gibi bir kernel’i paylaşan birçok container yerine , her container benzersiz bir Linux kernel’ine sahiptir. vSphere DRS sayesinde vSphere Pod’ların kaynak yönetimi yapılabilir ve böylece vSphere Pod’ların performans sorunlarını minimize etmiş olursunuz.

Umarım faydalı olmuştur.

İyi çalışmalar.

5 7 votes
Makaleyi Oylamayı Unutmayın !

Tayfun DEĞER

Bu yazı blog üzerinde Tayfun DEĞER tarafından paylaşılmıştır. 2009 yılında açılan blog kısa zaman içerisinde büyük bir izleyici kitlesine sahip olmuştur. Tayfun DEĞER danışmanlık ve eğitimler vermektedir. vExpert 2013-2019, VCP4/5/6, VCP5-DT, VCP-Cloud ve MCSE sertifikalarına sahiptir.Twitter 'dan @tayfundeger veya RSS ile sitedeki değişiklikleri takip edebilirsiniz.

İlgili Makaleler

Subscribe
Bildir
guest

0 Yorum
Inline Feedbacks
View all comments
Başa dön tuşu
0
Görüşlerini belirtmek ister misin?x