KlusterKit

KlusterKit: Kit alat sumber terbuka untuk memudahkan penggunaan Kubernetes dan dijalankan dalam persekitaran di premis yang terpencil secara fizikal

KlusterKit

Hari ini kami teruja untuk mengumumkan bahawa Platform9 adalah sumber terbuka Klusterkit, satu set tiga alatan, di bawah lesen Apache v2.0 di GitHub.

Pelanggan kami melancarkan perisian di pusat data peribadi yang selalunya tidak disambungkan ke Internet (untuk keselamatan atau sebab lain). Syarikat-syarikat besar ini ingin memanfaatkan Kubernetes dan memodenkan aplikasi mereka dan pada masa yang sama melancarkannya di pusat data yang berbeza, yang selalunya tidak disambungkan ke dunia luar. Di sinilah Klusterkit masuk, menjadikannya mudah untuk menyediakan dan mengurus kluster K8 dalam persekitaran terpencil secara fizikal.

Klusterkit termasuk tiga alatan bebas yang boleh digunakan bersama atau berasingan untuk mengurus kitaran hayat kluster pengeluaran Kubernetes:

  1. etcdadm, CLI untuk pengurusan kluster etcd yang dipermudahkan.
  2. nodeadm, CLI untuk pentadbiran nod yang memanjangkan kubeadm dan menggunakan kebergantungan yang diperlukan oleh kubeadm.
  3. cctl, alat pengurusan kitaran hayat kluster yang mengguna pakai API Kluster daripada komuniti Kubernetes dan menggunakan nodeadm dan etcdadm untuk menyampaikan dan mengekalkan kluster Kubernetes yang sangat tersedia dengan lancar dalam persekitaran di premis dan juga terpencil secara fizikal.

Bersama-sama, ketiga-tiga alat ini melaksanakan tugas berikut:

  • Sediakan dan uruskan kluster dsb yang sangat tersedia dan papan pemuka Kubernetes dalam persekitaran di premis yang terpencil secara fizikal melalui API Kluster.
  • Memulihkan panel kawalan kelompok selepas kegagalan menggunakan sandaran etcd.
  • Membungkus semua artifak yang diperlukan untuk menghantar Kubernetes ke dalam persekitaran terpencil secara fizikal.

Ciri Klusterkit

  • Sokongan berbilang induk (kelompok HA K8s).
  • Penghantaran dan pengurusan kluster etcd selamat.
  • Bekerja dalam persekitaran terpencil secara fizikal.
  • Menyokong naik taraf rolling dan rollback.
  • Flanel (vxlan) sebagai CNI untuk bahagian belakang; Terdapat rancangan untuk menyokong CNI lain.
  • Sandaran dan pemulihan kluster dsb selepas kehilangan kuorum.
  • Melindungi panel kawalan daripada kehabisan memori dan masa CPU.

Senibina Penyelesaian Klusterkit

KlusterKit

Untuk toleransi kesalahan dan kesederhanaan, Klusterkit menggunakan satu fail cctl-state.yaml untuk menyimpan metadata kelompok Kubernetes. Melalui cctl CLI anda boleh menguruskan kitaran hayat gugusan Kubernetes pada mana-mana mesin yang mempunyai fail keadaan ini. Ini boleh menjadi komputer riba pengendali atau mana-mana komputer lain yang merupakan sebahagian daripada gugusan Kubernetes.

Cctl melaksanakan dan memanggil antara muka kluster-api dari huluan sebagai perpustakaan untuk operasi CRUD pada kluster. Dia menggunakan ssh-pembekal, penyedia api kluster logam terdedah sumber terbuka daripada Platform9, yang seterusnya memanggil etcdadm dan nodeadm untuk melaksanakan operasi pada kluster.

Cara menggunakan Klusterkit dan komponennya:

1 – Mana-mana daripada tiga alatan boleh dikumpulkan dengan mudah dengan arahan 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 – Boleh laku ini kemudiannya boleh dibungkus dan disalin ke mesin sasaran di mana kluster Kubernetes yang sangat tersedia harus dijalankan. Letakkan fail nodeadm dan etcdadm dalam direktori versi:

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

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

3 – Jika anda perlu mengatur kluster Kubernetes secara tempatan, dalam persekitaran terpencil secara fizikal, kebergantungan yang diperlukan boleh dimuat turun dengan mudah terlebih dahulu pada komputer dengan akses Internet menggunakan arahan muat turun nodeadm dan etcdadm. Kemudian item yang dimuat turun (iaitu fail unit kubelet dan kubelet untuk systemd, fail boleh laku CNI, fail kubeadm, semua imej kontena termasuk Kubernetes, imej keepalived dan fail systemd, imej kontena dsb dan fail konfigurasi yang sepadan) boleh disalin dengan mudah ke hos yang diasingkan secara fizikal bersama-sama. dengan cctl, nodeadm dan etcdadm. (Lihat butiran dalam wiki).

4 – Setelah semuanya siap, anda boleh mencipta gugusan Kubernetes pertama dengan beberapa arahan:

– Mula-mula buat bukti kelayakan untuk kluster.

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

– Kemudian buat objek kluster. –bantuan memaparkan senarai pilihan yang disokong.

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

– Akhir sekali, cipta mesin pertama dalam kelompok.

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

Baca lebih banyak dokumentasi di GitHub.

Sumber: www.habr.com

Tambah komen