iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 4
1
Kubernetes

15 分鐘學習系列 - 第一次學 Kubernetes 就上手系列 第 4

Day 4 - 部署應用程式到 Kubernetes 叢集 - Part I - 手動建立 deployment 與 Service

上一篇我們實際演練了如何建立 docker image, 本篇筆記將要實際操作如何把 docker image 手動部署到 Kubenetes 叢集上並且建立部署與服務.

手動建立 deployment 與 Service

  1. 開始之前, 使用 docker images 確認要部署的 image 已經建立完成
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871ZHqguiWjRv.png
  2. 使用 kubectl run aspnetapp-interactive-delopyment --image aspnetapp:local --port=80 --replicas=3 來部署 image
    其中:
    aspnetapp-interactive-delopyment 是部署的名稱
    aspnetapp:local 是 Image 名稱
    port=80 是 Pod 所 listen 的 tcp port 80
    replicas=3 是由 Kubenetes 叢集自動覆寫成 3 個 Pods
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871A2D5d3STyE.png
  3. 部署完後, 先用 kubectl get deployments 看看部署設定
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871nM2sZ7uX0T.png
  4. 另外可以用 kubectl get rs 來確認 replicaset
    https://ithelp.ithome.com.tw/upload/images/20181017/2011187179TdPzUEh0.png
  5. kubectl get pods 來確認 Pod 部署狀況, 其中 NAME 欄位的內容為 deployname-container 的 machine name 格式呈現, 看來一切狀況良好!
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871yZwE5hcqqJ.png
  6. 接下來使用命令 kubectl expose deployment aspnetapp-interactive-deployment --type=NodePort 將 Resource expose 到 kubernetes service 的 nodepart type. (練習到這裡發現 deployment 誤植為 delpoyment, 就將錯就錯吧)
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871FnsPI7HjOW.png
  7. kubectl get svc 命令將剛剛 expose 的 deployment 服務列出來, 服務自動產生一個 30000~ 的隨機 TCP port 提供連線
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871QGodlZkXJ9.png
  8. 開啟 Browser 連線到 http://localhost:30023 測試結果
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871uF8RctE2VQ.png

本次筆記完成了一個 3 個 Pods 部署的範例, 下一個筆記將介紹使用宣告式 Manifest 檔案(yaml 或 JSON) 部署方式.


參考資料:


上一篇
Day 3 - 為 Kubernetes 準備 Docker Image
下一篇
Day 5 - 部署應用程式到 Kubernetes 叢集 - Part II - 使用配置檔案部署應用程式
系列文
15 分鐘學習系列 - 第一次學 Kubernetes 就上手30

尚未有邦友留言

立即登入留言