iT邦幫忙

1

Kubernetes - Deploy an App

  • 分享至 

  • xImage
  •  

Using kubectl to Create a Deployment

  1. 學習如何部署app
  2. 使用kubctl創建部署

以下為重點節錄,取自官網

Once the application instances are created, a Kubernetes Deployment Controller continuously monitors those instances. If the Node hosting an instance goes down or is deleted, the Deployment controller replaces the instance with an instance on another Node in the cluster. This provides a self-healing mechanism to address machine failure or maintenance.

大意是只說當你當你創建app instance後,k8s會持續地幫你監控,如果該Node託管的instance壞掉,會自動起一個新的Instance

這是個重要概念,這提供了當你的服務壞掉或是需要維修重啟,k8s具有自我修復的方法

Interactive Tutorial - Deploying an App

接著是在網頁上開始實作,minikube/kubectl不需要安裝

  • 查看kubectl資訊
kubectl version
  • 查看可任何command的附加資訊或是參數,在最後加上--help,kubectl get nodes可以查看可用Node
kubectl get nodes --help
  • 透過image部署
kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1

當在執行部屬時,k8s會做這幾件事

  1. searched for a suitable node where an instance of the application could be run (we have only 1 available node)
  2. scheduled the application to run on that Node
  3. configured the cluster to reschedule the instance on a new Node when needed
  • 查看部署清單
kubectl get deployments
  • 建立kubernetes proxy(檢視app)
    pod是運行在k8s內部被隔離的網路,所以其中一種訪問到pod內的方法就是建立proxy
kubectl proxy

接著使用curl http://localhost:8001/version就能訪問到pod

在教學中的API Server還會為每個pod建立endpoint
但是好像是失效的,在echo $POD_NAME是空的
不過照著教學export pod name在用curl繼續訪問是可以拿到一串帶有href的網址的

參考


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言