Một số lệnh được tích hợp sẵn trong cluster của GCP: gcloud
, kubectl
và helm
. Để sẽ dụng được thì phải lấy thông tin xác thực cho cluster
gcloud container clusters get-credentials jenkins-cd
kubect1 cluster-info
-
gcloud components install gke-gcloud-auth-plugin
-
gcloud auth configure-docker
-
gcloud services enable cloudaicompanion.googleapis.com
-
gcloud auth list
-
gcloud config set account
quachson
-
gcloud auth login
-
gcloud compute zones list
-
gcloud config set compute/zone us-east4-a
- Thiết lập khu vực mặc định (default zone) cho các lệnh gcloud CLI tiếp theo. ZONE là
us-central1-a
,asia-east1-b
,europe-west3-c
, ...
- Thiết lập khu vực mặc định (default zone) cho các lệnh gcloud CLI tiếp theo. ZONE là
-
gcloud config list project
-
gcloud config set project [PROJECT_ID]
-
gcloud container clusters create bootcamp --machine-type e2-small --num-nodes 3 --scopes "https://www.googleapis.com/auth/source.read_write,cloud-platform"
- Tạo cluster với 3 nodes
-
gcloud container clusters list
Google Artifact Registry
Google Artifact Registry là Package manager
như là Docker Images
, maven
hay npm
. Tích hợp được với Cloud Build, Cloud Deploy hay Google Kubernetes Engine.
Phải chạy lệnh này để update quyền vào docker mới có thể pull/push images
- gcloud auth configure-docker "REGION"-docker.pkg.dev
- docker build -t "REGION"-docker.pkg.dev/"PROJECT_ID"/my-repository/node-app:0.2 .
- docker images
- docker push "REGION"-docker.pkg.dev/"PROJECT_ID"/my-repository/node-app:0.2
Monitory and Log
Này là 1 topic/certificate của Google luôn nêu rất nhiều thứ nếu đào sâu. Cloud console / Logs Explorer
Log Explorer
- Query log
resource.type="k8s_container"
severity=ERROR
labels."k8s-pod/app": "recommendationservice"
- Action / Create metrics
Monitoring / Alert
Navigation menu / Monitoring / Alert (create Alert, add metrics, notifications khi có lỗi xảy ra)
Manage Kubernetes
Muốn deploy kubernetes thì phải có host chứa image như dockerhub
hay Google Artifact Registry
- Tạo cluster
- Tạo deployment
- Tạo service, mở port để bên ngoài có thể truy xuất vào đuọc
-
kubectl create -f
deployments/fortune-app-blue.yaml
-
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0
-
kubectl get deployments
-
kubectl get replicasets
-
kubectl get pods
-
kubectl create -f
services/fortune-app.yaml
- Create a service to expose
-
kubectl get services fortune-app
-
kubectl expose deployment hello-server --type=LoadBalancer --port 8080
-
kubectl scale deployment fortune-app-blue --replicas=5
-
kubectl get pods | grep fortune-app-blue | wc -l
Roll back an update
- kubectl edit deployment
fortune-app-blue
(chỉnh sửa trực tiếp)
Change version 1 to 2
-
kubectl rollout history
deployment/fortune-app-blue
-
kubectl rollout undo
deployment/fortune-app-blue
- These changes will be rollback and version is 1
-
kubectl apply -f deployments/fortune-app-blue.yaml
- Edit file xong, thì apply giống như redeployment