Kubernetes是什么?
大概很多人對此都有疑問,不過在容器領域,Kubernetes卻無人不曉,
阿里、位元組跳動、騰訊、百度等中國互聯網行業巨擘們,近年來都在深耕容器領域,而Kubernetes也是這些大廠未來的戰略重心,
因此,若是你還不了解Kubernetes,這篇掃盲貼一定要收藏后認真看,
一、Kubernetes的前世今生
在《Kubernetes 基礎:入門與安裝配置》一課中,是這樣描述Kubernetes的,
Kubernetes 是一個跨主機集群的、開源的容器調度平臺,它可以自動化應用容器的部署、擴展和操作,提供以容器為中心的基礎架構,
它的名字源于希臘語,意為 “舵手” 或 “飛行員”,k8s 是通過將 8 個字母 “ubernete” 替換為 8 然后改成縮寫,在中文中,k8s 的發音和 Kubernetes 的發音也比較接近,
Linux 基金會常務董事 Jim Zemlin 說:“Kubernetes 已經成為云計算時代的 Linux 作業系統,”
Kubernetes 是 Google Borg 專案的開源版本,Borg 是 Google 內部使用了十幾年的非常有名的大規模集群管理系統,其原型圖片如下所示:
因此,Kubernetes 構建于 Google 數十年經驗,一大半來源于 Google 生產環境規模的經驗,并結合了社區最佳的想法和實踐,Kubernetes 的目標是管理跨多個主機的容器,提供基本的部署,維護以及運用伸縮,主要實作語言為 Go 語言,
二、Kubernetes 成長歷程及特點
Kubernetes 重要成長歷程:
- 2014 年 6 月,Kubernetes 正式由 Google 開源
- 2015 年,Google 將 Kubernetes 捐贈給 Linux 基金會下屬的 CNCF(Cloud Native Computing Foundation,云原生計算基金會)
- 2017 年,Kubernetes 戰勝 Docker Swarm 和 Apache Mesos,成為容器管理與調度編排領域的首選平臺和事實標準
Kubernetes 特點:
強大的容器編排能力
作為容器編排管理平臺,擁有強大的容器編排能力,Kubernetes 與 Docker 共同發展并且深度集成了 Docker,因此適應容器的特點,比如容器組合、標簽選擇和服務發現等,可以滿足企業級的需求,
輕量級
輕量級,對微服務架構有很好的支撐,
便攜性
無論公有云、私有云、混合云還是多云架構都全面支持,可以隨時隨地地將系統整體進行“搬遷”,
無需改變組態檔就可以將系統從物理機遷移到公有云上,并且谷歌云(GCE)、華為云(CCE)、阿里云(ACK)和騰訊云(TKE)都支持 Kubernetes 集群,
三、使用 Kubernetes的 10 個理由
從生態圈的角度來看:
- Google 的業內最成熟的容器編排管理經驗的輸出
- 2017 年戰勝 Docker Swarm 和 Apache Mesos,成為云原生應用唯一值得系結的容器編排管理平臺
- 傳統云平臺提供商的全面支持:Google k8s engine、Red Hat 的 OpenShift、Microsoft 的 Azure container service、IBM 的 cloud container service 等
有了 Kubernetes,你可以:
- 跨主機編排容器
- 更充分地利用硬體資源來最大化地滿足企業應用的需求
- 控制與自動化應用的部署與升級
- 為有狀態的應用程式掛載和添加存盤器
- 線上擴展或裁剪容器化應用程式與它們的資源
- 宣告式的容器管理,保證所部署的應用按照我們部署的方式運作
- 通過自動布局、自動重啟、自動復制、自動伸縮實作應用的狀態檢查與自我修復
四、零基礎入門Kubernetes
近期,實驗樓推出了一系列的Kubernetes課程,難度各異,但我認為,最適合新人學習的課程是這門《Kubernetes 基礎:入門與安裝配置》
該課程為 Kubernetes 入門課程,將會從零開始帶領大家一步一步深入學習 Kubernetes 相關知識,內容包括:Kubernetes 基礎概念、微服務架構、部署實體、以及最常用的 YAML 語言格式,
你將學到:
課程內容:
實驗環境:
本課程全部為云主機實驗環境,Kubernetes 版本為 1.15,在環境中通過腳本執行命令即啟動一個 3 節點的 Kubernetes 集群,
適合人群:
課程難度為簡單,面向已經掌握 Linux 基礎以及 Docker 基礎,同時希望能夠快速了解 Kubernetes 基礎概念、進行單節點(多節點)安裝部署、以及集群基本使用的同學,
Tips:
點擊《Kubernetes 基礎:入門與安裝配置》,現在還有試學機會哦,
五、關于Kubernetes的補充閱讀
還未熟悉Linux和Docker基礎的同學,可以查看實驗樓課程:
《Linux 基礎入門》(免費)
《動手實戰學 Docker》
已經了解Kubernetes,并想深度學習的同學可以繼續學習實驗樓課程:
《Kubernetes 進階(一):Pod 與 Service》
《Kubernetes 進階(二):控制器、存盤與網路》
《Kubernetes 進階(三):Helm、集群安全、日志與監控》
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/40874.html
標籤:Go
上一篇:Golang定時任務簡單實作
