User Tools

Site Tools


gcp:start

gcloud

gcloud version

create virtual machine

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

images List

gcloud compute images list | grep debian

machien type

gcloud compute machine-types list --filter="zone:( europe-central2-a europe-west1-d )"

example with gke

set default project:

$ 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
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
gcp/start.txt · Last modified: 2024/11/10 08:01 by 127.0.0.1