KlusterKit

KlusterKit: Un kit di strumenti open source per simplificà l'implementazione di Kubernetes è eseguisce in ambienti in situ fisicamente isolati

KlusterKit

Oghje simu entusiasti di annunzià chì Platform9 hè open sourcing Klusterkit, una suite di trè strumenti, sottu a licenza Apache v2.0 in GitHub.

I nostri clienti sparghje u software in centri di dati privati ​​​​chì spessu ùn sò micca cunnessi à Internet (per sicurezza o altre ragioni). Queste grandi cumpagnie volenu prufittà di Kubernetes è mudernizà e so applicazioni è à u stessu tempu stende in diversi centri di dati, chì spessu ùn sò micca cunnessi cù u mondu esternu. Hè quì chì Klusterkit entra, facendu faciule furnisce è gestisce clusters K8s in ambienti fisicamente isolati.

Klusterkit include trè strumenti indipendenti chì ponu esse aduprati inseme o separatamente per gestisce u ciclu di vita di un cluster di produzzione Kubernetes:

  1. eccdadm, CLI per a gestione simplificata di cluster etcd.
  2. nodeadm, una CLI per l'amministrazione di nodi chì estende kubeadm è implementa e dipendenze necessarie da kubeadm.
  3. cctl, un strumentu di gestione di u ciclu di vita di u cluster chì adopta l'API Cluster da a cumunità Kubernetes è usa nodeadm è etcdadm per furnisce è mantene clusters Kubernetes altamente dispunibuli in ambienti in situ è ​​ancu fisicamente isolati.

Inseme, sti trè strumenti facenu i seguenti compiti:

  • Fornite è gestite facilmente un cluster etcd altamente dispunibile è un dashboard Kubernetes in ambienti in situ fisicamente isolati via l'API Cluster.
  • Ripristina u pannellu di cuntrollu di cluster dopu un fallimentu utilizendu a copia di salvezza etcd.
  • Imballaggio di tutti l'artefatti necessarii per furnisce Kubernetes in ambienti fisicamente isolati.

Caratteristiche di Klusterkit

  • Supportu multi-maestru (HA cluster K8s).
  • Consegna è gestione di clusters eccd sicuri.
  • U travagliu in ambienti fisicamenti isolati.
  • Supporta l'aghjurnamenti rolling è rollbacks.
  • Flannel (vxlan) cum'è CNI per u backend; Ci sò piani di sustegnu à altri CNI.
  • Backup è restaurazione di clusters etcd dopu a perdita di quorum.
  • Prutege u pannellu di cuntrollu da a manca di memoria è u tempu di CPU.

Klusterkit Solution Architecture

KlusterKit

Per a tolleranza di difetti è a simplicità, Klusterkit usa un unicu file cctl-state.yaml per almacenà metadati di cluster Kubernetes. Per mezu di u cctl CLI pudete gestisce u ciclu di vita di un cluster Kubernetes in ogni macchina chì hà stu schedariu di statu. Questu pò esse un laptop di l'operatore o qualsiasi altru computer chì face parte di u cluster Kubernetes.

Cctl implementa è chjama l'interfaccia cluster-api da upstream cum'è una biblioteca per l'operazioni CRUD in clusters. Ellu usa ssh-furnitore, un fornitore di cluster-api bare metal open-source da Platform9, chì à u turnu chjama etcdadm è nodeadm per fà operazioni nantu à u cluster.

Cumu aduprà Klusterkit è i so cumpunenti:

1 - Qualchese di i trè arnesi ponu esse facilmente cullettite cù u cumandamentu di 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 - Questi eseguibili ponu esse imballati è copiati à e macchine di destinazione induve u cluster Kubernetes altamente dispunibile deve esse in esecuzione. Pone i schedarii nodeadm è etcdadm in i direttori di versione:

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

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

3 - Sè avete bisognu di orchestrate un cluster Kubernetes in u locu, in un ambiente fisicu isolatu, i dependenzii necessarii ponu esse facilmente scaricati in anticipu in un computer cù accessu à Internet utilizendu u cumandamentu di download nodeadm è etcdadm. Allora l'articuli scaricati (vale à dì Kubelet è u schedariu di unità di kubelet per systemd, i fugliali eseguibili CNI, u schedariu kubeadm, tutte l'imaghjini di u containeru cumpresi Kubernetes, l'immagine keepalived è u schedariu systemd, l'immagine di u container etcd è i schedarii di cunfigurazione currispondenti) ponu esse facilmente copiati à l'ospiti fisicamenti isolati longu. cù cctl, nodeadm è etcdadm. (Vede i dettagli in lontana).

4 - Una volta chì tuttu hè in u locu, pudete creà u primu cluster Kubernetes cù un coppiu di cumandamenti:

- Prima creanu credenziali per u cluster.

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

- Allora crea un oggettu cluster. -help porta una lista di opzioni supportate.

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

- Infine, crea a prima macchina in u cluster.

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

Leghjite più documentazione à GitHub.

Source: www.habr.com

Add a comment