kubernates (以下簡稱 k8s ),是這幾年所流行的一個技術架構,因為這個架構帶動了很多相關議題 ex DEVOPS , MICROSERVICES,不管在 DEV & OPS 上,都需要新的觀念導入,甚至在 CI/CD 上面也有各種不同的工具雨後春筍般的冒出來。接下來的 30 天會稍微簡單介紹一下,整條 k8s 生態鏈我曾經用過的一些東西。讓大家能夠有一個粗淺的了解

在進入正題之前,首先不免俗會需要先介紹,什麼叫做 k8s,下面引用自 wiki

Kubernetes(在希臘語意為「舵手」或「駕駛員」)由Joe Beda、Brendan Burns和Craig McLuckie創立,並由其他Google工程師,包括Brian Grant和Tim Hockin等進行加盟創作,並由Google在2014年首次對外宣布 。該系統的開發和設計都深受Google的Borg系統的影響,其許多頂級貢獻者之前也是Borg系統的開發者。在Google內部,Kubernetes的原始代號曾經是Seven,即星際迷航中的Borg(博格人)。Kubernetes標識中舵輪有七個輪輻就是對該專案代號的致意。

Kubernetes v1.0於2015年7月21日釋出。隨著v1.0版本釋出,Google與Linux 基金會合作組建了Cloud Native Computing Foundation(CNCF)並將Kubernetes作為種子技術來提供。

Rancher Labs在其Rancher容器管理平台中包含了Kubernetes的釋出版。Kubernetes也在很多其他公司的產品中被使用,例如Red Hat的OpenShift,CoreOS的Tectonic, IBM的IBM私有雲產品,精靈雲的EcOS,以及 VMware的PKS等等。

而現今資訊界常見的縮寫手法「K8s」則是將「ubernete」八個字母縮寫為「8」而來。

那到底 k8s 有什麼好?

在我的觀念中,k8s 的誕生,是讓 DEV 更靠近 OPS 一點,以前的 RD 的分工可能會切成 “DEV” “OPS”,但是現在有了 k8s 這個框架,則變成 “DEVOPS”,讓開發人員更可以用很方便的方式去操作系統架構面的東西,這是這個世代的工程師都必須要了解的一個東西,不管你原本是站在 “DEV” 或者是 “OPS”。

下面是我覺得他的幾個優點

  1. 幫助開發者可以輕易的掌握 OPS 情況,可以更輕易滿足專注開發
  2. 所有 OPS 相關的操作,都有對應的 api 可以使用 ex 擴展,分配 cpu & ram
  3. 在雲端平台上 (aws,gcp,azure),更是得心應手,可以輕鬆的調度實體機器 or CPU or RAM。

在看這個系列之前,我覺得閱讀者需要先有 container 的觀念,才比較容易進入接下來的說明,因為 k8s everything is container…。

下面是預計接下來30天預計會進行的五大區塊主題

  • 簡介 k8s 基礎知識
  • 本地安裝 k8s (這邊會用 k8s 另一個發行版 k3s 來實作)
  • helm 介紹
  • istio 使用介紹
  • 觀測相關工具介紹