KlusterKit

KlusterKit: He hāmeʻa kumu wehe e hoʻomaʻamaʻa i ka hoʻolaha ʻana o Kubernetes a holo i loko o nā wahi kaʻawale ma ka hale.

KlusterKit

I kēia lā, hauʻoli mākou i ka hoʻolaha ʻana e wehe ana ʻo Platform9 iā Klusterkit, kahi hui o ʻekolu mau mea hana, ma lalo o ka laikini Apache v2.0 ma GitHub.

ʻO kā mākou mea kūʻai aku e hoʻopuka i nā polokalamu i nā kikowaena data pilikino i pili pinepine ʻole i ka Pūnaewele (no ka palekana a i ʻole nā ​​kumu ʻē aʻe). Makemake kēia mau hui nui e hoʻohana i nā Kubernetes a hoʻololi i kā lākou mau noi a ma ka manawa like e ʻōwili iā lākou i waho i nā kikowaena data like ʻole, ʻaʻole i pili pinepine i ka honua o waho. ʻO kēia kahi i komo ai ʻo Klusterkit, e maʻalahi ai ka hoʻolako ʻana a me ka mālama ʻana i nā pūʻulu K8s i nā wahi kaʻawale kino.

Aia ʻo Klusterkit i ʻekolu mau mea hana kūʻokoʻa i hiki ke hoʻohana pū ʻia a ʻokoʻa paha no ka mālama ʻana i ke ola o kahi pūʻulu hana Kubernetes:

  1. etcdadm, CLI no ka hoʻokele hui ʻana etcd maʻalahi.
  2. nodeadm, he CLI no ka hoʻokele node e hoʻolōʻihi i ka kubeadm a kau i nā hilinaʻi e pono ai e kubeadm.
  3. cctl, he mea hana hoʻokele ola pōʻaiapili puʻupuʻu e hoʻohana ana i ka Cluster API mai ke kaiāulu Kubernetes a hoʻohana i ka nodeadm a me etcdadm e hoʻopuka a mālama pono i nā pūʻulu Kubernetes i loaʻa loa i loko o ka hale a me nā wahi kaʻawale kino.

Hoʻohui pū ʻia kēia mau mea hana ʻekolu i kēia mau hana:

  • Hoʻolako maʻalahi a hoʻokele i kahi puʻupuʻu etcd hiki ke loaʻa a me ka dashboard Kubernetes ma nā wahi kaʻawale ma ke kahua ma o ka Cluster API.
  • Hoʻihoʻi hou i ka pūʻulu mana ma hope o ka hoʻohana ʻole ʻana i ka etcd backup.
  • Hoʻopili i nā mea hana a pau e pono ai e hoʻopuka i nā Kubernetes i loko o nā kaiapuni kaʻawale kino.

Nā hiʻohiʻona Klusterkit

  • Kākoʻo haku nui (HA cluster K8s).
  • Ka lawe ʻana a me ka mālama ʻana i nā pūʻulu etcd paʻa.
  • Ke hana nei ma nā wahi kaʻawale kino.
  • Kākoʻo i ka hoʻonui ʻana a me ka rollbacks.
  • Flannel (vxlan) e like me CNI no ka hope; Aia nā hoʻolālā e kākoʻo i nā CNI ʻē aʻe.
  • Hoʻihoʻi a hoʻihoʻi i nā pūʻulu etcd ma hope o ka nalowale o ka quorum.
  • Mālama i ka papa hoʻomalu mai ka pau ʻana o ka hoʻomanaʻo a me ka manawa CPU.

Klusterkit Solution Architecture

KlusterKit

No ka hoʻomanawanui a me ka maʻalahi, hoʻohana ʻo Klusterkit i hoʻokahi faila cctl-state.yaml e mālama i nā metadata cluster Kubernetes. Ma o ka cctl CLI hiki iā ʻoe ke hoʻokele i ke ola o kahi pūʻulu Kubernetes ma kekahi mīkini i loaʻa kēia faila mokuʻāina. Hiki kēia i ka pona a ka mea hoʻohana a i ʻole kekahi kamepiula ʻē aʻe i ʻāpana o ka hui Kubernetes.

Hoʻokomo a kāhea ʻo Cctl i ke kikowaena cluster-api mai luna mai ma ke ʻano he waihona no nā hana CRUD ma nā pūʻulu. Hoʻohana ʻo ia ssh-mea hoʻolako, he mea hāʻawi aku i nā mea hoʻolako pūʻulu metala metala wehe ʻole mai Platform9, a ʻo ia hoʻi e kāhea iā etcdadm a me nodeadm e hana i nā hana ma ka pūʻulu.

Pehea e hoʻohana ai iā Klusterkit a me kāna mau mea:

1 - Hiki ke hōʻiliʻili maʻalahi ʻia kekahi o nā mea hana ʻekolu me ke kauoha 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 - Hiki ke hoʻopili ʻia kēia mau mea hoʻokō a kope ʻia i nā mīkini ʻimi kahi e holo ai ka pūʻulu Kubernetes i loaʻa loa. E kau i nā faila nodeadm a me etcdadm i nā papa kuhikuhi mana:

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

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

3 - Inā pono ʻoe e hoʻonohonoho i kahi hui Kubernetes ma ka ʻāina, i kahi kaʻawale kino, hiki ke hoʻoiho mua ʻia nā hilinaʻi pono ma mua o kahi kamepiula me ka ʻike pūnaewele me ka hoʻohana ʻana i ke kauoha download nodeadm a etcdadm. A laila hiki ke kope kope ʻia nā mea i hoʻoiho ʻia (ʻo ia hoʻi, kubelet a me kubelet unit file no systemd, CNI executable files, kubeadm file, nā kiʻi pahu āpau me Kubernetes, keepalived image and systemd file, etcd container kiʻi a me nā faila hoʻonohonoho pili) hiki ke kope maʻalahi i nā pūʻali kaʻawale kino. me cctl, nodeadm a me etcdadm. (E ʻike i nā kikoʻī ma wiki).

4 - Ke paʻa nā mea āpau, hiki iā ʻoe ke hana i ka hui Kubernetes mua me nā kauoha ʻelua:

- E hana mua i nā hōʻoia no ka hui.

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

- A laila hana i kahi mea hui. -help i ka papa inoa o nā koho i kākoʻo ʻia.

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

- ʻO ka hope, hana i ka mīkini mua i ka hui.

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

E heluhelu hou i ka palapala ma GitHub.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka