Küme Kiti

KlusterKit: Kubernetes dağıtımlarını basitleştirmeye ve fiziksel olarak izole edilmiş şirket içi ortamlarda çalıştırmaya yönelik açık kaynaklı bir araç seti

Küme Kiti

Bugün, Platform9'un GitHub'da Apache v2.0 lisansı altında üç araçtan oluşan bir paket olan açık kaynaklı Klusterkit olduğunu duyurmanın heyecanını yaşıyoruz.

Müşterilerimiz yazılımları genellikle internete bağlı olmayan özel veri merkezlerinde (güvenlik veya diğer nedenlerden dolayı) kullanıma sunmaktadır. Bu büyük şirketler Kubernetes'in avantajlarından yararlanarak uygulamalarını modernize etmek ve aynı zamanda bunları genellikle dış dünyayla bağlantısı olmayan farklı veri merkezlerinde kullanıma sunmak istiyor. K8 kümelerinin fiziksel olarak yalıtılmış ortamlarda tedarik edilmesini ve yönetilmesini kolaylaştıran Klusterkit tam da burada devreye giriyor.

Klusterkit, Kubernetes üretim kümesinin yaşam döngüsünü yönetmek için birlikte veya ayrı ayrı kullanılabilecek üç bağımsız araç içerir:

  1. vbdam, basitleştirilmiş vb küme yönetimi için CLI.
  2. düğüm, kubeadm'i genişleten ve kubeadm'in ihtiyaç duyduğu bağımlılıkları dağıtan, düğüm yönetimine yönelik bir CLI.
  3. CCTLKubernetes topluluğunun Cluster API'sini benimseyen ve şirket içi ve hatta fiziksel olarak yalıtılmış ortamlarda yüksek düzeyde kullanılabilir Kubernetes kümelerini sorunsuz bir şekilde sunmak ve sürdürmek için nodeadm ve etcdadm'i kullanan bir küme yaşam döngüsü yönetim aracıdır.

Bu üç araç birlikte aşağıdaki görevleri yerine getirir:

  • Cluster API aracılığıyla fiziksel olarak yalıtılmış şirket içi ortamlarda yüksek düzeyde kullanılabilir bir vb kümesini ve Kubernetes kontrol panelini kolayca sağlayın ve yönetin.
  • Bir arızadan sonra küme kontrol panelini vbd yedeklemesini kullanarak geri yükleme.
  • Kubernetes'i fiziksel olarak yalıtılmış ortamlara sunmak için gereken tüm yapıların paketlenmesi.

Klusterkit'in özellikleri

  • Çoklu yönetici desteği (HA kümesi K8'ler).
  • Güvenli vb. kümelerin teslimi ve yönetimi.
  • Fiziksel olarak izole edilmiş ortamlarda çalışmak.
  • Devamlı yükseltmeleri ve geri almaları destekler.
  • Arka uç için CNI olarak Flannel (vxlan); Diğer CNI'leri destekleme planları var.
  • Çekirdek kaybından sonra etcd kümelerinin yedeklenmesi ve geri yüklenmesi.
  • Kontrol panelini belleğin ve CPU süresinin dolmasına karşı korur.

Klusterkit Çözüm Mimarisi

Küme Kiti

Hata toleransı ve basitlik açısından Klusterkit, Kubernetes kümesi meta verilerini depolamak için tek bir cctl-state.yaml dosyası kullanır. Cctl CLI aracılığıyla, bu durum dosyasına sahip herhangi bir makinedeki Kubernetes kümesinin yaşam döngüsünü yönetebilirsiniz. Bu, bir operatörün dizüstü bilgisayarı veya Kubernetes kümesinin parçası olan herhangi bir bilgisayar olabilir.

Cctl, kümelerdeki CRUD işlemleri için bir kitaplık olarak yukarı akıştan küme-api arayüzünü uygular ve çağırır. O kullanır ssh sağlayıcısıPlatform9'dan açık kaynaklı bir yalın donanım küme API sağlayıcısı olup, küme üzerinde işlemler gerçekleştirmek için sırasıyla etcdadm ve nodeadm'i çağırır.

Klusterkit ve bileşenleri nasıl kullanılır:

1 – Go get komutuyla üç araçtan herhangi biri kolayca toplanabilir:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

go get -u github.com/kubernetes-sigs/etcdadm

2 – Bu yürütülebilir dosyalar daha sonra paketlenebilir ve yüksek kullanılabilirliğe sahip Kubernetes kümesinin çalışması gereken hedef makinelere kopyalanabilir. Nodeadm ve etcdadm dosyalarını sürüm dizinlerine yerleştirin:

cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//

cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//

3 – Bir Kubernetes kümesini yerel olarak, fiziksel olarak yalıtılmış bir ortamda düzenlemeniz gerekiyorsa, gerekli bağımlılıklar, nodeadm ve etcdadm download komutunu kullanarak İnternet erişimi olan bir bilgisayara önceden kolayca indirilebilir. Daha sonra indirilen öğeler (yani systemd için kubelet ve kubelet birim dosyası, CNI yürütülebilir dosyalar, kubeadm dosyası, Kubernetes dahil tüm kapsayıcı görüntüleri, canlı tutma görüntüsü ve systemd dosyası, vbd kapsayıcı görüntüsü ve ilgili yapılandırma dosyaları) fiziksel olarak izole edilmiş ana bilgisayarlara kolayca kopyalanabilir. cctl, nodeadm ve etcdadm ile. (Ayrıntılara bakın wiki).

4 – Her şey yerli yerine oturduğunda birkaç komutla ilk Kubernetes kümesini oluşturabilirsiniz:

– Öncelikle küme için kimlik bilgilerini oluşturun.

$GOPATH/bin/cctl create credential --user root --private-key ~/.ssh/id_rsa

– Daha sonra bir küme nesnesi oluşturun. –help desteklenen seçeneklerin bir listesini getirir.

$GOPATH/bin/cctl create cluster --pod-network 192.168.0.0/16 --service-network 192.169.0.0/24

– Son olarak kümedeki ilk makineyi oluşturun.

$GOPATH/bin/cctl create machine --ip $MACHINE_IP --role master

Daha fazla belgeyi şu adreste okuyun: GitHub.

Kaynak: habr.com

Yorum ekle