KlusterKit: Un kit di strumenti open source per simplificà l'implementazione di Kubernetes è eseguisce in ambienti in situ fisicamente isolati
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:
eccdadm, CLI per a gestione simplificata di cluster etcd.
nodeadm, una CLI per l'amministrazione di nodi chì estende kubeadm è implementa e dipendenze necessarie da kubeadm.
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
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:
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: