iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
Kubernetes

Think Again Kubernetes系列 第 10

Kubernetes: Cloud OS

  • 分享至 

  • xImage
  •  

接下來要開始深入介紹 Kubernetes Components,所以這一章說一個有趣的東西,就是為什麼 Kubernetes 會被稱為 Cloud OS。

這系列文章前面提到,作業系統是管理資源的角色,而 Kubernetes 用 Pod 做為管理資源的統一單位,這樣的設計很像作業系統的 Process,所以我們可以把 Kubernetes 當作是一個作業系統。

Kubernetes 跟作業系統之間的相似很容易用 Process 以及 Pod 這樣的統一排程單位來類比,但是 Cloud 就比較複雜了,因為我們要先瞭解什麼是 Cloud。

NIST 800-145 有明確的定義 Cloud 的五個主要特性

On-demand self-service:

消費者可以自行根據需求自動調配運算資源,如伺服器時間和網絡儲存,無需與每個服務提供商進行人工互動。

Broad network access:
資源可以透過網絡取得,並通過標準機制訪問,這些機制支持多種異質的瘦用戶端或厚用戶端平台(例如,手機、平板電腦、筆記型電腦和工作站)

Resource pooling:

服務提供商的運算資源以多租戶模式進行池化管理,根據消費者需求動態分配和重新分配不同的實體和虛擬資源。這種資源管理具有位置獨立性,通常消費者無法控制或了解具體資源的位置,但可能可以在較高的抽象層次指定位置(例如,國家、省份或資料中心)。資源的例子包括儲存、處理、記憶體和網絡頻寬。Rapid elasticity:

資源可以根據需求快速擴展或縮減,有時是自動進行。對消費者而言,所提供的資源似乎是無限的,隨時可以按任何數量進行調配。

Measured service:

雲端系統自動控制和優化資源使用,並依據服務類型(如儲存、處理、頻寬和活躍用戶帳戶)的適當抽象層次進行計量。資源使用情況可被監控、控制和報告,為服務提供者和消費者提供透明度。

由於 Kubernetes 具備這些特性,所以我們可以將之稱為 Cloud OS。

On-demand self-service:

用戶可以按照自己的需求,根據 Pod Spec 撰寫設定文件或是打 API,然後請求 Kubernetes 分配相關的資源,不需要直接跟資源提供者互動。這樣的特性就像是隨需即取的自助服務。

Broad network access:

Kubernetes Component 之間的溝通都是 HTTP Protocol,不管你是伺服器還是筆記型電腦,只要網路觸及得到的地方,你都可以管理 Kubernetes,這樣實現了廣泛的網路存取,不需要到機房。

Resource pooling:
Kubernetes 把 Node 做為資源池,只要用戶提出需求,就可以動態分配相關的支援,而用戶並不需要知道自己的請求在哪一台機器上佈署。

Rapid elasticity:

Kubernetes Pod 數量以及大小可以根據負載快速地伸縮,也有自動伸縮的功能。這些功能提供按需的彈性。

Measured service:

Kubernetes 提供資源使用的相關數據,像是 Prometheus 可以對測量資源的使用,從而報告,這讓用戶可以計量,從而透明化成本或優化資源使用。就實務上,在多租戶環境下我們可以使用 kubecost 根據資源使用的相關數據對租戶做成本分析。

Kubernetes 具備這些 Cloud 特性,有許多組織會有一個團隊做把 Kubernetes 做為內部的 PaaS 產品,統一管理容器,所以這個章節介紹了這些 Cloud 特性。


上一篇
Kubernetes Control Plane
下一篇
Admission Controller
系列文
Think Again Kubernetes31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言