Sunday, 30 October 2022
Google Kubernetes Engine - gcloud and kubectl examples (Part 1)
In this post, we have given the most useful commands of google kubernetes emgine. This will be handy reference.
Create Cluster
gcloud container clusters create my-cluster --zone us-central1-c --project my-kubernetes-project-123456
Get Credentials. This step helps to initialize the environment of cloud shell
gcloud container clusters get-credentials my-cluster --zone us-central1-c --project my-kubernetes-project-123456
Create deployment in kubernetes
kubectl create deployment hello-world-rest-api --image=shareGCP/hello-world-rest-api:0.0.1.RELEASE
kubectl get deployment
Expose the deployment to internet. This create a service in kubernetes
kubectl expose deployment hello-world-rest-api --type=LoadBalancer --port=8080
kubectl get services
kubectl get services --watch
Check whether the service is up
curl 55.184.204.214:8080/hello-world
Manually Scale in/out the number of instances/pods
kubectl scale deployment hello-world-rest-api --replicas=3
Manually Scale in/out the number of nodes
gcloud container clusters resize my-cluster --node-pool default-pool --num-nodes=2 --zone=us-central1-c
Setup autoscaling for the deployment and this increases or decreases number of pods
kubectl autoscale deployment hello-world-rest-api --max=4 --cpu-percent=70
kubectl get hpa
Setup autoscale for number of nodes in the cluster
gcloud container clusters update my-cluster --enable-autoscaling --min-nodes=1 --max-nodes=10
Create config map in kubernets so that these values can be used by the microservice deployed
kubectl create configmap hello-world--testconfig --from-literal=TEST_DB_NAME=oracle
kubectl get configmap
kubectl describe configmap hello-world-testconfig
Store the credentials in kubernetes. This will be accessible for microservices
kubectl create secret generic hello-world-secrets-2 --from-literal=RDS_PASSWORD=dummy
kubectl get secret
kubectl describe secret hello-world-secrets-2
Kubernetes deployment changes via yaml file
kubectl apply -f deployment.yaml
Create additional node pool -- Don't try its costly
gcloud container node-pools create new_pool_name --zone=us-central1-c --cluster=my-cluster
List the node pools creates as part of your cluster
gcloud container node-pools list --zone=us-central1-c --cluster=my-cluster
Set cluster name in your default configuration. This allows to execute kubectl commands without cluster name
gcloud config set container/cluster my-cluster
0 Responses to “Google Kubernetes Engine - gcloud and kubectl examples (Part 1)”
Post a Comment