自學k8s 常規命令列

2022-06-26 08:42:10 字數 1447 閱讀 5664

pod 是容器的集合,通常會將緊密相關的一組容器放到乙個 pod 中,同乙個 pod 中的所有容器共享 ip 位址和 port 空間,也就是說它們在乙個 network namespace 中。

pod 是 kubernetes 排程的最小單位,同一 pod 中的容器始終被一起排程。

部署應用

執行命令:

kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080

kubectl run 部署了乙個應用,命名為 kubernetes-bootcamp。

docker 映象通過 --image 指定。

--port 設定應用對外服務的埠

檢視當前的 pod

kubectl get pods

訪問應用

預設情況下,所有 pod 只能在集群內部訪問。為了能夠從外部訪問應用,我們需要將容器的埠對映到節點的埠。

kubectl expose deployment/kubernetes-bootcamp --type="nodeport" --port 8080 (猜測這應該是隨機對映主機的3000以上的埠)

執行命令 kubectl get services 可以檢視應用(容器)被對映到節點的哪個埠,猜對了

scale 應用

預設情況下應用只會執行乙個副本,可以通過 kubectl get deployments 檢視副本數。

將副本數增加到 3 個

kubectl scale deployments/kubernetes-bootcamp --replicas=3

通過 kubectl get pods 也可以看到當前 pod 也增加到 3 個,通過 curl 訪問應用,可以看到每次請求傳送到不同的 pod,三個副本輪詢處理,這樣就實現了負載均衡。

要 scale down 也很方便,執行命令:

kubectl scale deployments/kubernetes-bootcamp --replicas=2

滾動更新

當前應用使用的 image 版本為 v1,執行如下命令將其公升級到 v2:(猜測本質是用新的映象建立新的應用後,再把老的應用退出,更新的時候是該應用的所有副本都更新)

kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

通過 kubectl get pods 可以觀察滾動更新的過程:v1 的 pod 被逐個刪除,同時啟動了新的 v2 pod。更新完成後訪問新版本應用。(猜測正確)

如果要回退到 v1 版本也很容易,執行 kubectl rollout undo 命令:

kubectl rollout undo deployments/kubernetes-bootcamp

k8s 命令 重啟 k8s基本命令

kubernetes 常用命令 通過yaml檔案建立 kubectl create f yaml 不建議使用,無法更新,必須先delete 通過yaml檔案刪除 kubectl delete f yaml 檢視kube system namespace下面的pod svc deployment 等等...

k8s常用命令常用k8s命令

獲取列出乙個或多個資源的資訊。列出所有執行的pod資訊。列出pod以及執行pod節點資訊。以json格式輸出乙個pod資訊。列出所有replication controllers和service資訊。列出所有不同的資源物件。獲取列出乙個或多個資源的資訊。列出所有執行的pod資訊。列出pod以及執行p...

K8s之kubectl命令列工具常用命令

kubectl管理 kubectl是管理k8s集群的命令列工具,通過生成的json格式傳遞給apiserver進行建立 檢視 管理的操作 常用命令行 basic commands beginner create create a resource from a file or from stdin....