KlusterKit

KlusterKit: Alat open source pikeun nyederhanakeun panyebaran Kubernetes sareng dijalankeun dina lingkungan anu terasing sacara fisik.

KlusterKit

Dinten ieu kami bungah ngumumkeun yén Platform9 mangrupikeun sumber terbuka Klusterkit, suite tina tilu alat, dina lisénsi Apache v2.0 dina GitHub.

Klién kami ngaluncurkeun parangkat lunak di pusat data pribadi anu sering henteu nyambung ka Internét (pikeun kaamanan atanapi alesan sanés). Perusahaan-perusahaan ageung ieu hoyong ngamangpaatkeun Kubernetes sareng ngamodernisasi aplikasina sareng dina waktos anu sami ngagulungna di pusat data anu béda, anu sering henteu nyambung ka dunya luar. Ieu dimana Klusterkit asup, sahingga gampang pikeun nyadiakeun jeung ngatur K8s klaster dina lingkungan terasing fisik.

Klusterkit kalebet tilu alat mandiri anu tiasa dianggo babarengan atanapi nyalira pikeun ngatur siklus kahirupan klaster produksi Kubernetes:

  1. jsbdadm, CLI pikeun manajemén klaster etcd disederhanakeun.
  2. nodeadm, CLI pikeun administrasi titik anu ngalegaan kubeadm sareng nyebarkeun katergantungan anu diperyogikeun ku kubeadm.
  3. cctl, alat manajemén siklus hirup klaster anu ngadopsi API Kluster ti komunitas Kubernetes sareng nganggo nodeadm sareng etcdadm pikeun nganteurkeun sareng ngajaga klaster Kubernetes anu sayogi pisan di lingkungan lokal sareng terasing sacara fisik.

Kalawan babarengan, tilu alat ieu ngalaksanakeun tugas di handap ieu:

  • Gampang nyayogikeun sareng ngatur kluster jsbd anu sayogi pisan sareng dasbor Kubernetes dina lingkungan anu terasing sacara fisik liwat API Kluster.
  • Malikkeun panel kontrol klaster sanggeus gagal ngagunakeun cadangan etcd.
  • Bungkusan sadaya artefak anu diperyogikeun pikeun nganteurkeun Kubernetes kana lingkungan anu terasing sacara fisik.

fitur Klusterkit

  • rojongan multi-master (HA klaster K8s).
  • Pangiriman sareng manajemén klaster jsb aman.
  • Gawé di lingkungan terasing fisik.
  • Ngarojong upgrades rolling na rollbacks.
  • Flannel (vxlan) sakumaha CNI pikeun backend nu; Aya rencana pikeun ngarojong CNIs séjén.
  • Nyadangkeun tur restorasi of klaster etcd sanggeus leungitna quorum.
  • Ngajagi panel kontrol tina béak mémori sareng waktos CPU.

Arsitéktur Solusi Klusterkit

KlusterKit

Pikeun kasabaran kasalahan sareng kesederhanaan, Klusterkit nganggo file cctl-state.yaml tunggal pikeun nyimpen metadata klaster Kubernetes. Ngaliwatan cctl CLI anjeun tiasa ngatur siklus hirup tina klaster Kubernetes dina mesin naon waé anu ngagaduhan file kaayaan ieu. Ieu tiasa janten laptop operator atanapi komputer sanés anu mangrupikeun bagian tina klaster Kubernetes.

Cctl nerapkeun sareng nyauran antarmuka klaster-api ti hulu salaku perpustakaan pikeun operasi CRUD dina klaster. Anjeunna ngagunakeun ssh-panyadia, Panyadia kluster-api logam bulistir open-source ti Platform9, anu giliran nelepon etcdadm sareng nodeadm pikeun ngalakukeun operasi dina kluster.

Kumaha ngagunakeun Klusterkit sareng komponenana:

1 - Sakur tina tilu alat tiasa gampang dikumpulkeun ku paréntah 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 - Eksekusi ieu teras tiasa dibungkus sareng disalin kana mesin target dimana klaster Kubernetes anu sayogi kedah dijalankeun. Pasang file nodeadm sareng etcdadm dina diréktori versi:

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

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

3 - Lamun perlu orchestrate a klaster Kubernetes lokal, dina lingkungan terasing fisik, gumantungna diperlukeun bisa gampang diundeur sateuacanna dina komputer kalawan aksés Internet ngagunakeun nodeadm na etcdadm paréntah download. Teras item anu diunduh (nyaéta kubelet sareng file unit kubelet pikeun systemd, file laksana CNI, file kubeadm, sadaya gambar wadahna kalebet Kubernetes, gambar keepalived sareng file systemd, gambar wadah jsb sareng file konfigurasi anu cocog) tiasa gampang disalin ka host terasing sacara fisik sapanjang. kalawan cctl, nodeadm na etcdadm. (Tingali rinci dina wiki).

4 - Sakali sagalana geus di tempat, Anjeun bisa nyieun klaster Kubernetes munggaran kalayan sababaraha paréntah:

- Mimiti ngadamel kredensial pikeun kluster.

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

– Teras jieun objék klaster. -help nampilkeun daptar pilihan anu dirojong.

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

- Tungtungna, nyieun mesin munggaran dina kluster.

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

Baca leuwih dokuméntasi di GitHub.

sumber: www.habr.com

Tambahkeun komentar