Questo argomento mostra come creare un carico di lavoro 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 attività:
- Completa i prerequisiti.
- Installa un servizio di gestione.
- Crea un cluster utente.
- Dalla directory
anthos-aws, utilizzaanthos-gkeper passare al contesto del cluster utente. Sostituisci CLUSTER_NAME con il nome del cluster utente.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Puoi eseguire questi passaggi con kubectl o con la Google Cloud console se hai
eseguito
l'autenticazione con Connect.
Se utilizzi la Google Cloud console, vai a
Avviare un deployment di NGINX.
Per connetterti alle risorse GKE su AWS, segui questi passaggi. Seleziona se hai un VPC AWS esistente (o una connessione diretta al VPC) o se hai creato un VPC dedicato 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 servizio di gestione, segui questi passaggi:
Passa alla directory con la configurazione di GKE su AWS. Hai creato questa directory durante l' installazione del servizio di gestione.
cd anthos-aws
Per aprire il tunnel, esegui lo script
bastion-tunnel.sh. Il tunnel esegue il forwarding alocalhost:8118.Per aprire un tunnel all'host bastion, esegui questo comando:
./bastion-tunnel.sh -NIn questa finestra vengono visualizzati i messaggi del tunnel SSH. Quando è tutto pronto per chiudere la connessione, interrompi il processo utilizzando Control+C o chiudendo la finestra.
Apri un nuovo terminale e passa alla directory
anthos-aws.cd anthos-aws
Verifica di poter connetterti al cluster con
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoL'output include l'URL del server API del servizio di gestione.
Avviare un deployment di NGINX
In questa sezione, creerai un
deployment
del server web NGINX denominato nginx-1.
kubectl
Utilizza
kubectl createper creare il deployment.env HTTPS_PROXY=http://localhost:8118 \ kubectl create deployment --image nginx nginx-1Utilizza
kubectlper ottenere lo stato del deployment. Prendi nota delNAMEdel pod.env HTTPS_PROXY=http://localhost:8118 \ kubectl get deployment
Console
Per avviare un deployment di NGINX con la Google Cloud console, segui questi passaggi:
Visita il menu Workload GKE in Google Cloud console.
Fai clic su Esegui il deployment.
In Modifica contenitore, seleziona Immagine container esistente per scegliere un'immagine container disponibile da Container Registry. Inserisci il percorso dell'immagine con l'immagine container che vuoi utilizzare e la relativa versione. Per questa guida rapida, utilizza
nginx:latest.Fai clic su Fine, quindi su Continua. Viene visualizzata la schermata Configurazione.
Puoi modificare il nome dell'applicazione del deployment e il spazio dei nomi di Kubernetes. Per questa guida rapida, puoi utilizzare il nome dell'applicazione
nginx-1e lo spazio dei nomidefault.Dal menu a discesa Cluster, seleziona il cluster utente. Per impostazione predefinita, il primo cluster utente è denominato
cluster-0.Fai clic su Esegui il deployment. GKE su AWS avvia il deployment di NGINX. Viene visualizzata la schermata Dettagli del deployment.
Esporre i pod
Questa sezione mostra come eseguire una delle seguenti operazioni:
Esporre il deployment internamente nel cluster e confermare che sia disponibile con
kubectl port-forward.Esporre il deployment dalla Google Cloud console agli indirizzi consentiti dalgruppo di sicurezzadel pool di nodi.
kubectl
Esporre la porta 80 del deployment al cluster con
kubectl expose.env HTTPS_PROXY=http://localhost:8118 \ kubectl expose deployment nginx-1 --port=80Il deployment è ora accessibile dall'interno del cluster.
Eseguire il forwarding della porta
80del deployment alla porta8080sulla macchina locale conkubectl port-forward.env HTTPS_PROXY=http://localhost:8118 \ kubectl port-forward deployment/nginx-1 8080:80Connettiti a
http://localhost:8080concurlo il browser web. Viene visualizzata la pagina web predefinita di NGINX.curl http://localhost:8080
Console
Visita il menu Workload GKE nella Google Cloud console.
Nella schermata Dettagli del deployment, fai clic su Esponi. Viene visualizzata la schermata Esponi un deployment.
Nella sezione Mappatura delle porte , lascia la porta predefinita (
80) e fai clic su Fine.In Tipo di servizio, seleziona Bilanciatore del carico. Per ulteriori informazioni su altre opzioni, consulta la sezione Pubblicare servizi (ServiceTypes) nella documentazione di Kubernetes.
Fai clic su Esponi. Viene visualizzata la schermata Dettagli del servizio. GKE su AWS crea un bilanciatore del carico elastico classico per il servizio.
Fai clic sul link per Endpoint esterni. Se il bilanciatore del carico è pronto, viene visualizzata la pagina web predefinita di NGINX.
Visualizzare 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 carico di lavoro, segui questi passaggi:
Nel browser, visita la pagina Workload di Google Kubernetes Engine.
Visita la pagina Workload di Google Kubernetes Engine
Viene visualizzato l'elenco dei workload.
Fai clic sul nome del carico di lavoro,
nginx-1. Viene visualizzata la schermata Dettagli del deployment.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 la sezione Eseguire il deployment di un'applicazione senza stato nella documentazione di GKE.
Esegui la pulizia
Per eliminare il deployment di NGINX, utilizza kubectl delete o la Google Cloud console.
kubectl
env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1
Console
Visita il menu Pagina Servizi e Ingress nella Google Cloud console.
Trova il servizio NGINX e fai clic sul relativo Nome. Per impostazione predefinita, il nome è
nginx-1-service. Viene visualizzata la schermata Dettagli del servizio.Fai clic su Elimina e conferma che vuoi eliminare il servizio. GKE su AWS elimina il bilanciatore del carico.
Visita la pagina Workload di Google Kubernetes Engine.
Visita la pagina Workload di Google Kubernetes Engine
Viene visualizzato l'elenco dei workload.
Fai clic sul nome del carico di lavoro,
nginx-1. Viene visualizzata la schermata Dettagli del deployment.Fai clic su Elimina e conferma che vuoi eliminare il deployment. GKE su AWS elimina il deployment.
Passaggi successivi
Crea un bilanciatore del carico interno o esterno utilizzando uno dei seguenti servizi:
- Bilanciatore del carico classico e di rete AWS
- Bilanciatore del carico delle applicazioni AWS
- Ingress con Cloud Service Mesh
Puoi utilizzare altri tipi di workload Kubernetes con GKE su AWS. Per ulteriori informazioni sul deployment dei workload, consulta la documentazione di GKE.