Skip to content

Latest commit

 

History

History
170 lines (108 loc) · 4.08 KB

README.md

File metadata and controls

170 lines (108 loc) · 4.08 KB

SOS-CLUSTER

Installare un Bare Metal Cluster Kubernetes per testing e produzione senza utilizzare nessun servizio di terze parti (load balancer, storage, etc.).

Riflessioni, guide e work in progress.

In progress

  • HA storage

To do

  • Load balancing dei worker (Metallb)
  • Certificate issuer (Cert-manager)
  • CI/CD

Juju

Generare chiave ssh sul primo nodo:

ssh-keygen

Copiare la chiave ssh su tutti gli altri nodi:

ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]

Installare juju:

sudo snap install juju --classic

Creare il cloud:

juju add-cloud

Fare il bootstrap del controller:

juju bootstrap cloud_name manual_controller_name

Aggiungere le macchine al cloud creato:

juju add-machine ssh:[email protected]
juju add-machine ssh:[email protected]
juju add-machine ssh:[email protected]
juju add-machine ssh:[email protected]
juju add-machine ssh:[email protected]
juju add-machine ssh:[email protected]
juju add-machine ssh:[email protected]
juju add-machine ssh:[email protected]
juju add-machine ssh:[email protected]

Deploy Charmed Kubernetes

Vanilla Bundle

Fare il deploy di Charmed Kubernetes sul nodo dove è installato juju:

juju deploy charmed-kubernetes --map-machines=existing

Custom bundle

Scaricare il modello custom sul nodo dove è installato juju e fare il deploy:

wget https://raw.githubusercontent.com/lascuolaopensource/pala-cluster/main/charmed-k8s-9nodi-180421.yaml
juju deploy ./*.yaml --map-machines=existing

Scalare master e kubeapi loadbalancer (solo per Vanilla Bundle)

juju add-unit -n 1 kubernetes-master --to 4
juju add-unit -n 2 kubeapi-load-balancer --to 4,5

Deploy HAcluster (solo per Vanilla Bundle)

juju deploy hacluster --series focal
juju config kubeapi-load-balancer ha-cluster-vip="192.168.1.10 192.168.1.11"
juju relate kubeapi-load-balancer hacluster

Teardown

Rimuovere cloud, modelli e controller (sperimentale)

juju destroy-model "MODEL_NAME"
juju destroy-contoller "CONTROLLER_NAME"
juju remove-cloud "CLOUD_NAME"
sudo /sbin/remove-juju-services
rm ~/.kube/config
rm /home/ubuntu/*

Links

GUI Per Juju

Vault come EasyRSA

Loadbalancer

Riflessioni su HA

HACluster

MetalLB

Storage

Rook-Ceph

Rook site

Rook + Ceph - Survival guide

CephFS

Ceph Cluster Configuration

NFS

HA NFS Storage

External NFS Storage Provider

Hosted NFS

NFS example

StorageOS

StorageOS su Juju

StorageOS Host Managing

Possibile Guida StorageOS

Juju Storage

Juju Storage Pools and Kubernetes

Juju Storage Read Write Many