--- title: Hello Minikube content_type: tutorial weight: 5 menu: main: title: "Cominciamo!" weight: 10 post: >
Sei pronto a cominciare con Kubernetes? Crea un Kubernetes cluster ed esegui un'appliczione di esempio.
card: name: tutorials weight: 10 --- Questo tutorial mostra come eseguire una semplice applicazione in Kubernetes utilizzando [Minikube](/docs/setup/learning-environment/minikube) e Katacoda. Katacoda permette di operare su un'installazione di Kubernetes dal tuo browser. {{< note >}} Come alternativa, è possibile eseguire questo tutorial [installando minikube](/docs/tasks/tools/install-minikube/) localmente. {{< /note >}} ## {{% heading "objectives" %}} * Rilasciare una semplice applicazione su Minikube. * Eseguire l'applicazione. * Visualizzare i log dell'applicazione. ## {{% heading "prerequisites" %}} Questo tutorial fornisce una container image che utilizza NGINX per risponde a tutte le richieste con un echo che visualizza i dati della richiesta stessa. ## Crea un Minikube cluster 1. Click **Launch Terminal** {{< kat-button >}} {{< note >}}Se hai installato Minikube localmente, esegui `minikube start`.{{< /note >}} 2. Apri la console di Kubernetes nel browser: ```shell minikube dashboard ``` 3. Katacoda environment only: In alto alla finestra del terminale, fai click segno più, e a seguire click su **Select port to view on Host 1**. 4. Katacoda environment only: Inserisci `30000`, a seguire click su **Display Port**. ## Crea un Deployment Un Kubernetes [*Pod*](/docs/concepts/workloads/pods/pod/) è un gruppo di uno o più Containers, che sono uniti tra loro dal punto di vista amministrativo e che condividono lo stesso network. Il Pod in questo tutorial ha un solo Container. Un Kubernetes [*Deployment*](/docs/concepts/workloads/controllers/deployment/) monitora lo stato del Pod ed eventualmente provvedere a farlo ripartire nel caso questo termini. L'uso dei Deployments è la modalità raccomandata per gestire la creazione e lo scaling dei Pods. 1. Usa il comando `kubectl create` per creare un Deployment che gestisce un singolo Pod. Il Pod eseguirà un Container basato sulla Docker image specificata. ```shell kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4 ``` 2. Visualizza il Deployment: ```shell kubectl get deployments ``` L'output del comando è simile a: ``` NAME READY UP-TO-DATE AVAILABLE AGE hello-node 1/1 1 1 1m ``` 3. Visualizza il Pod creato dal Deployment: ```shell kubectl get pods ``` L'output del comando è simile a: ``` NAME READY STATUS RESTARTS AGE hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m ``` 4. Visualizza gli eventi del cluster Kubernetes: ```shell kubectl get events ``` 5. Visualizza la configurazione di `kubectl`: ```shell kubectl config view ``` {{< note >}}Per maggiori informazioni sui comandi di `kubectl`, vedi [kubectl overview](/docs/user-guide/kubectl-overview/).{{< /note >}} ## Crea un Service Con le impostazioni di default, un Pod è accessibile solamente dagli indirizzi IP interni al Kubernetes cluster. Per far si che il Container `hello-node` sia accessibile dall'esterno del Kubernetes virtual network, è necessario esporre il Pod utilizzando un Kubernetes [*Service*](/docs/concepts/services-networking/service/). 1. Esponi il Pod su internet untilizzando il comando `kubectl expose`: ```shell kubectl expose deployment hello-node --type=LoadBalancer --port=8080 ``` Il flag `--type=LoadBalancer` indica la volontà di esporre il Service all'esterno del Kubernetes cluster. 2. Visualizza il Servizio appena creato: ```shell kubectl get services ``` L'output del comando è simile a: ``` NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-node LoadBalancer 10.108.144.78