PKS’e (Pivotal Container Service) Başlarken

Çılgınlığın hali -Container-, adı ise -Kubernetes-, namı değer K8s.
Google Borg system dediler, Yunancadan çevirisi “helmsman of a ship” dediler, development CNCF’e verildi, CNCF’ide TMSF’e benzetiyorum bir zamanların Apache Software Foundation’ı gibi parlıyor.

Herkes tuttu bir yerinden, Public Cloud Sağlayıcıları AKS, EKS, GKE sonra Rackspace, DigitalOcean’lar sonra Heptio, Platform9, Rancher Lab gibi firmalar derken rakip yazılımlar bile örneğin Docker “App Scheduler” olarak “Swarm” mı yoksa “K8s” mi kullanacaksın diye soruyor, Mesosphere DC/OS benimle K8s kur diyor, bana göre PaaS dediğimiz Cloud Foundry, Openshift’ler bile tam kalbine koydular K8s kendilerinin benzer yapıları olmasına rağmen. Yani K8s bir rockstar, herkeste onunla resim çektirmek istiyor diyebiliriz.

PaaS servislerini inceleyen, bilen, kullananlar aslında şu soruyu sorabilirler kendilerine 😀 K8s’in yapıpta CF/PCF’nin, Openshift’in yapamadığı nedir diye ?! Angela Chin’e de soruyorlar bu soruyu dakka 18:30.

Sonra hyper-converged ürünleri satan veya işi storage yapmak olan firmalarda K8s bir diğer ucundan tutmaya başladılar, dediler bizde varız bizde size kullanıma hazır K8s kurulumları yapalım, bunu yaparken “persistent storage” gereksinimlerinide adresleyelim dediler bunlar Karbon ile Nutanix ve Pure Service Orchestrator ile Pure Storage gibi firmalar ama onların çok da kendilerine ait networking kısımları olmadığından onlarıda şu an için sadece kurulumları otomize etme yoluna gidiyorlar.

Sonuçta network olmadan bu iş olmadığından çok basit açık kaynak kodlu networking çözümlerinden daha kompleks ihtiyaçlarımız oluştuğundan Nuage, Big Switch, Juniper, Cisco gibi ve “Virtual Cloud Network” ile artık bende network dünyasındayım diyen VMware NSX-T ile entegrasyonu yapıp K8s’de yerini almaya başladı.

Hepsinin amacı size en doğru veya anlaşılabilir, optimum özelliklerle, yönetilebilir, çatlayıp patlamayan Kubernetes-as-a-Service ortamını sağlamak.

Burada Dell Teknolojinin firmalarından Pivotal ve VMware’de PKS ile Enterprise Pivotal Container Servisi (açık kaynak kodlu Kubo Projesinin ticari hali) bu kulvarda koşanlardan bir diğeri şu anda.

Hem on-premise hemde off-premise ortamlarda koşabiliyor. Açık kaynak kodlu K8s üzerinde, iş yüklerinizi maksimum izolasyonla, güncellemeleri kendi başına yaparak, BOSH gibi çılgın bir kurulumcu (video’daki adam çok güzel BOSH diyor :)) ile VROPS, Log Insight gibi bilindik yazılımlarla entegre, Harbor gibi bir repo, NSX-T gibi networking servisleri, Add-On desteği, GKE iş birlikteliği ile eksiksiz bir resim çiziyor gibi duruyor (bizde yeniyiz henüz).

Neden Kubo Project veya PKS diye soranlar için CF Summit 2017’de çekilmiş bir video var, Meaghan Kjelland’ın açıklamaları sanırsam oldukca açıklayıcı, öne çıkanlar şöyle ;

  • Yarışa önden başlıyorsunuz, kurulum nasıl olacak, nasıl konfigürasyon yapıcam demeden direkt K8s’i çalıştırmaya başlıyorsunuz.
Day 2 Day 2 Day 2 Day 2
  • PKS varsayılı olarak Availability Zone desteği ile geliyor, master ve worker node’larınızı farklı AZ’lere sizin için konuşlandırabiliyor.
  • Master ve Worker Node’ları monitor ettiğinden altyapıyı oluşturan, üzerinde pod’ların koştuğu sanal makineler kapandığında, bozulduğunda, bunların tekrardan yaratabiliyor.
  • K8s üzerinde kurulduğu işletim sistemlerinde oluşacak açıklarda herhangi bir kesinti yapmadan güncelleyebilir daha doğrusu VM Node’ları yeni güncel olan işletim sistemleri ile değiştirebiliyor.

