Connettiti a Cloud SQL per SQL Server da Google Kubernetes Engine
Questa pagina mostra come eseguire il deployment di un'app di esempio su Google Kubernetes Engine (GKE) collegata a un'istanza SQL Server utilizzando la console Google Cloud e un'applicazione client. Le risorse create in questa guida rapida in genere costano meno di un dollaro, a condizione che tu completi i passaggi, inclusa la pulizia, in modo tempestivo.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Abilita le API Google Cloud necessarie per eseguire un'app di esempio Cloud SQL su GKE.
Fai clic su Abilita API per abilitare le API richieste per questa guida introduttiva.
Vengono abilitate le seguenti API:
- API Compute Engine
- API Cloud SQL Admin
- API Google Kubernetes Engine
- API Artifact Registry
- API Cloud Build
Fai clic sul seguente pulsante per aprire Cloud Shell, che fornisce accesso da riga di comando alle tue risorse Google Cloud direttamente dal browser. Cloud Shell può essere utilizzato per eseguire i comandi
gcloud
presentati in questa guida rapida.Esegui il comando
gcloud services enable
come segue utilizzando Cloud Shell per abilitare le API richieste per questa guida introduttiva:gcloud services enable compute.googleapis.com sqladmin.googleapis.com \ container.googleapis.com artifactregistry.googleapis.com cloudbuild.googleapis.com
Questo comando abilita le seguenti API:
- API Compute Engine
- API Cloud SQL Admin
- API GKE
- API Artifact Registry
- API Cloud Build
Configura Cloud SQL
Crea un'istanza Cloud SQL
IP pubblico
Creare un'istanza con un indirizzo IP pubblico
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su Crea istanza.
- Fai clic su SQL Server.
- Inserisci
quickstart-instance
in ID istanza. - Inserisci una password per l'utente SQL Server. Salva questa password per utilizzarla in futuro.
- Fai clic sull'opzione Zona singola per Scegli la disponibilità per regione e zona.
- Fai clic ed espandi la sezione Mostra configurazioni.
- Nel menu a discesa Tipo di macchina, seleziona Leggera.
Fai clic su Crea istanza e attendi fino all'inizializzazione e all'avvio dell'istanza.
Creare un'istanza con un indirizzo IP pubblico
Prima di eseguire il comando gcloud
sql instances create
come indicato di seguito, sostituisci DB_ROOT_PASSWORD con la password dell'utente del database.
Se vuoi, modifica i valori dei seguenti parametri:
- --database_version: il tipo e la versione del motore del database. Se non viene specificato, viene utilizzato il valore predefinito dell'API. Consulta la documentazione sulle versioni del database gcloud per conoscere le versioni attualmente disponibili.
- --cpu: il numero di core desiderati nella macchina.
- --memory: valore intero che indica la quantità di memoria necessaria nella macchina. Deve essere fornita una unità di misura (ad es. 3072 MB o 9 GB). Se non vengono specificate unità di misura, viene assunto il valore GB.
- --region: posizione regionale dell'istanza
(ad esempio asia-east1, us-east1). Se non specificato, viene utilizzato il valore predefinito
us-central
. Consulta l'elenco completo delle regioni.
Esegui il comando gcloud
sql instances create
per creare un'istanza Cloud SQL.
gcloud sql instances createquickstart-instance \ --database-version=SQLSERVER_2019_STANDARD \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD
IP privato
Creare un'istanza con un indirizzo IP privato e SSL abilitato
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su Crea istanza.
- Fai clic su SQL Server.
- Inserisci
quickstart-instance
in ID istanza. - Inserisci una password per l'utente SQL Server. Salva questa password per utilizzarla in futuro.
- Fai clic sull'opzione Zona singola per Scegli la disponibilità per regione e zona.
- Fai clic ed espandi Mostra opzioni di configurazione.
- Per Tipo di macchina, seleziona Leggera.
- In Connessioni, seleziona IP privato.
- Seleziona predefinita nel menu a discesa Rete.
- Se viene visualizzata una finestra di dialogo che indica È richiesta una connessione di accesso privato ai servizi, fai clic sul pulsante Configura connessione.
- Nella finestra di dialogo Abilita l'API Service Networking, fai clic sul pulsante Abilita API.
- Nella finestra di dialogo Assegna un intervallo IP, seleziona Utilizza un intervallo IP allocato automaticamente e fai clic su Continua.
- Nella finestra di dialogo Crea una connessione, fai clic su Crea connessione.
- Deseleziona la casella di controllo IP pubblico per creare un'istanza solo con un IP privato.
- Fai clic su Crea istanza e attendi l'inizializzazione e l'avvio dell'istanza.
- Fai clic su Connessioni.
- Nella sezione Sicurezza, seleziona Consenti solo connessioni SSL per attivare le connessioni SSL.
- Nella finestra di dialogo Consenti solo connessioni SSL, fai clic su Salva e riavvia e poi attendi il riavvio dell'istanza.
Creare un'istanza con un indirizzo IP privato e SSL abilitato
Per creare un'istanza con un indirizzo IP privato è sufficiente configurare l'accesso privato ai servizi per attivare le connessioni da altri Google Cloud servizi, come GKE.
- Esegui il comando
gcloud compute addresses create
per allocare un intervallo IP per una connessione di accesso privato ai servizi: - Esegui il comando
gcloud services vpc-peerings connect
per creare la connessione di accesso privato ai servizi: -
Prima di eseguire il comando
gcloud sql instances create
per creare un'istanza come segue, sostituisci DB_ROOT_PASSWORD con la password dell'utente del database. - --database_version: il tipo e la versione del motore del database. Se non viene specificato, viene utilizzato il valore predefinito dell'API. Consulta Versioni del database gcloud per un elenco delle versioni attualmente disponibili.
- --cpu: il numero di core della macchina.
- --memory: un numero intero che indica la quantità di memoria da includere nella macchina. È possibile fornire un'unità di misura (ad esempio 3072 MB o 9 GB). Se non vengono specificate unità di misura, viene assunto il valore GB.
- --region: la posizione regionale dell'istanza
(ad esempio asia-east1, us-east1). Se non specificato, viene utilizzato il valore predefinito
us-central1
. Consulta l'elenco completo delle regioni. Esegui il comando
gcloud sql instances patch
per consentire solo connessioni SSL per l'istanza.
gcloud compute addresses create google-managed-services-default \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="peering range for Google" \ --network=default
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-default \ --network=default
Se vuoi, modifica i valori dei seguenti parametri:
Esegui il comando gcloud
sql instances create
per creare un'istanza Cloud SQL con un indirizzo IP privato.
gcloud beta sql instances createquickstart-instance \ --database-version=SQLSERVER_2017_STANDARD \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD \ --no-assign-ip \ --network=default
gcloud sql instances patchquickstart-instance --require-ssl
Crea un database
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Seleziona
quickstart-instance
. - Nel menu di navigazione SQL, seleziona Database.
- Fai clic su Crea database.
- Nel campo Nome database della finestra di dialogo Nuovo database, inserisci
quickstart-db
. - Fai clic su Crea.
Esegui il comando gcloud
sql databases create
per creare un database.
gcloud sql databases createquickstart-db --instance=quickstart-instance
Crea un cluster GKE
-
Nella console Google Cloud, vai alla pagina Google Kubernetes Engine.
- Fai clic su Crea.
- Fai clic su Configura per GKE Autopilot.
- In Nome, specifica il nome del cluster come
gke-cloud-sql-quickstart
. - Fai clic su Crea.
Esegui il comando gcloud container clusters create-auto
per creare il cluster.
gcloud container clusters create-autogke-cloud-sql-quickstart \ --regionus-central1
Clona un'app di esempio Cloud SQL nell'editor di Cloud Shell
Con un'istanza Cloud SQL, un database e un cluster GKE,
ora puoi clonare e configurare un'applicazione di esempio per connetterti alla tua
istanza Cloud SQL. I passaggi rimanenti di questa guida rapida richiedono l'utilizzo degli strumenti a riga di comando gcloud
e kubectl
. Entrambi gli strumenti sono preinstallati in Cloud Shell.
-
Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
Apri l'editor di Cloud Shell -
Nella finestra di dialogo
Open in Cloud Shell
, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
-
Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
Apri l'editor di Cloud Shell -
Nella finestra di dialogo
Open in Cloud Shell
, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
-
Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
Apri l'editor di Cloud Shell -
Nella finestra di dialogo
Open in Cloud Shell
, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
-
Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
Apri l'editor di Cloud Shell -
Nella finestra di dialogo
Open in Cloud Shell
, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
Abilita il cluster GKE
Attiva il cluster GKE che hai appena creato come cluster predefinito da utilizzare per i restanti comandi di questa guida rapida.
gcloud container clusters get-credentials
come segue per attivare il cluster GKE.
gcloud container clusters get-credentialsgke-cloud-sql-quickstart \ --regionus-central1
Configurare un account di servizio
-
Esegui il comando
gcloud iam service-accounts create
come segue per creare un nuovo account di servizio:gcloud iam service-accounts create gke-quickstart-service-account \ --display-name="GKE Quickstart Service Account"
- Esegui il comando
gcloud projects add-iam-policy-binding
come segue per aggiungere il ruolo Client Cloud SQL all'account di servizio Google Cloud appena creato. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com" \ --role="roles/cloudsql.client" - L'app di esempio utilizza il logging, quindi esegui il comando
gcloud projects add-iam-policy-binding
come segue per aggiungere il ruolo Writer log all'account di servizio Google Cloud appena creato. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com" \ --role="roles/logging.logWriter" - L'account di servizio deve essere in grado di estrarre le immagini dal repository Artifactory, quindi esegui il comando
gcloud projects add-iam-policy-binding
come segue per aggiungere il ruolo Lettore Artifact Registry all'account di servizio. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com" \ --role="roles/artifactregistry.reader"
- Crea un account di servizio Kubernetes.
- Aggiorna il
file
service-account.yaml
nell'editor di Cloud Shell. Sostituisci<YOUR-KSA-NAME>
conksa-cloud-sql
. - Esegui il comando
kubectl apply
come segue in Cloud Shell:kubectl apply -f service-account.yaml
- Aggiorna il
file
- Esegui il comando
gcloud iam service-accounts add-iam-policy-binding
come segue per attivare l'associazione IAM dell' Google Cloud account di servizio e del service account Kubernetes. Apporta le seguenti sostituzioni:- YOUR_PROJECT_ID con l'ID progetto.
- YOUR_K8S_NAMESPACE con
default
, che è lo spazio dei nomi predefinito per i cluster creati in GKE. - YOUR_KSA_NAME con
ksa-cloud-sql
.
gcloud iam service-accounts add-iam-policy-binding \ --role="roles/iam.workloadIdentityUser" \ --member="serviceAccount:
YOUR_PROJECT_ID .svc.id.goog[YOUR_K8S_NAMESPACE /YOUR_KSA_NAME ]" \ gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com - Esegui il comando
kubectl annotate
come segue per annotare l'account di servizio Kubernetes con l'associazione IAM. Apporta le seguenti sostituzioni:- YOUR_KSA_NAME con
ksa-cloud-sql
. - YOUR_PROJECT_ID con l'ID progetto.
kubectl annotate serviceaccount \
YOUR_KSA_NAME \ iam.gke.io/gcp-service-account=gke-quickstart-service-account@YOUR_PROJECT_ID .iam.gserviceaccount.com - YOUR_KSA_NAME con
Configura i secret
Esegui il comando kubectl create secret generic
come segue per creare i secret di Kubernetes per il database, l'utente e la password utente da utilizzare dall'app di esempio. I valori di ogni secret si basano sui valori specificati nei passaggi precedenti di questa guida introduttiva.
Sostituisci DB_PASS con la password dell'utente sqlserver
utente root creato nel passaggio Creare un'istanza Cloud SQL.
kubectl create secret generic gke-cloud-sql-secrets \ --from-literal=database=quickstart-db \ --from-literal=username=sqlserver \ --from-literal=password=DB_PASS
Crea l'app di esempio
-
Esegui il seguente comando
gcloud artifacts repositories create
in Cloud Shell per creare un repository in Artifact Registry denominato gke-cloud-sql-repo nella stessa regione del tuo cluster. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud artifacts repositories create
gke-cloud-sql-repo \ --project=YOUR_PROJECT_ID \ --repository-format=docker \ --location=us-central1 \ --description="GKE Quickstart sample app" -
Esegui il comando
gcloud builds submit
come indicato di seguito in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud builds submit \ --tag
us-central1 -docker.pkg.dev/YOUR_PROJECT_ID /gke-cloud-sql-repo/gke-sql .
-
Esegui il seguente comando
gcloud artifacts repositories create
in Cloud Shell per creare un repository in Artifact Registry denominato gke-cloud-sql-repo nella stessa regione del tuo cluster. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud artifacts repositories create
gke-cloud-sql-repo \ --project=YOUR_PROJECT_ID \ --repository-format=docker \ --location=us-central1 \ --description="GKE Quickstart sample app" -
Esegui il comando
mvn
come segue in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID progetto.mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
us-central1 -docker.pkg.dev/YOUR_PROJECT_ID /gke-cloud-sql-repo/gke-sql \ -DskipTests -Djib.to.credHelper=gcloud
-
Esegui il seguente comando
gcloud artifacts repositories create
in Cloud Shell per creare un repository in Artifact Registry denominato gke-cloud-sql-repo nella stessa regione del tuo cluster. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud artifacts repositories create
gke-cloud-sql-repo \ --project=YOUR_PROJECT_ID \ --repository-format=docker \ --location=us-central1 \ --description="GKE Quickstart sample app" -
Esegui il comando
gcloud builds submit
come indicato di seguito in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud builds submit \ --tag
us-central1 -docker.pkg.dev/YOUR_PROJECT_ID /gke-cloud-sql-repo/gke-sql .
-
Esegui il seguente comando
gcloud artifacts repositories create
in Cloud Shell per creare un repository in Artifact Registry denominato gke-cloud-sql-repo nella stessa regione del tuo cluster. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud artifacts repositories create
gke-cloud-sql-repo \ --project=YOUR_PROJECT_ID \ --repository-format=docker \ --location=us-central1 \ --description="GKE Quickstart sample app" -
Esegui il comando
gcloud builds submit
come indicato di seguito in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID progetto.gcloud builds submit \ --tag
us-central1 -docker.pkg.dev/YOUR_PROJECT_ID /gke-cloud-sql-repo/gke-sql .
Esegui il deployment dell'app di esempio
IP pubblico
Una volta configurata l'app di esempio, puoi eseguirne il deployment.
L'app di esempio di cui è stato eseguito il deployment si connette all'istanza Cloud SQL utilizzando il proxy Cloud SQL in esecuzione in un pattern sidecar Kubernetes. Il pattern sidecar viene eseguito eseguendo il deployment di un carico di lavoro con un container aggiuntivo che condivide lo stesso pod Kubernetes del container dell'app di esempio.
-
Recupera il nome della connessione dell'istanza Cloud SQL eseguendo
il comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Aggiorna il file
deployment.yaml
nell'editor di Cloud Shell. Apporta le seguenti sostituzioni:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
con l'ID progetto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
con il nome di connessione istanza Cloud SQL recuperato dal comandogcloud
nel passaggio precedente. Il formato è project_id:region:instance_name. Il nome della connessione istanza è visibile anche nella pagina Panoramica dell'istanza Cloud SQL.
- Esegui il comando
kubectl apply
come segue in Cloud Shell per eseguire il deployment dell'app di esempio:kubectl apply -f deployment.yaml
- Esegui il comando
kubectl apply
come segue per aggiungere un bilanciatore del carico davanti al deployment, in modo da potervi accedere tramite internet:kubectl apply -f service.yaml
- Esegui il comando
kubectl get
come segue per recuperare i dettagli del servizio:kubectl get services
- Copia l'indirizzo IP esterno non appena diventa disponibile nei dettagli del servizio. Questa operazione potrebbe richiedere alcuni minuti.
- Visualizza l'app di esempio di cui è stato eseguito il deployment. Apri una finestra del browser e vai all'indirizzo IP esterno del servizio.
L'app di esempio di cui è stato eseguito il deployment si connette all'istanza Cloud SQL utilizzando il connettore Java Cloud SQL.
-
Recupera il nome della connessione dell'istanza Cloud SQL eseguendo
il comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Aggiorna il file
deployment.yaml
nell'editor di Cloud Shell. Apporta le seguenti sostituzioni:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
con l'ID progetto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
con il nome di connessione istanza Cloud SQL recuperato dal comandogcloud
nel passaggio precedente. Il formato è project_id:region:instance_name. Il nome della connessione istanza è visibile anche nella pagina Panoramica dell'istanza Cloud SQL.
- Esegui il comando
kubectl apply
come segue in Cloud Shell per eseguire il deployment dell'app di esempio:kubectl apply -f deployment.yaml
- Esegui il comando
kubectl apply
come segue per aggiungere un bilanciatore del carico davanti al deployment, in modo da potervi accedere tramite internet:kubectl apply -f service.yaml
- Esegui il comando
kubectl get
come segue per recuperare i dettagli del servizio:kubectl get services
- Copia l'indirizzo IP esterno non appena diventa disponibile nei dettagli del servizio. Questa operazione potrebbe richiedere alcuni minuti.
- Visualizza l'app di esempio di cui è stato eseguito il deployment. Apri una finestra del browser e vai all'indirizzo IP esterno del servizio.
L'app di esempio di cui è stato eseguito il deployment si connette all'istanza Cloud SQL utilizzando il proxy Cloud SQL in esecuzione in un pattern sidecar Kubernetes. Il pattern sidecar viene eseguito eseguendo il deployment di un carico di lavoro con un container aggiuntivo che condivide lo stesso pod Kubernetes del container dell'app di esempio.
-
Recupera il nome della connessione dell'istanza Cloud SQL eseguendo
il comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Aggiorna il file
deployment.yaml
nell'editor di Cloud Shell. Apporta le seguenti sostituzioni:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
con l'ID progetto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
con il nome di connessione istanza Cloud SQL recuperato dal comandogcloud
nel passaggio precedente. Il formato è project_id:region:instance_name. Il nome della connessione istanza è visibile anche nella pagina Panoramica dell'istanza Cloud SQL.
- Esegui il comando
kubectl apply
come segue in Cloud Shell per eseguire il deployment dell'app di esempio:kubectl apply -f deployment.yaml
- Esegui il comando
kubectl apply
come segue per aggiungere un bilanciatore del carico davanti al deployment, in modo da potervi accedere tramite internet:kubectl apply -f service.yaml
- Esegui il comando
kubectl get
come segue per recuperare i dettagli del servizio:kubectl get services
- Copia l'indirizzo IP esterno non appena diventa disponibile nei dettagli del servizio. Questa operazione potrebbe richiedere alcuni minuti.
- Visualizza l'app di esempio di cui è stato eseguito il deployment. Apri una finestra del browser e vai all'indirizzo IP esterno del servizio.
L'app di esempio di cui è stato eseguito il deployment si connette all'istanza Cloud SQL utilizzando il proxy Cloud SQL in esecuzione in un pattern sidecar Kubernetes. Il pattern sidecar viene eseguito eseguendo il deployment di un carico di lavoro con un container aggiuntivo che condivide lo stesso pod Kubernetes del container dell'app di esempio.
-
Recupera il nome della connessione dell'istanza Cloud SQL eseguendo
il comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Aggiorna il file
deployment.yaml
nell'editor di Cloud Shell. Apporta le seguenti sostituzioni:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
con l'ID progetto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
con il nome di connessione istanza Cloud SQL recuperato dal comandogcloud
nel passaggio precedente. Il formato è project_id:region:instance_name. Il nome della connessione istanza è visibile anche nella pagina Panoramica dell'istanza Cloud SQL.
- Esegui il comando
kubectl apply
come segue in Cloud Shell per eseguire il deployment dell'app di esempio:kubectl apply -f deployment.yaml
- Esegui il comando
kubectl apply
come segue per aggiungere un bilanciatore del carico davanti al deployment, in modo da potervi accedere tramite internet:kubectl apply -f service.yaml
- Esegui il comando
kubectl get
come segue per recuperare i dettagli del servizio:kubectl get services
- Copia l'indirizzo IP esterno non appena diventa disponibile nei dettagli del servizio. Questa operazione potrebbe richiedere alcuni minuti.
- Visualizza l'app di esempio di cui è stato eseguito il deployment. Apri una finestra del browser e vai all'indirizzo IP esterno del servizio.
IP privato
Una volta configurata l'app di esempio, puoi eseguirne il deployment.
L'app di esempio di cui è stato eseguito il deployment si connette all'istanza Cloud SQL utilizzando il proxy Cloud SQL in esecuzione in un pattern sidecar Kubernetes. Il pattern sidecar viene eseguito eseguendo il deployment di un carico di lavoro con un container aggiuntivo che condivide lo stesso pod Kubernetes del container dell'app di esempio.
-
Recupera il nome della connessione dell'istanza Cloud SQL eseguendo
il comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Aggiorna il file
deployment.yaml
nell'editor di Cloud Shell. Apporta le seguenti sostituzioni e modifiche:- Sostituisci
<YOUR_KSA_NAME>
conksa-cloud-sql
. - Sostituisci
<LOCATION>
conus-central1
. - Sostituisci
<YOUR_PROJECT_ID>
con l'ID progetto. - Sostituisci
<YOUR-DB-SECRET>
congke-cloud-sql-secrets
. - Sostituisci
<INSTANCE_CONNECTION_NAME>
con il nome della connessione dell'istanza Cloud SQL recuperato dal comandogcloud
nel passaggio precedente. Il formato è project_id:region:instance_name. Il nome della connessione istanza è visibile anche nella pagina Panoramica dell'istanza Cloud SQL. - Consenti al proxy di autenticazione Cloud SQL di connettersi all'istanza Cloud SQL
utilizzando il relativo indirizzo IP privato. Rimuovi il commento dal
flag
"-ip_address_types=PRIVATE"
rimuovendo il simbolo di commento#
e lo spazio vuoto finale. Il flag senza commenti dovrebbe avere il seguente aspetto:- "-ip_address_types=PRIVATE"
- Sostituisci
- Esegui il comando
kubectl apply
come segue in Cloud Shell per eseguire il deployment dell'app di esempio:kubectl apply -f deployment.yaml
- Esegui il comando
kubectl apply
come segue per aggiungere un bilanciatore del carico davanti al deployment, in modo da potervi accedere tramite internet:kubectl apply -f service.yaml
- Esegui il comando
kubectl get
come segue per recuperare i dettagli del servizio:kubectl get services
- Copia l'indirizzo IP esterno non appena diventa disponibile nei dettagli del servizio. Questa operazione potrebbe richiedere alcuni minuti.
- Visualizza l'app di esempio di cui è stato eseguito il deployment. Apri una finestra del browser e vai all'indirizzo IP esterno del servizio.
L'app di esempio di cui è stato eseguito il deployment si connette all'istanza Cloud SQL utilizzando il connettore Java Cloud SQL.
-
Recupera il nome della connessione dell'istanza Cloud SQL eseguendo
il comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Aggiorna il file
deployment.yaml
nell'editor di Cloud Shell. Apporta le seguenti sostituzioni:<YOUR_KSA_NAME>
conksa-cloud-sql
.<LOCATION>
conus-central1
.<YOUR_PROJECT_ID>
con l'ID progetto.<YOUR-DB-SECRET>
congke-cloud-sql-secrets
.<INSTANCE_CONNECTION_NAME>
con il nome di connessione istanza Cloud SQL recuperato dal comandogcloud
nel passaggio precedente. Il formato è project_id:region:instance_name. Il nome della connessione istanza è visibile anche nella pagina Panoramica dell'istanza Cloud SQL.
- Esegui il comando
kubectl apply
come segue in Cloud Shell per eseguire il deployment dell'app di esempio:kubectl apply -f deployment.yaml
- Esegui il comando
kubectl apply
come segue per aggiungere un bilanciatore del carico davanti al deployment, in modo da potervi accedere tramite internet:kubectl apply -f service.yaml
- Esegui il comando
kubectl get
come segue per recuperare i dettagli del servizio:kubectl get services
- Copia l'indirizzo IP esterno non appena diventa disponibile nei dettagli del servizio. Questa operazione potrebbe richiedere alcuni minuti.
- Visualizza l'app di esempio di cui è stato eseguito il deployment. Apri una finestra del browser e vai all'indirizzo IP esterno del servizio.
L'app di esempio di cui è stato eseguito il deployment si connette all'istanza Cloud SQL utilizzando il proxy Cloud SQL in esecuzione in un pattern sidecar Kubernetes. Il pattern sidecar viene eseguito eseguendo il deployment di un carico di lavoro con un container aggiuntivo che condivide lo stesso pod Kubernetes del container dell'app di esempio.
-
Recupera il nome della connessione dell'istanza Cloud SQL eseguendo
il comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Aggiorna il file
deployment.yaml
nell'editor di Cloud Shell. Apporta le seguenti sostituzioni e modifiche:- Sostituisci
<YOUR_KSA_NAME>
conksa-cloud-sql
. - Sostituisci
<LOCATION>
conus-central1
. - Sostituisci
<YOUR_PROJECT_ID>
con l'ID progetto. - Sostituisci
<YOUR-DB-SECRET>
congke-cloud-sql-secrets
. - Sostituisci
<INSTANCE_CONNECTION_NAME>
con il nome della connessione dell'istanza Cloud SQL recuperato dal comandogcloud
nel passaggio precedente. Il formato è project_id:region:instance_name. Il nome della connessione istanza è visibile anche nella pagina Panoramica dell'istanza Cloud SQL. - Consenti al proxy di autenticazione Cloud SQL di connettersi all'istanza Cloud SQL
utilizzando il relativo indirizzo IP privato. Rimuovi il commento dal
flag
"-ip_address_types=PRIVATE"
rimuovendo il simbolo di commento#
e lo spazio vuoto finale. Il flag senza commenti dovrebbe avere il seguente aspetto:- "-ip_address_types=PRIVATE"
- Sostituisci
- Esegui il comando
kubectl apply
come segue in Cloud Shell per eseguire il deployment dell'app di esempio:kubectl apply -f deployment.yaml
- Esegui il comando
kubectl apply
come segue per aggiungere un bilanciatore del carico davanti al deployment, in modo da potervi accedere tramite internet:kubectl apply -f service.yaml
- Esegui il comando
kubectl get
come segue per recuperare i dettagli del servizio:kubectl get services
- Copia l'indirizzo IP esterno non appena diventa disponibile nei dettagli del servizio. Questa operazione potrebbe richiedere alcuni minuti.
- Visualizza l'app di esempio di cui è stato eseguito il deployment. Apri una finestra del browser e vai all'indirizzo IP esterno del servizio.
L'app di esempio di cui è stato eseguito il deployment si connette all'istanza Cloud SQL utilizzando il proxy Cloud SQL in esecuzione in un pattern sidecar Kubernetes. Il pattern sidecar viene eseguito eseguendo il deployment di un carico di lavoro con un container aggiuntivo che condivide lo stesso pod Kubernetes del container dell'app di esempio.
-
Recupera il nome della connessione dell'istanza Cloud SQL eseguendo
il comando
gcloud sql instances describe
:gcloud sql instances describe
quickstart-instance --format='value(connectionName)' - Aggiorna il file
deployment.yaml
nell'editor di Cloud Shell. Apporta le seguenti sostituzioni e modifiche:- Sostituisci
<YOUR_KSA_NAME>
conksa-cloud-sql
. - Sostituisci
<LOCATION>
conus-central1
. - Sostituisci
<YOUR_PROJECT_ID>
con l'ID progetto. - Sostituisci
<YOUR-DB-SECRET>
congke-cloud-sql-secrets
. - Sostituisci
<INSTANCE_CONNECTION_NAME>
con il nome della connessione dell'istanza Cloud SQL recuperato dal comandogcloud
nel passaggio precedente. Il formato è project_id:region:instance_name. Il nome della connessione istanza è visibile anche nella pagina Panoramica dell'istanza Cloud SQL. - Consenti al proxy di autenticazione Cloud SQL di connettersi all'istanza Cloud SQL
utilizzando il relativo indirizzo IP privato. Rimuovi il commento dal
flag
"-ip_address_types=PRIVATE"
rimuovendo il simbolo di commento#
e lo spazio vuoto finale. Il flag senza commenti dovrebbe avere il seguente aspetto:- "-ip_address_types=PRIVATE"
- Rimuovi il commento della
variabile di ambiente
- name: CLOUD_SQL_AUTH_PROXY_IP_ADDRESS_TYPE
e del relativo valore rimuovendo i simboli di commento#
e gli spazi vuoti finali. La variabile di ambiente e il valore senza commenti devono avere il seguente aspetto:- name: CLOUD_SQL_AUTH_PROXY_IP_ADDRESS_TYPE value: "PRIVATE"
- Sostituisci
- Esegui il comando
kubectl apply
come segue in Cloud Shell per eseguire il deployment dell'app di esempio:kubectl apply -f deployment.yaml
- Esegui il comando
kubectl apply
come segue per aggiungere un bilanciatore del carico davanti al deployment, in modo da potervi accedere tramite internet:kubectl apply -f service.yaml
- Esegui il comando
kubectl get
come segue per recuperare i dettagli del servizio:kubectl get services
- Copia l'indirizzo IP esterno non appena diventa disponibile nei dettagli del servizio. Questa operazione potrebbe richiedere alcuni minuti.
- Visualizza l'app di esempio di cui è stato eseguito il deployment. Apri una finestra del browser e vai all'indirizzo IP esterno del servizio.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate su questa pagina, segui questi passaggi.
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Seleziona l'istanza
quickstart-instance
per aprire la pagina Dettagli istanza. - Nella barra delle icone nella parte superiore della pagina, fai clic su Elimina.
- Nella finestra di dialogo Elimina istanza, digita
quickstart-instance
e fai clic su Elimina per eliminare l'istanza. -
Nella console Google Cloud, vai alla pagina Google Kubernetes Engine.
- Fai clic sulla casella di controllo accanto al nome del servizio
gke-cloud-sql-quickstart
. - Fai clic sul pulsante Elimina nella parte superiore della pagina di Google Kubernetes Engine.
Passaggi facoltativi per la pulizia
Se non utilizzi l' Google Cloud account di servizio che hai creato per questo walkthrough, puoi rimuoverlo.
-
Nella console Google Cloud, vai alla pagina IAM.
- Seleziona la casella di controllo per l'account IAM denominato
gke-quickstart-service-account
. - Fai clic su Rimuovi e conferma la rimozione.
Se non utilizzi le API attivate nell'ambito di questa guida rapida, puoi disattivarle.
- API abilitate in questa guida rapida:
- API Compute Engine
- API Cloud SQL Admin
- API Google Kubernetes Engine
- API Artifact Registry
- API Cloud Build
Nella console Google Cloud, vai alla pagina API.
Seleziona l'API che vuoi disattivare e fai clic sul pulsante Disattiva API.
Passaggi successivi
In base alle tue esigenze, puoi scoprire di più sulla creazione di istanze Cloud SQL.Puoi anche scoprire come creare utenti e database SQL Server per la tua istanza Cloud SQL.
Consulta anche le informazioni sui prezzi di Cloud SQL.
Scopri di più su:
- Tutte le opzioni di connettività in Cloud SQL.
- Configurare l'istanza Cloud SQL con un indirizzo IP pubblico.
- Configurare l'istanza Cloud SQL con un indirizzo IP privato.
Inoltre, puoi scoprire come connetterti a un'istanza Cloud SQL da altre applicazioni Google Cloud: