gcloud version
gcloud compute instances create my-first-vm \
--project=u-p1-2023 \
--zone=europe-west1-b \
--machine-type=e2-micro \
--network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default \
--maintenance-policy=MIGRATE \
--provisioning-model=STANDARD \
--service-account=538478614556-compute@developer.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append \
--tags=http-server,https-server \
--create-disk=auto-delete=yes,boot=yes,device-name=my-first-vm,image=projects/debian-cloud/global/images/debian-11-bullseye-v20230411,mode=rw,size=10,type=projects/u-p1-2023/zones/us-west4-b/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--labels=ec-src=vm_add-gcloud \
--reservation-affinity=any
gcloud compute images list | grep debian
gcloud compute machine-types list --filter="zone:( europe-central2-a europe-west1-d )"
$ gcloud config set project my-first-gke-project-386406
setup our compute default zone:
$ gcloud config set compute/zone europe-central2-a $ gcloud compute regions list $ gcloud config set compute/region europe-central2 $ gcloud container clusters create hello-cluster --num-nodes=1
get-credential of my gke cluster:
$ gcloud container clusters get-credentials hello-cluster
create a deployment on my server using a sample from google dev:
$ kubectl create deployment hello-server --image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 deployment.apps/hello-server created
create an expose to internet: a service
$ kubectl expose deployment hello-server --type LoadBalancer --port 80 --target-port 8080
get pods and services:
cianodoro@cloudshell:~ (my-first-gke-project-386406)$ kubectl get pods NAME READY STATUS RESTARTS AGE hello-server-c4cc56fb6-t5kgl 1/1 Running 0 3m20s cianodoro@cloudshell:~ (my-first-gke-project-386406)$ kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-server LoadBalancer 10.108.14.12 34.116.138.183 80:31638/TCP 56s kubernetes ClusterIP 10.108.0.1 <none> 443/TCP 19m cianodoro@cloudshell:~ (my-first-gke-project-386406)$ kubectl get service hello-server NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-server LoadBalancer 10.108.14.12 34.116.138.183 80:31638/TCP 66s