Questo argomento mostra come creare un carico di lavoro su GKE su AWS ed esporlo internamente nel cluster.
Prima di iniziare
Prima di iniziare a utilizzare GKE su AWS, assicurati di aver eseguito le attività seguenti:
- Completa i Prerequisiti.
- Installa un servizio di gestione.
- Crea un cluster utente.
- Dalla directory
anthos-aws
, usaanthos-gke
per passare al 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 tuo cluster utente.
Puoi eseguire questi passaggi con kubectl
o con la console Google Cloud se hai
Autenticato con Connect.
Se utilizzi la console Google Cloud, passa a
Avviare un deployment NGINX.
Per connetterti a GKE su risorse AWS, esegui questi passaggi. Seleziona se hai un VPC AWS esistente (o una connessione diretta al tuo VPC) o hai creato un VPC dedicato quando crei il tuo 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 bastion host in una subnet pubblica.
Per connetterti al servizio di gestione, segui questi passaggi:
Passa alla directory con la tua configurazione 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 inoltra alocalhost:8118
.Per aprire un tunnel per il bastion host, esegui questo comando:
./bastion-tunnel.sh -N
I messaggi provenienti dal tunnel SSH vengono visualizzati in questa finestra. Quando è tutto pronto per chiudere la connessione, interrompi la procedura premendo 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 API del servizio di gestione.
Avvia un deployment NGINX
In questa sezione creerai un
deployment
del server web NGINX denominato nginx-1
.
kubectl
Utilizza
kubectl create
per creare il deployment.env HTTPS_PROXY=http://localhost:8118 \ kubectl create deployment --image nginx nginx-1
Usa
kubectl
per conoscere lo stato del deployment. Osserva leNAME
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:
Vai al menu Carichi di lavoro GKE nella console Google Cloud.
Fai clic su Esegui il deployment.
In Modifica container, seleziona Immagine container esistente per scegliere un'immagine container disponibile da Container Registry. Compila Image path 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 applicazione e lo spazio dei nomi Kubernetes del deployment. Per questa guida rapida, puoi usare il nome dell'applicazione
nginx-1
e 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 tuo deployment NGINX. Viene visualizzata la schermata Dettagli deployment.
Esposizione dei pod
Questa sezione illustra come effettuare una delle seguenti operazioni:
Esponi il deployment all'interno del cluster e verifica che sia disponibile con
kubectl port-forward
.Esponi il tuo deployment dalla console Google Cloud agli indirizzi consentiti dal gruppo di sicurezza del pool di nodi.
kubectl
Esponi la porta 80 del deployment nel 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
del deployment alla porta8080
della 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 console Google Cloud.
Dalla schermata Dettagli 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 Servizi di pubblicazione (ServiceTypes) nella documentazione di Kubernetes.
Fai clic su Esponi. Viene visualizzata la schermata Dettagli servizio. GKE su AWS crea un bilanciatore del carico Elastic classico per il servizio.
Fai clic sul link per Endpoint esterni. Se il bilanciatore del carico è pronto, viene visualizzata la pagina web NGINX predefinita.
Visualizza il tuo deployment nella console Google Cloud
Se il cluster è connesso alla console Google Cloud, puoi visualizzare il deployment nella pagina Carichi di lavoro GKE. Per visualizzare il carico di lavoro, segui questi passaggi:
Nel browser, visita la pagina Carichi di lavoro di Google Kubernetes Engine.
Visita la pagina dei carichi di lavoro 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 ottenere dettagli sul tuo deployment, visualizzare e modificare la configurazione YAML ed eseguire altre azioni Kubernetes.
Per ulteriori informazioni sulle opzioni disponibili in questa pagina, vedi 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 Pagina Servizi e Ingress nella console Google Cloud.
Individua il servizio NGINX e fai clic sul relativo Nome. Per impostazione predefinita, il nome è
nginx-1-service
. Viene visualizzata la schermata Dettagli servizio.Fai clic su
Elimina e conferma che vuoi eliminare il servizio. GKE su AWS elimina il bilanciatore del carico.Visita la pagina Carichi di lavoro di Google Kubernetes Engine.
Visita la pagina dei carichi di lavoro 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 che vuoi eliminare il deployment. GKE su AWS elimina il deployment.
Che cosa succede dopo?
Crea un bilanciatore del carico interno o esterno utilizzando uno dei seguenti servizi:
- Versione classica di AWS e bilanciatore del carico di rete
- Bilanciatore del carico delle applicazioni AWS
- In entrata con Anthos Service Mesh
Puoi utilizzare altri tipi di carichi di lavoro Kubernetes con GKE su AWS. Consulta la documentazione di GKE per ulteriori informazioni sul deployment dei carichi di lavoro.