Vai al contenuto principale
Versione: 3.0.0-alpha (Diátaxis)

Accesso e strumenti

Recupero del Kubeconfig

Una volta distribuito il cluster, recuperate le credenziali di accesso:

# Kubeconfig admin completo
kubectl get secret <cluster-name>-admin-kubeconfig \
-o go-template='{{ printf "%s\n" (index .data "super-admin.conf" | base64decode) }}' \
> cluster-admin.yaml

# Kubeconfig in sola lettura (se configurato)
kubectl get secret <cluster-name>-readonly-kubeconfig \
-o go-template='{{ printf "%s\n" (index .data "readonly.conf" | base64decode) }}' \
> cluster-readonly.yaml

Configurazione RBAC

Dopo la distribuzione, configurate gli accessi utente:

# Connettersi al cluster
export KUBECONFIG=cluster-admin.yaml

# Creare ruoli e binding
kubectl apply -f rbac-config.yaml

Monitoring e Osservabilita

Metriche del Cluster

# Stato generale del cluster Hikube
kubectl get kubernetes <cluster-name> -o yaml

# Nodi del cluster Kubernetes
kubectl --kubeconfig=cluster-admin.yaml get nodes

# Metriche delle risorse
kubectl --kubeconfig=cluster-admin.yaml top nodes
kubectl --kubeconfig=cluster-admin.yaml top pods

Log e Debugging

# Eventi del cluster
kubectl describe kubernetes <cluster-name>

# Log dei componenti
kubectl logs -n kamaji -l app.kubernetes.io/instance=<cluster-name>

# Stato dettagliato delle macchine
kubectl get machines -l cluster.x-k8s.io/cluster-name=<cluster-name>

Gestione del Ciclo di Vita

Aggiornamento

# Aggiornamento del cluster
kubectl patch kubernetes <cluster-name> --type='merge' -p='
spec:
version: "v1.29.0" # Nuova versione Kubernetes
'

Scaling

# Scaling di un node group
kubectl patch kubernetes <cluster-name> --type='merge' -p='
spec:
nodeGroups:
compute:
maxReplicas: 20 # Aumentare il limite
'

Eliminazione

# ATTENZIONE: Eliminazione irreversibile del cluster
kubectl delete kubernetes <cluster-name>

Risoluzione dei problemi

Problemi Comuni

# Cluster bloccato in creazione
kubectl describe kubernetes <cluster-name>
kubectl get events --field-selector involvedObject.name=<cluster-name>

# Nodi non pronti
kubectl --kubeconfig=cluster-admin.yaml describe nodes
kubectl get machines -l cluster.x-k8s.io/cluster-name=<cluster-name>

# Add-on in errore
kubectl --kubeconfig=cluster-admin.yaml get pods -A
kubectl --kubeconfig=cluster-admin.yaml describe helmreleases -A

Log Dettagliati

# Log Cluster API
kubectl logs -n capi-system -l control-plane=controller-manager

# Log Kamaji (piano di controllo)
kubectl logs -n kamaji-system -l app.kubernetes.io/name=kamaji

# Log KubeVirt (worker)
kubectl logs -n kubevirt -l kubevirt.io=virt-controller