我學啥你就學啥Kubernetes(0)No.119

好,現在開始跟大家一起學習 Kubernetes ,本系列文章不會有什麼安排,起點就是,我學什麼我就向你們分享什麼,期望大家對這門目前比較主流的技術有一定的瞭解,以及一定的動手能力,給我自己掃掃盲,也給大家掃掃盲。

主要知識來源:

極客時間專欄《深入剖析 Kubernetes》

書籍《Kubernetes權威指南》

官網 https://kubernetes.io

Google

Kubernetes,全名還是有點長的,業界縮寫是 k8s,後續我也用k8s來代替全名。

關於k8s,官方的介紹是這樣的

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

k8s是一個提供 自動化部署、自動化擴縮容以及管理容器化應用的開源系統。

怎麼理解呢?就是首先,k8s 是開源的,這事毋庸置疑的。其次呢,k8s 管理的對象是 容器化的應用,也就是說普通的非容器化的應用它不管。第三呢,它提供了 自動化部署和自動化擴縮容 的能力。

這三條合起來,可以實現一個普遍的現有系統自動化運維能力。

至於爲什麼用容器來作爲運行基礎,每個人有每個人的看法,我的看法比較勢利,就是爲了提高資源利用率,人和機器利用率,主要是機器。

直接部署在物理主機上或者雲主機上是這樣的,所有 App 公用操作系統以及硬件資源,各個App間可能互相影響,無法隔離,這確實是資源利用最高效的方式。

虛擬機部署方式是這樣的,好處是各個應用隔離非常徹底,缺點就是都要在主機操作系統上,跑多一層操作系統,資源浪費比較嚴重。

容器化部署是這樣的,好處就是App間隔離非常好,公用底層操作系統資源利用率蠻高,每個App都有自己的環境和資源分配。目前比較主流的開源容器技術有兩,一是 Docker,二是Rocket。(小提問,Docker需要我來講嗎?)

總得來說,k8s選擇容器技術作爲最基礎運行單位,有着一定的考慮,比較重點的原因是容器技術可以做到 App 間隔離,以及相對於虛擬機的資源利用率。但是還有更加核心的一點,就是容器鏡像。

有了容器鏡像,開發者在本地運行的環境,跟放在服務端運行的環境可以保持 幾乎 100% 一致,本地的表現是怎樣的,打包成鏡像後在服務端運行的表現就是怎樣的。另外一方面,因爲鏡像很標準包含了應用所需的所有環境,應用可以在調度下,非常非常方便地進行水平擴容和縮容。

好了今天就聊到這,說一下今天學習的重點。

1、嘮嗑。

2、k8s 是使用 yaml 文件來定義資源的,yaml 的語法要點有3個。

  1. key: value 對,使用英文冒號:分割,後加一個空格。
  2. 使用兩個空格作層級
  3. 使用 - 代表接下來要出現一個List列表了。

就這樣,沒了,比如這樣定義。

爸爸: 大蕉

孩子:

- 兒子: 小蕉

- 女兒: 小小蕉

end

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章