您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎樣使用kubectl的Deployment創建App,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
kubectl 的Deployment 功能可以指令Kubernetes 如何創建和更新應用實例。通過kubectl 命令創建一個deployment后,Kubernetes master 會調度deployment配置好的應用實例到集群特定的節點運行。
一旦應用實例被創建好之后,Kubernetes Deployment Controller 會持續監控這些實例。如果運行這些實例的節點down機或被刪除,Deployment controller 會替換掉它。所以Kubernetes 提供了一種自修復機制來處理機器故障或維護。
進入下面的鏈接進行部署應用練習。
練習環境:https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/
終端輸入kubectl get nodes命令可以來查看當前集群
kubectl run命令
run命令創建一個新的部署。 我們需要提供部署名稱和應用程序鏡像位置 。 如果希望在特定端口上運行應用程序,需要添--port參數 :
kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080
上面的命令通過創建deployment部署了一個應用程序,命令完成了幾件事:
搜索可以運行應用程序實例的適當節點(目前只有一個)。
調度應用程序在該節點上運行。
配置集群,以便在需要時重新調度新節點上的實例。
kubectl get deployments
此命令可以查看剛才新創建的部署
查看 app
在Kubernetes內部運行的Pods運行在一個私有的、隔離的網絡上。默認情況下,它們可以從同一個kubernetes集群內的其他pod和服務中看到,但不能從 集群 網絡之外看到。 當我們使用kubectl時,我們通過API端點與應用程序進行交互。
kubectl命令可以創建一個代理,將通信轉發到集群范圍的私有網絡。按control-C可以終止代理,運行時不會顯示任何輸出。
打開第二個終端窗口來運行代理。 kubectl proxy
現在我們在主機(在線終端)和Kubernetes集群之間建立了連接。代理允許從這些終端直接訪問API。您可以看到通過代理端點托管的所有這些api,現在可以通過http://localhost:8001獲得這些api。例如,我們可以使用curl命令直接通過API查詢版本: curl http://localhost:8001/version
API服務器將根據pod名稱為每個pod自動創建端點,這些端點也可以通過代理訪問。
首先我們需要獲得Pod名稱,我們將存儲在環境變量POD_NAME中: export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}') echo "Name of the Pod: $POD_NAME"
現在,我們可以向在該pod中運行的應用程序發出HTTP請求: curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/proxy/
結果如圖:
關于怎樣使用kubectl的Deployment創建App就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。