Container > Kubernetes > Use case: Installazione di Kubernetes Dashboard

1.6 Use case: Installazione di Kubernetes Dashboard

aggiornato 23/11/2023
 
La guida indicata si riferisce alla versione 2.7.0 della documentazione ufficiale.

Kubernetes Dashboard è una user interface web-based che permette agli utilizzatori di un cluster Kubernetes di amministrare, monitorare e gestire lo stato degli oggetti installati all'interno di un cluster Kubernetes. Può essere usato sia da un punto di vista developer-oriented che operation-oriented. Ciò è utile per gestire ed amministrare un cluster senza l'uso di cli kubectl o altri client Kubernetes.

Obiettivo di questa pagina è descrivere step-by-step la configurazione necessaria per installare la Dashboard ufficiale Kubernetes all'interno di un KaaS.

È prevista l'erogazione del servizio di Dashboard mediante due modalità descritte: con utilizzo di client kubectl o senza utilizzo di client kubectl mediante esposizione pubblica del servizio di Dashboard.

1. Creazione cluster Kubernetes

  • Accedi alla Nuova Piattaforma di Gestione Cloud;
  • nel menù verticale di sinistra I TUOI SERVIZI seleziona la voce Gestione > Container;
  • nell'area Cluster Kubernetes clicca sul pulsante Crea nuovo cluster e procedi alla configurazione;
  • attendi che lo stato del cluster Kubernetes sia Active;
  • accedi alla pagina di dettaglio del cluster;
  • clicca sul pulsante Azioni cluster presente nella parte destra e seleziona, dalla lista proposta, la voce Scarica file config per scaricare il file di configurazione da poter utilizzare per entrare nel cluster mediante kubectl.

2. Installazione Kubernetes Dashboard

  • È necessario aver configurato il kubectl con connessione al cluster.
  • Effettuare il deploy degli oggetti Kubernetes dell'applicativo Dashboard mediante il seguente comando:

    $> kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

3. Generazione Token Utente per Accesso alla Kubernetes Dashboard

  • Viene generato un utente che possa accedere alla Dashboard con i permessi di cluster-admin. L'utente è aruba-admin-user. La guida è valida per cluster Kubernetes successivi alla versione 1.24 quindi vengono ottenuti i token per l'accesso mediante il serviceaccount dedicato all'utente.

    $> kubectl create serviceaccount aruba-admin-user

    $> kubectl create clusterrolebinding aruba-admin-user-binding \
       --clusterrole cluster-admin \
       --serviceaccount default:aruba-admin-user

    $> kubectl create token aruba-admin-user

  • Memorizzare il token ricevuto per inserirlo nella Dashboard ed effettuare la login.

4. Accesso alla Dashboard Web

  • Ci sono due modalità di accesso: con distribuzione diretta del file di config al fine di poter accedere al servizio mediante uso di Proxy Kubernetes oppure con esposizione in rete Internet del servizio mediante utilizzo di un Elastic IP di Aruba Cloud.
     
    • È necessario aver configurato il kubectl con connessione al cluster.
    • Aprire un tunnel locale alla macchina mediante il seguente comando:

      $> kubectl proxy

    • Raggiungere via browser web il seguente indirizzo:

      $> http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

    • Il valore degli indirizzi IP è puramente a titolo di esempio.
    • La modalità d'accesso prevede l'utilizzo di un Elastic IP da associare ad un Load Balancer che viene agganciato al cluster Kubernetes creato. Pertanto è necessario prima creare l'Elastic IP e quindi spostarsi nella sezione dedicata.
    • Assegnare un nome logico alla risorsa.
    • Selezionare il progetto di destinazione dell'Elastic IP.
    • Completare l'acquisto.
    • A questo punto la risorsa va in stato InCreation.
    • Quando il provisioning termina lo stato passa in Not Used per indicare che la risorsa è libera da poter essere assegnata ad un Load Balancer Aruba quando viene creato.
    • Effettuiamo quindi l'esposizione del deployment Kubernetes di tipo Load Balancer così da utilizzare l'elastic IP appena riservato.

      $> kubectl -n kubernetes-dashboard expose deployment --name kube-dashboard-lb --type=LoadBalancer --port=8443 kubernetes-dashboard

    • Quando invece la risorsa viene assegnata ad un Load Balancer lo stato passa in Reserved e dall'oggetto Kubernetes SVC è possibile vedere l'external-ip assegnato con cui è possibile raggiungere la Dashboard mediante IP pubblico.
    • A questo punto è possibile raggiungere la Dashboard all'URL https://<PUBLIC_IP>:8443