KlusterKit

KlusterKit: ngwa ọrụ mepere emepe iji mee ka ntinye Kubernetes dị mfe ma na-agba ọsọ na gburugburu ụlọ dịpụrụ adịpụ.

KlusterKit

Taa, anyị nwere obi ụtọ ịkpọsa na Platform9 na-emeghe Klusterkit, ngwa ọrụ atọ, n'okpuru ikike Apache v2.0 na GitHub.

Ndị ahịa anyị na-ebupụ sọftụwia na ebe data nzuzo nke anaghị ejikọkarị na ịntanetị (maka nchekwa ma ọ bụ ihe ndị ọzọ). Ụlọ ọrụ ndị a buru ibu chọrọ iji Kubernetes mee ihe ma mee ka ngwa ha dị ọhụrụ ma n'otu oge ahụ na-ebupụ ha na ebe data dị iche iche, nke na-adịghị ejikọta ya na mpụga ụwa. Nke a bụ ebe Klusterkit na-abata, na-eme ka ọ dị mfe ịnye na jikwaa ụyọkọ K8 na gburugburu ndị dịpụrụ adịpụ.

Klusterkit gụnyere ngwa atọ nọọrọ onwe ha enwere ike ijikọ ọnụ ma ọ bụ iche iche iji jikwaa usoro ndụ nke ụyọkọ mmepụta Kubernetes:

  1. wdgdm, CLI maka njikwa ụyọkọ wdgd dị mfe.
  2. nodeadm, CLI maka nchịkwa ọnụ nke na-agbatị kubeadm ma na-ebuga ihe ndabere nke kubeadm chọrọ.
  3. ctl, Ngwá ọrụ nchịkwa ndụ ụyọkọ nke na-anabata Cluster API site na obodo Kubernetes ma na-eji nodeadm na etcdadm na-ebufe ma na-echekwa ụyọkọ Kubernetes dị ukwuu n'ime ụlọ na ọbụna ebe dịpụrụ adịpụ.

Ngwakọta atọ ndị a na-arụ ọrụ ndị a:

  • Nweta ngwa ngwa ma jikwaa ụyọkọ wdgd dị nke ukwuu yana dashboard Kubernetes na gburugburu ebe dịpụrụ adịpụ n'anụ ahụ site na Cluster API.
  • Iweghachi ogwe njikwa ụyọkọ mgbe ọdịda na-eji wdgd ndabere.
  • Na-akwakọba ihe arịa niile achọrọ iji nyefee Kubernetes n'ime gburugburu ndị dịpụrụ adịpụ.

Njirimara Klusterkit

  • Nkwado ọtụtụ nna ukwu (ụyọkọ HA K8s).
  • Nnyefe na njikwa nke ụyọkọ wdgd echedoro.
  • Na-arụ ọrụ na gburugburu ndị dịpụrụ adịpụ.
  • Na-akwado nkwalite mpịakọta na ntugharị azụ.
  • Flannel (vxlan) dị ka CNI maka azụ azụ; Enwere atụmatụ ịkwado CNI ndị ọzọ.
  • Ndabere na mweghachi nke ụyọkọ wdgd ka enweghị quorum.
  • Na-echebe ogwe njikwa ka ọ ghara ịdị na ebe nchekwa na oge CPU.

Ngwọta Klusterkit Architecture

KlusterKit

Maka nnabata mmejọ na ịdị mfe, Klusterkit na-eji otu faịlụ cctl-state.yaml iji chekwaa metadata ụyọkọ Kubernetes. Site na cctl CLI ị nwere ike ijikwa usoro ndụ nke ụyọkọ Kubernetes na igwe ọ bụla nwere faịlụ steeti a. Nke a nwere ike ịbụ laptọọpụ onye ọrụ ma ọ bụ kọmputa ọ bụla ọzọ bụ akụkụ nke ụyọkọ Kubernetes.

Cctl na-emejuputa ma na-akpọ interface ụyọkọ-api site na elu dị ka ụlọ akwụkwọ maka ọrụ CRUD na ụyọkọ. Ọ na-eji ssh-enye, onye na-eweta igwe ụyọkọ-api mepere emepe sitere na Platform9, nke n'aka ya na-akpọ etcdadm na nodeadm ka ha rụọ ọrụ na ụyọkọ ahụ.

Otu esi eji Klusterkit na ihe mejupụtara ya:

1 - Enwere ike ịnakọta nke ọ bụla n'ime ngwaọrụ atọ ahụ n'ụzọ dị mfe site na iji nweta iwu:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

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

2 - Enwere ike ịchịkọta ma depụtaghachi ihe ndị a na-arụ ọrụ na igwe ebumnuche ebe ụyọkọ Kubernetes dị nke ukwuu kwesịrị ịdị na-agba ọsọ. Tinye faịlụ nodeadm na etcdadm n'ime akwụkwọ ndekọ aha ụdị:

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

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

3 - Ọ bụrụ na ịchọrọ ịhazi ụyọkọ Kubernetes na mpaghara, na mpaghara dịpụrụ adịpụ, enwere ike ibudata ihe ndabere dị mkpa n'ụzọ dị mfe na kọmputa nwere ohere ịntanetị site na iji nodeadm na etcdadm iwu nbudata. Mgbe ahụ, ihe ebudatara (ya bụ kubelet na kubelet unit faịlụ maka systemd, CNI executable files, kubeadm file, all container images including Kubernetes, keepalive image and systemd file, etcd container image and kwekọrọ na faịlụ nhazi) nwere ike ịdegharị ngwa ngwa gaa na ndị ọbịa nọpụrụ iche. ya na cctl, nodeadm na wdgdadm. (Lee nkọwa n'ime wiki).

4 - Ozugbo ihe niile dị, ị nwere ike ịmepụta ụyọkọ Kubernetes mbụ na iwu ole na ole:

– Mbụ mepụta nzere maka ụyọkọ.

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

– Mgbe ahụ mepụta ụyọkọ ihe. - enyemaka na-ewepụta ndepụta nhọrọ akwadoro.

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

- N'ikpeazụ, mepụta igwe mbụ na ụyọkọ.

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

Gụkwuo akwụkwọ na GitHub.

isi: www.habr.com

Tinye a comment