KlusterKit

KlusterKit: Open source sada nástrojů pro zjednodušení nasazení Kubernetes a spuštění ve fyzicky izolovaných místních prostředích

KlusterKit

Dnes s potěšením oznamujeme, že Platform9 je open sourcing Klusterkit, sada tří nástrojů, pod licencí Apache v2.0 na GitHubu.

Naši klienti zavádějí software v soukromých datových centrech, která často nejsou připojena k internetu (z bezpečnostních nebo jiných důvodů). Tyto velké společnosti chtějí využít Kubernetes a modernizovat své aplikace a zároveň je zavádět v různých datových centrech, která často nejsou propojena s vnějším světem. Zde přichází na řadu Klusterkit, který usnadňuje poskytování a správu clusterů K8s ve fyzicky izolovaných prostředích.

Klusterkit obsahuje tři nezávislé nástroje, které lze použít společně nebo samostatně ke správě životního cyklu produkčního clusteru Kubernetes:

  1. atddadm, CLI pro zjednodušenou správu clusteru etcd.
  2. nodeadm, rozhraní CLI pro správu uzlů, které rozšiřuje kubeadm a nasazuje závislosti potřebné pro kubeadm.
  3. cctl, nástroj pro správu životního cyklu clusteru, který přijímá Cluster API od komunity Kubernetes a využívá nodeadm a etcdadm k bezproblémovému poskytování a údržbě vysoce dostupných clusterů Kubernetes v místních a dokonce i fyzicky izolovaných prostředích.

Tyto tři nástroje společně vykonávají následující úkoly:

  • Snadno zřizovat a spravovat vysoce dostupný cluster etcd a řídicí panel Kubernetes ve fyzicky izolovaných místních prostředích prostřednictvím rozhraní Cluster API.
  • Obnovení ovládacího panelu clusteru po selhání pomocí zálohy etcd.
  • Balení všech artefaktů potřebných k dodání Kubernetes do fyzicky izolovaných prostředí.

Vlastnosti Klusterkitu

  • Podpora více masterů (HA cluster K8s).
  • Doručování a správa zabezpečených clusterů etcd.
  • Práce ve fyzicky izolovaném prostředí.
  • Podporuje postupné upgrady a vrácení zpět.
  • Flannel (vxlan) jako CNI pro backend; Existují plány na podporu dalších CNI.
  • Zálohování a obnova clusterů etcd po ztrátě kvora.
  • Chrání ústřednu před nedostatkem paměti a času CPU.

Architektura řešení Klusterkit

KlusterKit

Kvůli odolnosti proti chybám a jednoduchosti používá Klusterkit k ukládání metadat clusteru Kubernetes jeden soubor cctl-state.yaml. Prostřednictvím cctl CLI můžete spravovat životní cyklus clusteru Kubernetes na jakémkoli počítači, který má tento stavový soubor. Může to být notebook operátora nebo jakýkoli jiný počítač, který je součástí clusteru Kubernetes.

Cctl implementuje a volá rozhraní cluster-api z upstreamu jako knihovnu pro operace CRUD na clusterech. Používá ssh-poskytovatel, open-source poskytovatel holého kovu cluster-api od Platform9, který zase volá etcdadm a nodeadm, aby prováděly operace na clusteru.

Jak používat Klusterkit a jeho součásti:

1 – Kterýkoli ze tří nástrojů lze snadno shromáždit pomocí příkazu go get:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 – Tyto spustitelné soubory lze poté zabalit a zkopírovat do cílových počítačů, kde by měl běžet vysoce dostupný cluster Kubernetes. Umístěte soubory nodeadm a etcdadm do adresářů verzí:

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

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

3 – Pokud potřebujete zorganizovat cluster Kubernetes lokálně, ve fyzicky izolovaném prostředí, lze potřebné závislosti snadno předem stáhnout do počítače s přístupem k internetu pomocí příkazu ke stažení nodeadm a etcdadm. Poté lze stažené položky (tj. soubor kubelet a kubelet unit pro systemd, spustitelné soubory CNI, soubor kubeadm, všechny obrazy kontejnerů včetně Kubernetes, soubor bitových kopií a systemd, obraz kontejneru etcd a odpovídající konfigurační soubory) snadno zkopírovat na fyzicky izolované hostitele. s cctl, nodeadm a etcdadm. (Viz podrobnosti v wiki).

4 – Jakmile je vše na svém místě, můžete vytvořit první cluster Kubernetes pomocí několika příkazů:

– Nejprve vytvořte přihlašovací údaje pro cluster.

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

– Poté vytvořte objekt clusteru. –help zobrazí seznam podporovaných možností.

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

– Nakonec vytvořte první počítač v clusteru.

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

Přečtěte si další dokumentaci na GitHub.

Zdroj: www.habr.com

Přidat komentář