官术网_书友最值得收藏!

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ù)語具備一定的了解。

主站蜘蛛池模板: 荥阳市| 天水市| 若羌县| 怀集县| 威宁| 平湖市| 湘乡市| 滨州市| 沈丘县| 临沭县| 肇东市| 临西县| 榆中县| 夏河县| 水城县| 望谟县| 揭阳市| 昌黎县| 图木舒克市| 左云县| 廊坊市| 名山县| 罗山县| 建昌县| 蒙山县| 游戏| 蒲江县| 浦江县| 上思县| 镇原县| 铜山县| 大悟县| 公安县| 麻江县| 平罗县| 蛟河市| 建宁县| 邵阳市| 东方市| 九龙县| 古蔺县|