KlusterKit

KlusterKit: nyílt forráskódú eszközkészlet a Kubernetes telepítések egyszerűsítésére és fizikailag elszigetelt helyi környezetekben való működtetésére

KlusterKit

Ma örömmel jelentjük be, hogy a Platform9 megnyitja a Klusterkit, három eszközből álló szett nyílt forráskódját, az Apache v2.0 licenc alatt a GitHub-on.

Ügyfeleink olyan magán adatközpontokban telepítik a szoftvereket, amelyek gyakran nem csatlakoznak az internethez (biztonsági okokból vagy más okok miatt). Ezek a nagyvállalatok szeretnék kihasználni a Kubernetes előnyeit, modernizálni alkalmazásaikat, miközben különböző adatközpontokban telepítik őket, amelyek gyakran nem rendelkeznek külső kapcsolattal. Itt jön a Klusterkit a segítségükre, amely egyszerűsíti a Kubernetes klaszterek telepítését és kezelését fizikailag elszigetelt környezetekben.

A Klusterkit három független eszközt tartalmaz, amelyeket együtt vagy külön-külön használhatunk a production Kubernetes klaszter életciklusának kezelésére:

  1. etcdadm, CLI az etcd klaszter egyszerűsített kezelésére.
  2. nodeadm, CLI a node-ok adminisztrálására, amely kiegészíti a kubeadm-ot és telepíti a kubeadm-hoz szükséges függőségeket.
  3. cctl, a klaszter életciklus kezelésére szolgáló eszköz, amely a Kubernetes közösség Cluster API-ját használja, és a nodeadm-ot és etcdadm-ot alkalmazva problémamentesen biztosítja és tartja fenn a nagy rendelkezésre állású Kubernetes klasztereket helyi, beleértve a fizikailag elszigetelt környezetekben.

E három eszköz együtt a következő feladatokat végzi:

  • Egyszerű telepítés és a Kubernetes kezelőfelület magas rendelkezésre állású klaszterének kezelése fizikailag elszigetelt helyi környezetekben a Cluster API-n keresztül.
  • A klaszter kezelőfelület helyreállítása hiba esetén az etcd biztonsági mentése segítségével.
  • Minden szükséges artefaktum csomagolása a Kubernetes telepítéséhez fizikailag elszigetelt környezetekben.

A Klusterkit lehetőségei

  • Több gazda támogatása (HA K8s klaszter).
  • Védett etcd klaszterek telepítése és kezelése.
  • Működés fizikailag elszigetelt környezetekben.
  • Fokozatos frissítések és visszagörgetések támogatása.
  • Flannel (vxlan) mint CNI backend; más CNI-k támogatása tervezett.
  • Az etcd klaszterek quorum elvesztése utáni biztonsági mentése és helyreállítása.
  • A kezelőfelület védelme memória- és CPU-időhiány ellen.

A Klusterkit megoldás architektúrája

KlusterKit

A megbízhatóság és egyszerűség érdekében a Klusterkit egyetlen cctl-state.yaml fájlt használ a Kubernetes klaszter metaadatainak tárolására. A cctl CLI-n keresztül bármely gépen kezelheti a Kubernetes klaszter életciklusát, ahol ez a fájl megtalálható. Ez lehet az operátor laptopja vagy bármely más számítógép, amely csatlakozik a Kubernetes klaszterhez.

A cctl megvalósítja és az upstream cluster-api interfészét hívja meg, mint a klaszterek CRUD műveleteihez szükséges könyvtárat. Használja ssh-provider, nyílt forráskódú cluster-api szolgáltató, amely a Platform9 „bare metal” megoldásán alapul, és amely saját maga hívja az etsdadm-t és a nodeadm-ot a klaszter műveleteinek végrehajtására.

A Klusterkit és alkotóelemeinek használata:

1 – Bármelyik három eszköz könnyen telepíthető a go get parancs használatával:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 – Ezután ezeket az végrehajtható fájlokat be lehet csomagolni és átmásolni a célgépekre, ahol a nagy rendelkezésre állású Kubernetes klaszternek működnie kell. Másolja 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 szüksége van a Kubernetes klaszter helyben, fizikailag elszigetelt környezetben történő vezérlésére, akkor a szükséges függőségek egyszerűen letölthetők egy internetelérhető számítógépre a nodeadm és etcdadm letöltő parancsával. Azután az letöltött elemeket (azaz kubelet és a kubelet unit fájl a systemd-hez, a CNI végrehajtható fájlok, kubeadm fájl, minden konténerkép, beleértve a Kubernetes-t, a keepalived képet és a systemd-fájlt, az etcd tároló képét és a megfelelő konfigurációs fájlokat) egyszerűen átmásolhatók a fizikailag elszigetelt hosztokra a cctl, nodeadm és etcdadm mellett. (Részletekért lásd a wiki).

4 – Amikor minden a helyén van, az első Kubernetes klasztert néhány parancs segítségével létrehozhatja:

– Először hozzon létre klaszterhitelesítő adatokat.

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

– Ezután hozzon létre egy klaszter objektumot. –help megjeleníti a támogatott paraméterek 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 hozzon létre egy első gépet a klaszterben.

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

További dokumentációt olvashat a GitHub.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster