iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0
Kubernetes

開工前挑戰 K8s系列 第 1

Day1 - 為什麼要學 K8s

  • 分享至 

  • xImage
  •  

前言

在幾個月的經歷中,深感自己技術實力上的不足,技能樹沒點滿,因此錯失了很多機會。因此,這次鐵人賽想來挑戰30天記錄從頭學習K8s的過程。

首先,在進入正題之前,需要對虛擬機器、容器化技術有稍稍地認識:
簡單來說,Container的出現大大地改善了過往虛擬機(Virtual Machine)的缺點,像是VM最為人所詬病的就是容量大、啟動速度慢等,而容器(Container)此時的出現,以更輕量化的方式提供使用者打包應用程式,其中最常聽到的有Docker

https://ithelp.ithome.com.tw/upload/images/20240915/20169452qyxzQ8rvtW.jpg

有了Docker來標準化容器,下一個議題就是,該如何管理這些容器呢?
這也是K8s作為Container Orchestration Platform的誕生。

K8s是什麼

是2014年由Google所開源推出的專案Kubernetes,目標是管理跨多個主機上的容器編排,提供自動化部署、管理容器化應用程式等,其理論來源於Google內的Borg,可參考此篇論文

k8s能做什麼?

  • 高可用性: K8s會自動將工作負載調度到健康的Pod上,確保該服務不中斷,維持服務可用性。

  • 負載平衡: K8s提供了多種內部和外部負載平衡機制。

  • 自動Rollouts/Rollbacks: 透過K8s自動化部署,且在不違背服務可用性前提下,將實際狀態進行更新。
    具體來說,如果現階段某服務更新版本後出現問題,可透過Rolling Back來恢復舊版本。

  • 自我修復: 當服務發生異常時,K8s會透過偵測機制,及時將該Pod刪除定重新創建。

之後想寫一篇關於K8s和Docker Swarm的差別與如何選擇

為什麼要學K8s

K8s的崛起是因為它可以協助管理微服務(Microservice),可自動化部署及管理多台機器上的容器。

何謂微服務?
相比單體式架構(Monolithic),微服務架構中中各服務皆為獨立運作,具有低耦合、高可擴展性等特性。
可參考此文

在Cloud Computing時代下,K8s已經是近來最常聽到的技術名詞了,要更好地管理容器,K8s是必備的技能之一。

目錄

Day1 - 為什麼要學 K8s
Day2 - K8s 元件

小結

今天很Overview地帶過K8s概念,明天預計會開始慢慢介紹其中架構與元件,後續若有詳細規劃,再行補充。


下一篇
Day2 - K8s 元件
系列文
開工前挑戰 K8s8
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言