PKS multi-cloud yapıları destekleyen bir ürün, yani heryerde çalışabilir, AWS ile çalışırken altyapı EC2 üzerinde kurup, AWS’e ait bileşenlerle entegre edebilirsiniz örneğin Load Balancer gibi. Aynı şekilde Azure üzerindede sanal makineler üzerinde aynı şeyleri yapabilirsiniz, bakınız 1 ve 2.

PKS VMware vSphere üzerinde NSX-T veya NSX-T olmadan çalışabilir. Benin odaklandığım nokta NSX-T ile beraber olan.

Ek olarak VMware’in büyük public cloud sağlayıcıları dışında Service Provider Programın’a üyü olan diğer irili ufaklı servis sağlayıcılar ilede CSE adı verdikleri açık kaynak kodlu bileşenide vCloud Director ile entegre olmaya ve PKS ortamını vCD üzerinde yaratmaya hazırlanıyor. Henüz “Beta”.

Peki vSphere + NSX-T bize nasıl yardımcı olacak ?

  • K8s networking fonksiyonlarını adresleyerek
    • Load balancing
    • IPAM
    • Routing
    • Firewalling
  • NCP sayesinde tüm K8s ve iş yüklerinin ihtiyaç duyduğu network objelerini otomatik olarak NSX-T üzerinde yaratarak, ilişki kurarak
  • NAT veya No-NAT topoloji destekleyerek
    • Ortamın, yani PKS Control Plane ve Master/Worker node’ların routable veya non-routable ip’ler üzerinde kurulduğu ve erişilebilir kılındığı topolojiler
  • Network güvenlik kurallarının uygulanmasıyla (DFW)
  • Network görünürlüğünü artırılmasıyla (Traceflow)

Enterprise PKS için sonuçta herseyde olduğu gibi bir altyapı ihtiyacınız var, olayın içersinde NSX-T olduğundan gereksinimler isim değiştirmiş olsada bize çok tanıdık gelecek, örneğin eşitliklerle göstermek ister isek ;

Enterprise PKS Management Cluster = NSX-T’deki Management Cluster
*vCenter, NSX-T Manager ve NSX-T Controller kurulduğu ortam

Enterprise PKS Edge Cluster = NSX-T’deki Edge Cluster
*Edge Node’ları yerleştirdiğimiz içersinde T0 ve T1 konuşlandığı ortam

Enterprise PKS Compute Cluster = NSX-T’deki Compute Cluster
*Sanal sunucuların koşacağı ortam ki burada PKS için konuşmaya başladığımızda her bir K8S Cluster’ı yaratıldığında Master ve Worker node’ların konuşlanacağı ortam

Burada yeni duyacağımız birşey “Enterprise PKS Management Plane” olacak. Aslında bu kısım yine Management Cluster içersinde konuşlanabilecek olan PKS’i var eden bileşenler;

  • Pivotal Ops Manager
    • Web tabanlı bir panel, tüm PKS ile alakalı şeyleri bu panel üzerinden yürüteceğiz.
    • VM form factor.
    • Aşağıda gördüğünüz kareye PKS veya CF/PCF ‘ciler fayans diyorlar 😀
  • Pivotal BOSH Director
    • BOSH araçlarının toplandığı bileşen, tüm kurulum ve monitoring’leri , iyileştirmeleri o yapıcak.
    • VM form factor.
    • Ana bileşen, bir çeşit GS’nin Muslera’sı gibi.
  • PKS Control Plane
    • K8s cluster’larını yaratan, yöneten, silen, gerektiğinde artıran azaltan komutları API üzerinden alıp bunu BOSH’a ileten bileşen.
    • VM form factor.
  • VMware Harbor Registry
    • Gitlab Container Registry, jFrog Artifactory gibi daha bir çoğunu sayabileceğimiz Docker imajlarını tutan, bunları multi-tenant ve RBAC destekli, kendine göre bir yedeklilik yapısı olan Container imajlarını güvenlik için tarayanabilen bir repo. Diğerleri için buradan bakabilirsiniz. VM form factor.

