Introduce Kubernetes
Cyril

Agenda

  • What the problems we met
  • Introduce Kubernetes
  • Why Kubernetes?
  • Introduce POD
  • FAQ

Before Begining

  • 可能無法DEMO太多關於Kubernets的應用
  • 可能無法說明太多關於k8s的專有名詞

What problems we met

Container用起來很方便,但部署上的操作卻相對複雜

 

Container數量變多時,該如何管理並保證服務品質

 

如何簡單的將機器上所有的container移轉到另一台機器上?

以上問題很多都是人工處理.....

你(我)們不是提供SaaS的公司嗎...

What functions we need?

  • 同時部署多個 containers 到一台機器上,甚至多台機器
    
  • 管理各個 container 的狀態,Kubernetes 會偵測有有問題的container到並重啟,確保持續提供服務
  • 將一台機器上所有的 containers 轉移到另外一台機器上。
  • 提供機器高度擴張性。Kubernetes cluster 可以從一台機器,延展到多台機器共同運行。

Why Kubernetes?

  1. 將龐大的專案拆成幾個不同面向的小專案,當代碼夠小、容易理解、開發效率能被提高
  2. 各個服務之間也可獨立部署,不因一個服務癱瘓而癱瘓整個系統
  3. 各團隊可以依照自己的需求使用適合自己的語言、資料庫開發
  4. 每個服務也可以依照自己的需求,選擇在不同機器上部署

Kubernetes architecture diagram

安裝kubetrl

下載 minikube 套件

運行在 Kubernetes 之前,我們需要先認識Pod

Pod 是什麼

Pod 在Kubernetes世界中就相當於一個application。

Pod有以下特點:

  1. 每個 Pod 都有屬於自己的 yaml 檔
  2. 一個 Pod 裡面可以包含一個或多個 Docker Container
  3. 在同一個 Pod 裡面的 containers,可以用 local port numbers 來互相溝通

如何建立一個 Pod

DEMO

Thank you for listening

Made with Slides.com