Guida rapida

Questo argomento mostra come creare un workload su GKE su AWS ed esporlo internamente al cluster.

Prima di iniziare

Prima di iniziare a utilizzare GKE su AWS, assicurati di aver eseguito le seguenti operazioni:

  • Installa un servizio di gestione.
  • Crea un cluster utente.
  • Dalla directory anthos-aws, utilizza anthos-gke per passare al contesto del cluster utente.
    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    Sostituisci CLUSTER_NAME con il nome del cluster utente.

Puoi eseguire questi passaggi con kubectl o con la console Google Cloud se hai eseguito l'autenticazione con Connect. Se utilizzi la console Google Cloud , vai a Avviare un deployment NGINX.

Per connetterti alle risorse GKE su AWS, segui questi passaggi. Seleziona se hai una VPC AWS esistente (o una connessione diretta alla tua VPC) o se hai creato una VPC dedicata durante la creazione del servizio di gestione.

VPC esistente

Se hai una connessione diretta o VPN a un VPC esistente, ometti la riga env HTTP_PROXY=http://localhost:8118 dai comandi in questo argomento.

VPC dedicato

Quando crei un servizio di gestione in un VPC dedicato, GKE su AWS include un host bastion in una subnet pubblica.

Per connetterti al tuo servizio di gestione:

  1. Passa alla directory con la configurazione di GKE su AWS. Hai creato questa directory durante l'installazione del servizio di gestione.

    cd anthos-aws

  2. Per aprire il tunnel, esegui lo script bastion-tunnel.sh. Il tunnel inoltra a localhost:8118.

    Per aprire un tunnel all'bastion host, esegui questo comando:

    ./bastion-tunnel.sh -N
    

    I messaggi del tunnel SSH vengono visualizzati in questa finestra. Quando sei pronto a chiudere la connessione, interrompi la procedura utilizzando Ctrl+C o chiudendo la finestra.

  3. Apri un nuovo terminale e passa alla directory anthos-aws.

    cd anthos-aws
  4. Verifica di poter connetterti al cluster con kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    L'output include l'URL del server API del servizio di gestione.

Avvia un deployment NGINX

In questa sezione, creerai un deployment del server web NGINX denominato nginx-1.

kubectl

  1. Utilizza kubectl create per creare il deployment.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl create deployment --image nginx nginx-1
    
  2. Utilizza kubectl per ottenere lo stato del deployment. Prendi nota del NAME del pod.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl get deployment
    

Console

Per avviare un deployment NGINX con la console Google Cloud , segui questi passaggi:

  1. Visita il menu Carichi di lavoro GKE nella consoleGoogle Cloud .

    Visitare il menu Carichi di lavoro

  2. Fai clic su Esegui il deployment.

  3. In Modifica contenitore, seleziona Immagine container esistente per scegliere un'immagine container disponibile da Container Registry. Riempi Percorso immagine con l'immagine del container che vuoi utilizzare e la relativa versione. Per questa guida rapida, utilizza nginx:latest.

  4. Fai clic su Fine, poi su Continua. Viene visualizzata la schermata Configurazione.

  5. Puoi modificare il nome dell'applicazione e lo spazio dei nomi Kubernetes del deployment. Per questa guida rapida, puoi utilizzare il nome dell'applicazione nginx-1 e lo spazio dei nomi default

  6. Dal menu a discesa Cluster, seleziona il cluster di utenti. Per impostazione predefinita, il primo cluster utente si chiama cluster-0.

  7. Fai clic su Esegui il deployment. GKE su AWS avvia il deployment di NGINX. Viene visualizzata la schermata Dettagli deployment.

Esposizione dei pod

Questa sezione mostra come eseguire una delle seguenti operazioni:

  • Esporre il deployment internamente nel cluster e verificare che sia disponibile con kubectl port-forward.

  • Esporre il deployment dalla console Google Cloud agli indirizzi consentiti dal gruppo di sicurezza del pool di nodi.

kubectl

  1. Esporre la porta 80 del deployment al cluster con kubectl expose.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl expose deployment nginx-1 --port=80
    

    Il deployment è ora accessibile dall'interno del cluster.

  2. Esegui il forwarding della porta 80 sul deployment alla porta 8080 sulla tua macchina locale con kubectl port-forward.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl port-forward deployment/nginx-1 8080:80
    
  3. Connettiti a http://localhost:8080 con curl o il tuo browser web. Viene visualizzata la pagina web NGINX predefinita.

    curl http://localhost:8080
    

Console

  1. Visita il menu Carichi di lavoro GKE nella console Google Cloud .

    Visitare il menu Carichi di lavoro

  2. Nella schermata Dettagli del deployment, fai clic su Esponi. Viene visualizzata la schermata Esponi un deployment.

  3. Nella sezione Mappatura delle porte, lascia la porta predefinita (80) e fai clic su Fine.

  4. In Tipo di servizio, seleziona Bilanciatore del carico. Per ulteriori informazioni su altre opzioni, consulta Servizi di pubblicazione (ServiceTypes) nella documentazione di Kubernetes.

  5. Fai clic su Esposizione. Viene visualizzata la schermata Dettagli del servizio. GKE su AWS crea un bilanciatore del carico elastico classico per il servizio.

  6. Fai clic sul link Endpoint esterni. Se il bilanciatore del carico è pronto, viene visualizzata la pagina web NGINX predefinita.

Visualizza il deployment nella console Google Cloud

Se il cluster è connesso alla Google Cloud console, puoi visualizzare il deployment nella pagina Workload GKE. Per visualizzare il tuo carico di lavoro, segui questi passaggi:

  1. Nel browser, visita la pagina Workloads di Google Kubernetes Engine.

    Visita la pagina Workload di Google Kubernetes Engine

    Viene visualizzato l'elenco dei carichi di lavoro.

  2. Fai clic sul nome del tuo carico di lavoro, nginx-1. Viene visualizzata la schermata Dettagli deployment.

  3. Da questa schermata puoi visualizzare i dettagli del deployment, visualizzare e modificare la configurazione YAML ed eseguire altre azioni di Kubernetes.

Per ulteriori informazioni sulle opzioni disponibili in questa pagina, consulta Deployment di un'applicazione stateless nella documentazione di GKE.

Esegui la pulizia

Per eliminare la tua implementazione NGINX, utilizza kubectl delete o la console Google Cloud .

kubectl

env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1

Console

  1. Visita il menu della pagina Servizi e Ingress nella console Google Cloud .

    Visita la pagina Servizi e Ingress

  2. Trova il tuo servizio NGINX e fai clic sul suo nome. Per impostazione predefinita, il nome è nginx-1-service. Viene visualizzata la schermata Dettagli del servizio.

  3. Fai clic su Elimina e conferma che vuoi eliminare il servizio. GKE su AWS elimina il bilanciatore del carico.

  4. Visita la pagina Workloads di Google Kubernetes Engine.

    Visita la pagina Workload di Google Kubernetes Engine

    Viene visualizzato l'elenco dei carichi di lavoro.

  5. Fai clic sul nome del tuo carico di lavoro, nginx-1. Viene visualizzata la schermata Dettagli deployment.

  6. Fai clic su Elimina e conferma che vuoi eliminare la deployment. GKE su AWS elimina il deployment.

Passaggi successivi

Crea un bilanciatore del carico interno o esterno utilizzando uno dei seguenti servizi:

Puoi utilizzare altri tipi di workload Kubernetes con GKE su AWS. Per saperne di più sul deployment dei workload, consulta la documentazione di GKE.