- Kubernetes修煉手冊
- (英)奈吉爾·波爾頓
- 1042字
- 2021-05-18 16:41:22
1.1 Kubernetes的背景
Kubernetes是一個應用編排器(orchestrator),主要用于對容器化的云原生微服務應用進行編排。對于這一定義讀者可能會感覺技術術語太多了!
隨著對Kubernetes的了解和使用,這些術語都會遇到,下面就花少量的篇幅進行簡要的介紹。
1.1.1 編排器
編排器是一套部署和管理應用程序的系統。它能夠部署應用,并動態地響應變化。例如,Kubernetes包括但不僅限于以下功能。
●部署應用程序。
●根據需要動態擴縮容。
●當出現故障時自愈。
●進行不停機的滾動升級和回滾。
Kubernetes最突出的優點是,它可以在無須人工干預決策的情況下自動完成以上所有任務。顯然,這需要用戶在最初進行一些配置,一旦完成配置,就可以一勞永逸地放心交給Kubernetes了。
1.1.2 容器化應用
所謂容器化應用就是運行在容器中的應用。
在容器技術出現之前,應用程序可以運行在物理機或虛擬機中。容器是關于應用打包和運行方式的新的迭代,它更加快速、輕量,也比服務器或虛擬機更加適合現代的業務需求。
可以這樣想。
●在開放系統(open-system)時代(大約20世紀80年代和20世紀90年代),應用運行在物理機上。
●在虛擬機時代(大約2000—2010年),應用運行在虛擬機中。
●在云原生(cloud-native)時代(如今),應用運行在容器中。
同時,Kubernetes也可以編排其他負載類型,包括虛擬機和serverless功能(serverless function),不過最普遍的情況是用于容器的編排。
1.1.3 云原生應用
所謂云原生應用,是指被設計用來滿足現代業務需求(自動擴縮容、故障自愈、滾動升級等)并且運行在Kubernetes之上的應用。
我認為有必要澄清一點,那就是云原生應用并非只能運行在公有云上。當然,它們可以運行在公有云上,不過也可以運行在其他任何Kubernetes平臺之上,甚至包括自建數據中心。
1.1.4 微服務應用
一個微服務應用,是指由許多小而專的服務組件,通過互相通信而組成的一套完整的業務系統。以一個電子商務系統為例,它可能由以下功能獨立的微服務組成。
●Web前端。
●分類服務。
●購物車。
●授權服務。
●日志服務。
●持久化存儲。
每一個單獨的服務都可被稱為一個微服務。通常,每個微服務都可以由不同的團隊負責研發和運維,可以擁有自己的發布節奏,并且獨自進行擴縮容。例如,可以在不影響其他組件的情況下,為日志服務打補丁或擴容。
這種構建方式正是云原生應用的一個很重要的特點。
通過以上的介紹,我們再來回顧一下前面那個由各種晦澀難懂的術語組成的定義。
Kubernetes可用于部署和管理(編排)那些能夠以容器的形式打包和運行(容器化)的應用,這些應用的構建方式(云原生微服務)使它們能夠根據業務需求實現擴縮容、故障自愈和在線升級。
以上這些概念將會貫穿本書,相信通過目前的介紹,讀者可以對相關的術語具備一定的了解。
- 零起點學Linux系統管理
- Windows Server 2012 Hyper-V:Deploying the Hyper-V Enterprise Server Virtualization Platform
- 大學計算機應用基礎實踐教程(Windows 7+Office 2013)
- Instant Handlebars.js
- 操作系統基礎與實踐:基于openEuler平臺
- Linux性能優化
- Windows Server 2019 Administration Fundamentals
- Learning Bootstrap
- 8051軟核處理器設計實戰
- Kali Linux 2018:Windows Penetration Testing
- RHCSARHCE 紅帽Linux認證學習指南(第7版)EX200 & EX300
- Linux系統最佳實踐工具:命令行技術
- Mastering Windows 8 C++ App Development
- Linux 從入門到項目實踐(超值版)
- Learn OpenShift