Skip to content

krrrr38/k8s-spring-boot

Repository files navigation

k8s-spring-boot

local

./gradlew bootRun
# curl localhost:8080/hello

Setup

gcloud project

  • 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

build docker image

gcloud container builds submit --config cloudbuild.yml
# gcloud container builds list

deploy

create

# 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

update

# create new docker image
# edit deployment.yml docker image
kubectl apply -f deployment.yml --record

scaleout

kubectl scale deployment k8s-spring-boot-deployment --replicas 4

Remove

kubectl delete service k8s-spring-boot-service
kubectl delete service k8s-spring-boot-service

Google Cloud SQL

container <-> Cloud SQL Proxy <-> Cloud SQL

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

Logging

stern k8s-spring-boot

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages