Here’s how to run your web application on Google Kubernetes Engine.
Create a Dockerfile. Place your web pages in the public-html directory.
FROM httpd:2.4 COPY ./public-html/ /usr/local/apache2/htdocs/ |
Build a container image for Google Container Registry (GCR).
# set your project export PROJECT_ID=[project_id] # build a container image docker build -t gcr.io/${PROJECT_ID}/your-app:v1 . # verify docker images docker images |
Upload the container image to GCR.
# authenticate gcloud auth configure-docker # upload image docker push gcr.io/${PROJECT_ID}/your-app:v1 |
Create a container GKE cluster.
# create cluster gcloud container clusters create your-app-cluster \ --num-nodes=2 # check clusters gcloud compute instances list |
Deploy your web application.
# create deployment kubectl create deployment your-app \ --image=gcr.io/${PROJECT_ID}/your-app:v1 # see the pods kubectl get pods |
Expose your application to the Internet.
# expose your application kubectl expose deployment your-app \ --type=LoadBalancer \ --port 80 \ --target-port 80 # get the external ip address kubectl get service |
Scale your application.
# scale to 3 replicas kubectl scale deployment your-app --replicas=3 # display the replicas kubectl get deployment your-app |
Cleanup.
kubectl delete service your-app gcloud container clusters delete your-app-cluster |