Installare Kasten K10 in un cluster Kubernetes è un’operazione semplice, ma richiede alcune verifiche preliminari fondamentali, specialmente lato snapshot e CSI driver.
In questo articolo vedremo:
- Verificare prerequisiti con script ufficiale
- Installazione di K10
- Etichettatura delle SnapshotClass
- Avvio e verifica finale
Verifica prerequisiti con k10_primer
Prima di installare K10 è obbligatorio verificare che il cluster sia pronto.
Kasten fornisce uno script ufficiale chiamato k10_primer.sh.
curl https://docs.kasten.io/downloads/8.0.4/tools/k10_primer.sh | bash
Lo script verifica:
- La presenza del CSI driver (nel mio caso synology)
- Snapshot CRD installate
- VolumeSnapshotClass disponibili
- Permessi RBAC
- Storage supportato
- Compatibilità Kubernetes
Output atteso: Cluster meets K10 requirements
Se compaiono dei warning o errori in particolare sulle snapshot, bisogna riconfigurare correttamente la SnapshotClass come indicato ad esempio nella nota 1.
Installazione di K10
Aggiungere il repository Helm:
- helm repo add kasten https://charts.kasten.io/
- helm repo update
Creare il namespace:
- kubectl create namespace kasten-io
Installazione di K10:
- helm install k10 kasten/k10 \
- –namespace kasten-io
Per verificare lo stato dei pod avviare il semplice comando:
- kubectl -n kasten-io get pods
Quando tutti i pod sono Running, K10 è operativo.
Nota 1: Etichettare la VolumeSnapshotClass
Affinché K10 possa utilizzare le snapshot CSI, è necessario etichettare la VolumeSnapshotClass attraverso dapprima la verifica che le snapshotclass siano disponibili:
- kubectl get volumesnapshotclass
Dopo averle individuate (nel mio laboratorio sono indicate come Synology iSCSI), devono essere etichettate con il comando:
- kubectl label volumesnapshotclass <NOME_SNAPSHOTCLASS> \
- k10.kasten.io/is-snapshot-class=true
Questa label è fondamentale: senza di essa K10 non utilizzerà quella snapshot class per i backup.
Verifica: kubectl get volumesnapshotclass –show-labels
Avvio e accesso a K10
Come ogni microservizio è possibile esporre k10 via LoadBalancer o Ingress.
Dopo aver indivuduato il servizio k10 (kubectl -n kasten-io get svc gateway) lanciate i corretti comandi per esporre il servizio K10.
- Lo storage venga rilevato
- Le snapshot siano disponibili
Ora è possibile creare una prima policy di test che sfrutti unicamente le snapshot come primo repository.
In un prossimo articolo mostreremo come aggiungere attraverso le location profile un repository.
Conclusione
L’installazione di Kasten K10 è lineare, ma la parte critica è:
- Verificare preliminare con
k10_primer - Configurazione corretta delle SnapshotClass
