./gradlew bootRun
# curl localhost:8080/hello
- create Google Cloud Platform project
k8s-trial
- enable apis
- Google Compute Engine
- Google Container Engine
- Google Cloud Builders
- setup terminal config with following commands
gcloud config set project k8s-trial
gcloud config set compute/zone asia-northeast1-a
gcloud auth login
gcloud container builds submit --config cloudbuild.yml
# gcloud container builds list
# create cluster
gcloud container clusters create k8s-spring-boot --machine-type=f1-micro
# setup kubectl command config
gcloud container clusters get-credentials k8s-spring-boot --zone asia-northeast1-a --project k8s-trial
# confirm config
kubectl config current-context
kubectl create -f deployment.yml
kubectl create -f service.yml
kubectl get service -w # get external ip, curl external_ip/hello
# create new docker image
# edit deployment.yml docker image
kubectl apply -f deployment.yml --record
kubectl scale deployment k8s-spring-boot-deployment --replicas 4
kubectl delete service k8s-spring-boot-service
kubectl delete service k8s-spring-boot-service
container <-> Cloud SQL Proxy <-> Cloud SQL
- enable apis
- Cloud SQL Administration API
- create service account
- and download cf as
cloudsql_serviceaccount.json
- and download cf as
- create cloudsql instance & user
gcloud sql instances create gke-cloudsql --tier db-f1-micro --region=asia-east1
gcloud sql users create proxyuser cloudsqlproxy~% --instance=gke-cloudsql
- create cloudsql instance access secret
kubectl create secret generic cloudsql-instance-credentials --from-file=credentials.json=cloudsql_serviceaccount.json
- create cloudsql database access secret
kubectl create secret generic cloudsql-db-credentials --from-literal=username=cloudsqlproxy
then deploy, and get curl localhost:8080/jdbc
stern k8s-spring-boot