rabelais88 / kube-full-sample

api-client-db on a single instance full kubernetes sample

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kubernetes setup example

building images

# client
docker build -f ./client/Dockerfile -t rabelais/multi-client:latest ./client
docker push rabelais/multi-client:latest
docker build -f ./server/Dockerfile -t rabelais/multi-server:latest ./server
docker push rabelais/multi-server:latest
docker build -f ./worker/Dockerfile -t rabelais/multi-worker:latest ./worker
docker push rabelais/multi-worker:latest

setting credentials on GCP

# on Google Cloud console shell
gcloud config set project ${PROJECT_NAME}
gcloud config set compute/zone ${CLUSTER_REGION}
gcloud container clusters get-credentials ${CLUSTER_NAME}
kubectl create secret generic pgpassword --from-literal PGPASSWORD=${DESIRED_PASSWORD_FOR_PG}

installing Helm on GCP console shell

link

workflow(travis-CI)

  1. Install Google Cloud SDK CLI
  2. Configure SDK with GC auth

service-account.json must be served via extensive Travis-CI settings must use Travis-CI CLI https://github.com/travis-ci/travis.rb#installation

  1. Docker CLI login
  2. build
  3. run test
  4. push docker image to hub
  5. apply k8s config

travis-CI auth encryption

travis login # use Github info
travis encrypt-file ${GC_AUTH_JSON_FILE} -r ${GITHUB_USERNAME}/${GITHUB_REPO_NAME}

About

api-client-db on a single instance full kubernetes sample


Languages

Language:JavaScript 73.3%Language:HTML 11.8%Language:Shell 7.7%Language:Dockerfile 3.8%Language:CSS 3.3%