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

Kubernetes sharing

By Cyril Yu

Kubernetes sharing

k8s sharing with Dinngo

  • 782