Questo argomento mostra come creare un carico di lavoro su GKE su AWS e 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 di utenti.
- Dalla directory
anthos-aws
, utilizzaanthos-gke
per cambiare contesto e passare al cluster di utenti. Sostituisci CLUSTER_NAME con il nome del cluster di utenti.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 la convalida con Connect.
Se utilizzi la Google Cloud console, vai a
Eseguire il deployment di NGINX.
Per connetterti alle risorse GKE su AWS, segui questi passaggi. Seleziona se hai già un VPC AWS (o una connessione diretta al tuo 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 rigaenv HTTP_PROXY=http://localhost:8118
dai comandi in questo argomento.
VPC dedicato
Quando crei un servizio di gestione in una VPC dedicata, GKE su AWS include un host bastion in una subnet pubblica.
Per connetterti al servizio di gestione:
Passa alla directory con la configurazione di GKE su AWS. Hai creato questa directory durante la installazione del servizio di gestione.
cd anthos-aws
Per aprire il tunnel, esegui lo script
bastion-tunnel.sh
. Il tunnel inoltra alocalhost:8118
.Per aprire un tunnel per l'bastion host, esegui il seguente comando:
./bastion-tunnel.sh -N
I messaggi del tunnel SSH vengono visualizzati in questa finestra. Quando è tutto pronto, chiudi la connessione interrompendo il processo con Ctrl+C o chiudendo la finestra.
Apri un nuovo terminale e passa alla directory
anthos-aws
.cd anthos-aws
Verifica di essere in grado di connetterti al cluster con
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
L'output include l'URL del server dell'API del servizio di gestione.
Avvia un deployment NGINX
In questa sezione, creerai un
deployment
del server web NGINX denominato nginx-1
.
kubectl
Usa
kubectl create
per creare il deployment.env HTTPS_PROXY=http://localhost:8118 \ kubectl create deployment --image nginx nginx-1
Utilizza
kubectl
per ottenere lo stato del deployment. Prendi nota del valoreNAME
del pod.env HTTPS_PROXY=http://localhost:8118 \ kubectl get deployment
Console
Per lanciare un deployment NGINX con la Google Cloud console, svolgi i seguenti passaggi:
Vai al menu Carichi di lavoro GKE nellaGoogle Cloud console.
Fai clic su Esegui il deployment.
In Modifica contenitore, seleziona Immagine container esistente per scegliere un'immagine container disponibile in Container Registry. Compila Percorso immagine con l'immagine del contenitore che vuoi utilizzare e la relativa versione. Per questa guida rapida, utilizza
nginx:latest
.Fai clic su Fine, poi su Continua. Viene visualizzata la schermata Configurazione.
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 nomidefault
Dal menu a discesa Cluster, seleziona il cluster di utenti. Per impostazione predefinita, il primo cluster utente si chiama
cluster-0
.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:
Esponi il deployment internamente nel cluster e verifica che sia disponibile con
kubectl port-forward
.Esponi il tuo deployment dalla Google Cloud console agli indirizzi consentiti dal gruppo di sicurezza del pool di nodi.
kubectl
Esponi 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.
Inoltra la porta
80
nel deployment alla porta8080
sulla tua macchina locale conkubectl port-forward
.env HTTPS_PROXY=http://localhost:8118 \ kubectl port-forward deployment/nginx-1 8080:80
Connettiti a
http://localhost:8080
concurl
o con il tuo browser web. Viene visualizzata la pagina web NGINX predefinita.curl http://localhost:8080
Console
Vai al menu Carichi di lavoro GKE nella Google Cloud console.
Nella schermata Dettagli di 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 Pubblicazione di servizi (ServiceTypes) nella documentazione di Kubernetes.
Fai clic su Esponi. Viene visualizzata la schermata Dettagli del servizio. GKE su AWS crea un Elastic Load Balancer classico per il servizio.
Fai clic sul link Endpoint esterni. Se il bilanciatore del carico è attivo, viene visualizzata la pagina web NGINX predefinita.
Visualizza il deployment nella Google Cloud console
Se il tuo cluster è collegato alla Google Cloud console, puoi visualizzare il deployment nella pagina Carichi di lavoro GKE. Per visualizzare il tuo carico di lavoro:
Nel browser, vai alla pagina Carichi di lavoro di Google Kubernetes Engine.
Visita la pagina Workload di Google Kubernetes Engine
Viene visualizzato l'elenco dei carichi di lavoro.
Fai clic sul nome del carico di lavoro,
nginx-1
. Viene visualizzata la schermata Dettagli deployment.Da questa schermata puoi visualizzare i dettagli del deployment, visualizzare e modificare la configurazione YAML e intraprendere altre azioni Kubernetes.
Per ulteriori informazioni sulle opzioni disponibili in questa pagina, consulta Eseguire il deployment di un'applicazione stateless nella documentazione di GKE.
Esegui la pulizia
Per eliminare il deployment 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
Vai al menu della pagina Servizi e Ingress nella Google Cloud console.
Individua il servizio NGINX e fai clic sul nome. Per impostazione predefinita, il nome è
nginx-1-service
. Viene visualizzata la schermata Dettagli del servizio.Fai clic su
Elimina e conferma di voler eliminare il servizio. GKE su AWS elimina il bilanciatore del carico.Visita la pagina Carichi di lavoro di Google Kubernetes Engine.
Visita la pagina Workload di Google Kubernetes Engine
Viene visualizzato l'elenco dei carichi di lavoro.
Fai clic sul nome del carico di lavoro,
nginx-1
. Viene visualizzata la schermata Dettagli deployment.Fai clic su
Elimina e conferma di voler eliminare il deployment. GKE su AWS elimina il deployment.
Passaggi successivi
Crea un bilanciatore del carico interno o esterno utilizzando uno dei seguenti servizi:
- AWS Classic e bilanciatore del carico di rete
- Bilanciatore del carico delle applicazioni AWS
- Ingress con Cloud Service Mesh
Puoi utilizzare altri tipi di carichi di lavoro Kubernetes con GKE su AWS. Per saperne di più sul deployment dei workload, consulta la documentazione di GKE.