最簡單的deployment就是啟動某個image,然後不帶其他設定
kubectl create deployment <name-of-depl> --image=<image-name>
可以透過 kubectl get deployment
檢查deploy的狀態
等到狀態變成ready後就可以用 kubectl get pod
看到所有running的pod
pod name是由replicaset id + pod id組成
通常也不會去動replicaset,他會在deployment時由K8s自動設定
要看pod的更詳細訊息可以用
kubectl describe pod <pod_name>
會分別列出到pod成功running前的各步驟花了多久時間
如果deploy失敗或是要查看log,可以使用
kubectl logs <pod-name>
要連進某個pod的terminal可以透過
kubectl exec -it <pod_name> -- bin/bash
用法和在docker要連進contianer的terminal非常類似
kubectl edit deployment <name-of-depl>
當你修改並儲存deployment的設定後,pod就會自動重建 (舊的被刪掉,直接創新的)
但是舊的replicaset並不會被刪掉,只會把剛剛那個Pod從中移除
要連帶pod + replicaset 一併刪除的話
kubectl delete deployment <depl-name>
可以透過kubectl get replicaset
去確認
比較常見的做法還是先寫好YAML檔再去deploy
kubectl apply -f <filename>
deployment這種型態會根據kind還有apiVersion來決定
apiVersion: apps/v1
kind: Deployment
如果以這種方式deploy的,往後只要修改檔案,pod就會自動重建了
Kubectl Basic Commands - Create and Debug Pod in a Minikube cluster | Kubernetes Tutorial 18