- Kubernetes修煉手冊
- (英)奈吉爾·波爾頓
- 1042字
- 2021-05-18 16:41:22
1.1 Kubernetes的背景
Kubernetes是一個應用編排器(orchestrator),主要用于對容器化的云原生微服務應用進行編排。對于這一定義讀者可能會感覺技術(shù)術(shù)語太多了!
隨著對Kubernetes的了解和使用,這些術(shù)語都會遇到,下面就花少量的篇幅進行簡要的介紹。
1.1.1 編排器
編排器是一套部署和管理應用程序的系統(tǒng)。它能夠部署應用,并動態(tài)地響應變化。例如,Kubernetes包括但不僅限于以下功能。
●部署應用程序。
●根據(jù)需要動態(tài)擴縮容。
●當出現(xiàn)故障時自愈。
●進行不停機的滾動升級和回滾。
Kubernetes最突出的優(yōu)點是,它可以在無須人工干預決策的情況下自動完成以上所有任務。顯然,這需要用戶在最初進行一些配置,一旦完成配置,就可以一勞永逸地放心交給Kubernetes了。
1.1.2 容器化應用
所謂容器化應用就是運行在容器中的應用。
在容器技術(shù)出現(xiàn)之前,應用程序可以運行在物理機或虛擬機中。容器是關(guān)于應用打包和運行方式的新的迭代,它更加快速、輕量,也比服務器或虛擬機更加適合現(xiàn)代的業(yè)務需求。
可以這樣想。
●在開放系統(tǒng)(open-system)時代(大約20世紀80年代和20世紀90年代),應用運行在物理機上。
●在虛擬機時代(大約2000—2010年),應用運行在虛擬機中。
●在云原生(cloud-native)時代(如今),應用運行在容器中。
同時,Kubernetes也可以編排其他負載類型,包括虛擬機和serverless功能(serverless function),不過最普遍的情況是用于容器的編排。
1.1.3 云原生應用
所謂云原生應用,是指被設計用來滿足現(xiàn)代業(yè)務需求(自動擴縮容、故障自愈、滾動升級等)并且運行在Kubernetes之上的應用。
我認為有必要澄清一點,那就是云原生應用并非只能運行在公有云上。當然,它們可以運行在公有云上,不過也可以運行在其他任何Kubernetes平臺之上,甚至包括自建數(shù)據(jù)中心。
1.1.4 微服務應用
一個微服務應用,是指由許多小而專的服務組件,通過互相通信而組成的一套完整的業(yè)務系統(tǒng)。以一個電子商務系統(tǒng)為例,它可能由以下功能獨立的微服務組成。
●Web前端。
●分類服務。
●購物車。
●授權(quán)服務。
●日志服務。
●持久化存儲。
每一個單獨的服務都可被稱為一個微服務。通常,每個微服務都可以由不同的團隊負責研發(fā)和運維,可以擁有自己的發(fā)布節(jié)奏,并且獨自進行擴縮容。例如,可以在不影響其他組件的情況下,為日志服務打補丁或擴容。
這種構(gòu)建方式正是云原生應用的一個很重要的特點。
通過以上的介紹,我們再來回顧一下前面那個由各種晦澀難懂的術(shù)語組成的定義。
Kubernetes可用于部署和管理(編排)那些能夠以容器的形式打包和運行(容器化)的應用,這些應用的構(gòu)建方式(云原生微服務)使它們能夠根據(jù)業(yè)務需求實現(xiàn)擴縮容、故障自愈和在線升級。
以上這些概念將會貫穿本書,相信通過目前的介紹,讀者可以對相關(guān)的術(shù)語具備一定的了解。
- 全屋互聯(lián):智能家居系統(tǒng)開發(fā)指南
- Designing Purpose:Built Drones for Ardupilot Pixhawk 2.1
- Windows Server 2012 Hyper-V Cookbook
- Linux內(nèi)核觀測技術(shù)BPF
- Application Development in iOS 7
- Linux內(nèi)核設計的藝術(shù):圖解Linux操作系統(tǒng)架構(gòu)設計與實現(xiàn)原理
- OpenSolaris設備驅(qū)動原理與開發(fā)
- RHCSARHCE 紅帽Linux認證學習指南(第7版)EX200 & EX300
- Vim 8文本處理實戰(zhàn)
- Troubleshooting Docker
- Building Telephony Systems With Asterisk
- 電腦辦公(Windows 10 + Office 2016)入門與提高(超值版)
- Raspberry Pi入門指南
- 應急指揮信息系統(tǒng)設計
- 大規(guī)模Linux集群架構(gòu)最佳實踐:如何管理上千臺服務器