KlusterKit

KlusterKit: Nyílt forráskódú eszközkészlet a Kubernetes-telepítések egyszerűsítésére és a fizikailag elszigetelt helyszíni környezetekben való futtatásra

KlusterKit

Ma örömmel jelentjük be, hogy a Platform9 nyílt forráskódú Klusterkit, egy három eszközből álló csomag, az Apache v2.0 licenc alatt a GitHubon.

Ügyfeleink olyan privát adatközpontokban bocsátanak ki szoftvereket, amelyek gyakran (biztonsági vagy egyéb okokból) nem csatlakoznak az internethez. Ezek a nagyvállalatok ki akarják használni a Kubernetes előnyeit, és modernizálni kívánják alkalmazásaikat, és egyúttal különböző adatközpontokban is bevezetik azokat, amelyek gyakran nincsenek kapcsolatban a külvilággal. Itt jön be a Klusterkit, amely megkönnyíti a K8s-fürtök kiépítését és kezelését fizikailag elszigetelt környezetben.

A Klusterkit három független eszközt tartalmaz, amelyek együtt vagy külön is használhatók a Kubernetes termelési fürt életciklusának kezelésére:

  1. etcdadm, CLI az egyszerűsített etcd-fürtkezeléshez.
  2. nodeadm, egy CLI a csomópontok adminisztrációjához, amely kiterjeszti a kubeadm-et és telepíti a kubeadm-hez szükséges függőségeket.
  3. cctl, egy fürtéletciklus-kezelő eszköz, amely átveszi a Kubernetes közösség Cluster API-ját, és a nodeadm és etcdadm használatával zökkenőmentesen szállítja és karbantartja a magasan elérhető Kubernetes-fürtöket helyszíni, sőt fizikailag elszigetelt környezetekben is.

Ez a három eszköz együtt a következő feladatokat hajtja végre:

  • Könnyen biztosíthat és kezelhet egy magasan elérhető etcd-fürtöt és Kubernetes-irányítópultot fizikailag elszigetelt helyszíni környezetekben a Cluster API-n keresztül.
  • A fürt vezérlőpultjának visszaállítása hiba után az etcd biztonsági mentés használatával.
  • A Kubernetes fizikailag elszigetelt környezetbe történő szállításához szükséges összes műtermék becsomagolása.

A Klusterkit jellemzői

  • Több mester támogatása (HA klaszter K8s).
  • Biztonságos etcd-fürtök szállítása és kezelése.
  • Fizikailag elszigetelt környezetben végzett munka.
  • Támogatja a gördülő frissítéseket és visszaállításokat.
  • Flanel (vxlan) CNI-ként a háttérben; Tervezik más CNI-k támogatását.
  • Az etcd-fürtök biztonsági mentése és visszaállítása a határozatképesség elvesztése után.
  • Megvédi a központot a memória és a CPU idő kimerülésétől.

Klusterkit Solution Architecture

KlusterKit

A hibatűrés és az egyszerűség érdekében a Klusterkit egyetlen cctl-state.yaml fájlt használ a Kubernetes-fürt metaadatainak tárolására. A cctl parancssori felületen keresztül kezelheti a Kubernetes-fürt életciklusát bármely olyan gépen, amelyen ez az állapotfájl található. Ez lehet egy kezelő laptopja vagy bármely más számítógép, amely a Kubernetes-fürt része.

Cctl valósítja meg és hívja meg a fürt-api interfészt az upstreamről könyvtárként a fürtök CRUD műveleteihez. Használja ssh-szolgáltató, egy nyílt forráskódú csupasz fém fürt-api szolgáltató a Platform9-ről, amely viszont meghívja az etcdadm-et és a nodeadm-et, hogy műveleteket hajtson végre a fürtön.

A Klusterkit és összetevőinek használata:

1 – A három eszköz bármelyike ​​könnyen összegyűjthető a go get paranccsal:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 – Ezek a végrehajtható fájlok ezután csomagolhatók és másolhatók a célgépekre, ahol a magas rendelkezésre állású Kubernetes-fürtnek futnia kell. Helyezze a nodeadm és etcdadm fájlokat a verziókönyvtárakba:

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

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

3 – Ha egy Kubernetes-fürtöt helyben, fizikailag elszigetelt környezetben kell hangszerelni, a szükséges függőségek könnyen előre letölthetők egy internet-hozzáféréssel rendelkező számítógépre a nodeadm és etcdadm download parancs segítségével. Ezután a letöltött elemek (pl. kubelet és kubelet egység fájl systemd, CNI futtatható fájlokhoz, kubeadm fájl, minden tárolókép, beleértve a Kubernetes-t, a Keepalved kép és a systemd fájl, etcd tárolókép és a megfelelő konfigurációs fájlok) egyszerűen másolhatók fizikailag elszigetelt gazdagépekre. cctl, nodeadm és etcdadm segítségével. (Részleteket lásd itt wiki).

4 – Ha minden a helyén van, néhány paranccsal létrehozhatja az első Kubernetes-fürtöt:

– Először hozzon létre hitelesítő adatokat a fürthöz.

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

– Ezután hozzon létre egy fürt objektumot. – A Help megjeleníti a támogatott opciók listáját.

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

– Végül hozza létre az első gépet a fürtben.

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

Olvassa el a további dokumentációt a címen GitHub.

Forrás: will.com

Hozzászólás