PKS bileşenlerinin bir K8s Cluster yaratırken aralarındaki iletişim aşağıdaki gibi oluyor.

PKS ile bir K8s Cluster’ı kuracağınızda size birden fazla AZ yaratmanızı ve AZ’lara göre master ve worker node’ları konuşlandırmanızı istiyor örneğin her bir AZ’de bir master ve plan’a bağlı olarak worker node’lardan oluştuğunu düşünün ve olası bir problemde servislerinizin kesintiye uğramadan yoluna devam ettiğini düşünün.

VMware vSphere ortamında AZ nasıl olacak derseniz AZ’lerden her birinin birbirinden bağımsız vSphere Cluster’ları olduğunu düşünebilirsiniz veya daha küçük bir parça olarak Resource Pool’ları düşünebiliriz.

Aşağıda birkaç dizayn örneği mevcut.

RPD (recommended production deployment) vSan ile ..

Yukarıdaki resme dikkat ederseniz shared bir datastore gereksinimi var gibi duruyor. İlk baktığımda bunun gereksinimini anlamadım sonuçta vSAN Datastore’lar üzerinde hem statik hemde dinamik kalıcı disk gereksinimi (PV) karşılanabiliyordu ama kaçırdığım vSAN bulunduğu cluster bazında limitli olması, işte shared datastore gereksinimi tüm AZ’lerden ortak erişilebilecek PV’lere imkan sağlayacağı.

RPD (recommended production deployment) vSan olmadan …
MPD (minimum production deployment) 🙂 Ezik 😀

PKS altyapı ve yönetim bileşenleri (NSX-T dahil) için gerekli kaynak gereksinimi aşağıdaki gibidir ;

Harbor ve BOSH Director için disk kapasitelerini biraz yuvarladım. !

PKS tarafından yaratılacak K8S Cluster Node’ların (sanal sunucuların) boyutları için sizlerinde ayarlayabileceğiniz “Plan” / “Şablonlar” mevcut, hem master hemde worker node’lar için gerekli ayarlamaları yapabilirsiniz, gözünüzde canlanması için aşağıda bir iki örnek ekran görüntüsü mevcut.

Master Boyut Ayarlamaları
Worker Boyut Ayarlamaları

Pivotal’in güzel birkaç önerisi mevcut, bakmak için buraya tıklayın.

Pivotal’in bir NSX-T kurulum topolojisi var ama olayın özünde hangi dizayn’ı yaparsanız yapın olayın özü şu BOSH’un yönetim ve izleme amaçlı olarak K8s master ve worker node’lara erişmesi ve K8s API erişilebilir olması önem arz ediyor, bunun için PKS’ciler bunu NAT Topoloji, No-NAT with vSS/vDS ve No-NAT with NSX-T Logical Switch diye özetlemişler.

Her bir K8s cluster yaratma isteği geldiğinde PKS sizin için yukarıda gördüğünüz gibi vSphere ve NSX-T ile konuşarak ;

  • Master ve Worker VM Node’ları yaratacak
  • NSX-T üzerinde Logical Switch’ler (LS) yaratarak
    • Master ve Worker VM Node’lar için bir LS
    • Load Balancer’ları bir LS
    • Her bir namespace için farklı bir LS
  • Her bir LS önüne birer T1 Router yaratacak
  • Load Balancer’lar yaratacak
    • API Erişimi için
    • Master Node’lar için
    • HTTP ve HTTPS Ingress Controller’lar için
  • IPAM desteği verecek
    • Master ve Worker VM Node’lar için
    • Her namespace için
  • T0 Router’lar üzerinde NAT konfigürasyonu yapacak
  • Firewall Servisi Verecek
    • Kube-DNS ve Kube-Dashboard için otomatik olarak firewall tanımları olacak

Karşımıza Cormac Hogan’ın çizdiği şu aşağıdaki güzel resim ortaya çıkmış olacak ….

Muhteşem çizmiş …

Artık bundan sonrasında neler yapabiliyoruz görelim, iyi okumlar …

VM

Posted on 09/05/2019, in PKS and tagged , , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: