欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kubernetes集群的組成介紹

 更新時(shí)間:2022年03月30日 10:45:20   作者:癡者工良  
這篇文章介紹了Kubernetes集群的組成,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Kubernetes集群的組成

我們談起 Kubernetes 和應(yīng)用部署時(shí),往往會(huì)涉及到容器、節(jié)點(diǎn)、Pods 等概念,還有各種術(shù)語(yǔ),令人眼花繚亂。為了更好地摸清 Kubernetes,下面我們將介紹 Kubernetes 中與應(yīng)用程序部署(deployment)和執(zhí)行(execution)相關(guān)的知識(shí)。

Kubernetes 集群由多個(gè)組件(components)、硬件(hardware)、軟件(software)組成,它們共同工作來(lái)管理容器化(containerized)應(yīng)用的部署和執(zhí)行,這些相關(guān)的組成的概念有:

成分名稱(chēng)
Cluster集群
Node節(jié)點(diǎn)
Pod不翻譯
Container容器
Containerzed Application容器化應(yīng)用

接下來(lái)的內(nèi)容,按將從小到大的粒度介紹這些組成成分。

What are containerized applications?

containerized applications 指容器化的應(yīng)用,我們常常說(shuō)使用鏡像打包應(yīng)用程序,使用 Docker 發(fā)布、部署應(yīng)用程序,那么當(dāng)你的應(yīng)用成功在 Docker 上運(yùn)行時(shí),稱(chēng)這個(gè)應(yīng)用是 containerized applications。

定義:

Containerized applications are bundled with their required libraries, binaries, and configuration files into a container.

容器化的應(yīng)用程序與它們所需的庫(kù)、二進(jìn)制文件和配置文件綁定到一個(gè)容器中。

當(dāng)然,并不是說(shuō)能夠?qū)⒁粋€(gè)應(yīng)用程序打包到容器中運(yùn)行,就可以鼓吹產(chǎn)品;并不是每個(gè)應(yīng)用程序都是容器化的優(yōu)秀對(duì)象,例如在 DDD 設(shè)計(jì)中被稱(chēng)為大泥球的應(yīng)用程序,由于其設(shè)計(jì)復(fù)雜、依賴(lài)程度高、程序不穩(wěn)定等原因,難以遷移、難以配置的應(yīng)用程序明顯是失敗的產(chǎn)品。

在多年經(jīng)驗(yàn)中,許多開(kāi)發(fā)者總結(jié)了經(jīng)驗(yàn),形成十二個(gè)云計(jì)算應(yīng)用程序因素指導(dǎo)原則:

1. Codebase: One codebase tracked in revision control, many deploys

? 代碼庫(kù): 一個(gè)代碼庫(kù)可以在版本控制和多份部署中被跟蹤

2. Dependencies: Explicitly declare and isolate dependencies

依賴(lài)項(xiàng): 顯式聲明和隔離依賴(lài)項(xiàng)

3. Config: Store config in the environment

配置: 在環(huán)境中存儲(chǔ)配置

4. Backing services: Treat backing services as attached resources

支持服務(wù): 將支持服務(wù)視為附加資源(可拓展,而不是做成大泥球)

5. Build, release, run: Strictly separate build and run stages

構(gòu)建、發(fā)布、運(yùn)行: 嚴(yán)格區(qū)分構(gòu)建和運(yùn)行階段(連 Debug、Release 都沒(méi)有區(qū)分的產(chǎn)品是真的垃圾)

6. Processes: Execute the app as one or more stateless processes

過(guò)程: 作為一個(gè)或多個(gè)無(wú)狀態(tài)過(guò)程執(zhí)行應(yīng)用程序

7. Port binding: Export services via port binding

端口綁定: 可通過(guò)端口綁定服務(wù)對(duì)外提供服務(wù)

8. Concurrency: Scale out via the process model

并發(fā)性: 通過(guò)進(jìn)程模型進(jìn)行擴(kuò)展

9. Disposability: Maximize robustness with fast startup and graceful shutdown

可處理性: 快速啟動(dòng)和完美關(guān)機(jī),最大限度地增強(qiáng)健壯性

10. Dev/prod parity: Keep development, staging, and production as similar as possible

Dev/prod parity: 盡可能保持開(kāi)發(fā)中、演示時(shí)和生產(chǎn)時(shí)的相似性

11. Logs: Treat logs as event streams

Logs: 將日志視為事件流

12. Admin processes: Run admin/management tasks as one-off processes

管理流程: 將管理/管理任務(wù)作為一次性流程運(yùn)行

上述內(nèi)容可能有筆者翻譯不到位的地方,讀者可閱讀原文了解:

https://www.vmware.com/topics/glossary/content/components-kubernetes

許多流行的編程語(yǔ)言和應(yīng)用被容器化并存儲(chǔ)在開(kāi)源倉(cāng)庫(kù)中,然而,只使用運(yùn)行應(yīng)用程序所需的庫(kù)和二進(jìn)制文件來(lái)構(gòu)建應(yīng)用程序容器,不需要導(dǎo)入所有可用的東西,這樣可能會(huì)更有效率。創(chuàng)建容器可以采用編程方式,從而可以創(chuàng)建持續(xù)集成和部署(CI/CD)管道以提高效率。容器化應(yīng)用位于開(kāi)發(fā)人員領(lǐng)域之中,開(kāi)發(fā)人員需要掌握如何容器化應(yīng)用。

What are Kubernetes containers?

Containers are standardized, self-contained execution enclosures for applications.

容器是應(yīng)用的標(biāo)準(zhǔn)化、獨(dú)立的執(zhí)行外殼。

通常,容器都包含一個(gè)應(yīng)用程序,以及正確執(zhí)行二進(jìn)制程序所需的依賴(lài)庫(kù)、文件等,例如 Linux 文件系統(tǒng)+應(yīng)用程序組成一個(gè)簡(jiǎn)單的容器。通過(guò)將容器限制為單個(gè)進(jìn)程,問(wèn)題診斷和更新應(yīng)用程序都變得更加容易。與 VM(虛擬機(jī))不同,容器不包含底層操作系統(tǒng),因此容器被認(rèn)為是輕量級(jí)的。Kubernentes 容器屬于開(kāi)發(fā)領(lǐng)域。

What are Kubernetes pods?

Pod 是 Kubernetes 集群中最小的執(zhí)行單位。在 Kubernetes 中,容器不直接在集群節(jié)點(diǎn)上運(yùn)行,而是將一個(gè)或多個(gè)容器封裝在一個(gè) Pod 中。Pod 中的所有應(yīng)用程序共享相同的資源和本地網(wǎng)絡(luò),從而簡(jiǎn)化了 Pod 中應(yīng)用程序之間的通訊。Pod 在每個(gè)節(jié)點(diǎn)(Node)上利用一個(gè)名為 Kubelet 的代理和 Kubernetes API 以及集群中其余部分進(jìn)行通訊。盡管現(xiàn)在開(kāi)發(fā)人員需要 API 訪問(wèn)完成集群管理,但 Pod 的管理是正在向 Devops 領(lǐng)域過(guò)渡。

隨著 Pod 負(fù)載的增加,Kubernetes 可以自動(dòng)復(fù)制 Pod 以達(dá)到預(yù)期的可拓展性(部署更多的 Pod 提供相同的服務(wù),負(fù)載均衡)。因此,設(shè)計(jì)一個(gè)盡可能精簡(jiǎn)的 Pod 是很重要的,降低因復(fù)制擴(kuò)容、減少收縮過(guò)程中帶來(lái)的資源損失。

Pod 似乎被認(rèn)為是 DevOps 的專(zhuān)業(yè)領(lǐng)域。

What is the difference between containers vs. pods?

容器包含執(zhí)行特定流程或函數(shù)所需的代碼(編譯后的二進(jìn)制可執(zhí)行程序)。在 Kubernetes 之前,組織可以直接在物理或虛擬服務(wù)器上運(yùn)行容器,但是缺乏 Kubernetes 集群所提供的可伸縮性和靈活性。

Pod 為容器提供了一種抽象,可以將一個(gè)或多個(gè)應(yīng)用程序包裝到一個(gè) Pod 中,而 Pod 是 Kubernetes 集群中最小的執(zhí)行單元。例如 Pod 可以包含初始化容器,這些容器為其它應(yīng)用提供了準(zhǔn)備環(huán)境,然后在應(yīng)用程序開(kāi)始執(zhí)行前終結(jié)。Pod 是集群中復(fù)制的最小單位,Pod 中的容器作為整體被擴(kuò)展或縮小。

如果應(yīng)用程序需要訪問(wèn)持久性的存儲(chǔ),那么 Pod 也包括持久性存儲(chǔ)和容器。

What are Kubernetes nodes?

Pod 是 Kubernetes 中最小的執(zhí)行單元,而 Node 是 Kubernetes 中最小的計(jì)算硬件單元。節(jié)點(diǎn)可以是物理的本地服務(wù)器,也可以是虛擬機(jī)。

與容器一樣,Node 提供了一個(gè)抽象層。如果操作團(tuán)隊(duì)認(rèn)為一個(gè) Node 只是一個(gè)具有處理能力和內(nèi)存的資源,那么每個(gè) Node 就可以與下一個(gè) Node 互換。多個(gè) Node 一起工作形成了 Kubernetes 集群,它可以根據(jù)需求的變化自動(dòng)分配工作負(fù)載。如果一個(gè)節(jié)點(diǎn)失敗,它將自動(dòng)從集群中移除,由其他節(jié)點(diǎn)接管。每個(gè)節(jié)點(diǎn)都運(yùn)行著一個(gè)名為 kubelet 的代理,該代理與集群控制平面通信。

Node 是 DevOps 和 IT 的專(zhuān)業(yè)領(lǐng)域。

What is the difference between Kubernetes pods vs. nodes?

Pod 是可執(zhí)行代碼的抽象,Node 是計(jì)算機(jī)硬件的抽象,所以這種比較有點(diǎn)像蘋(píng)果和橘子。

Pods 是 Kubernetes 最小的執(zhí)行單元,由一個(gè)或多個(gè)容器組成;

Node 是組成 Kubernetes 集群的物理服務(wù)器或虛擬機(jī)。Node 是可互換的,通常不會(huì)由用戶(hù)或 IT 單獨(dú)處理,除非需要進(jìn)行維護(hù)。

What is a Kubernetes Control Plane?

Kubernetes 控制平面是用于 Kubernetes 集群的控制器,主要包含 apiserver、etcd、scheduler、controller-manager 。

在第一篇時(shí)已經(jīng)提到過(guò),這里不需要深入介紹,故不再贅述。

What is a Kubernetes Cluster?

Kubernetes 集群由 Node 組成,Node 可以是虛擬機(jī)或物理服務(wù)器。當(dāng)你使用 Kubernetes 時(shí),大多時(shí)間是在管理集群。在一個(gè) Node 上必須至少有一個(gè)運(yùn)行的 Kubernetes 控制平面的實(shí)例,以及至少一個(gè)要在其上運(yùn)行的 Pod。通常,當(dāng)工作負(fù)載發(fā)生變化時(shí),集群將有多個(gè)節(jié)點(diǎn)來(lái)處理應(yīng)用程序的變更。

What is the difference between Kubernetes Nodes vs. Clusters?

Node 是集群中最小的元素。集群由 Node 組成。集群是一個(gè)集體,共享 Pod 的總體執(zhí)行,反映在 Google Kubernetes 集群項(xiàng)目的原始名稱(chēng): Borg。

What are Kubernetes volumes?

由于容器最初設(shè)計(jì)為臨時(shí)性和無(wú)狀態(tài)的,因此幾乎不需要解決存儲(chǔ)持久性問(wèn)題。然而,隨著越來(lái)越多需要從持久性存儲(chǔ)讀寫(xiě)的應(yīng)用程序被容器化,對(duì)持久性存儲(chǔ)卷的訪問(wèn)需求也隨之出現(xiàn)。

為了實(shí)現(xiàn)這一點(diǎn),Kubernetes 有持久的卷。獨(dú)特之處在于它們是集群外部的,可以將持久卷掛載到集群,而不需要將它們與特定節(jié)點(diǎn)、容器或 pod 關(guān)聯(lián)。

持久卷可以是本地的,也可以是基于云的,并且是 DevOps 和 IT 的專(zhuān)業(yè)領(lǐng)域。

在 Docker 中,我們可以使用以下命令管理卷

# 創(chuàng)建自定義容器卷
docker volume create {卷名稱(chēng)}
# 查看所有容器卷
docker volume ls
# 查看指定容器卷的詳細(xì)信息
docker volume inspect {卷名稱(chēng)}

我們可以在運(yùn)行容器時(shí),使用 -v 映射主機(jī)目錄,或者映射容器卷到容器中。

docker -itd ... -v /var/tmp:/opt/app ...
docker -itd ... -v {卷名}:/opt/app    ...

How do the components of Kubernetes work together?

簡(jiǎn)單地說(shuō),剛開(kāi)始時(shí),應(yīng)用程序被創(chuàng)建或遷移到容器中,然后運(yùn)行在 Kubernetes 集群創(chuàng)建的 Pod上。

一旦 Pod 被創(chuàng)建,Kubernetes 會(huì)將它們分配給集群中的一個(gè)或多個(gè) Node ,并確保運(yùn)行的副本 Node 的正確數(shù)量。Kubernetes 掃描集群以確保每組 Container 都按照指定的方式運(yùn)行。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • CentOS 出現(xiàn)no space left on device錯(cuò)誤解決辦法

    CentOS 出現(xiàn)no space left on device錯(cuò)誤解決辦法

    這篇文章主要介紹了CentOS 出現(xiàn)no space left on device錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • kubernetes數(shù)據(jù)持久化StorageClass動(dòng)態(tài)供給實(shí)現(xiàn)詳解

    kubernetes數(shù)據(jù)持久化StorageClass動(dòng)態(tài)供給實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了kubernetes數(shù)據(jù)持久化StorageClass動(dòng)態(tài)供給實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Dashboard管理Kubernetes集群與API訪問(wèn)配置

    Dashboard管理Kubernetes集群與API訪問(wèn)配置

    這篇文章介紹了Dashboard管理Kubernetes集群與API訪問(wèn)配置的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • kubernetes實(shí)現(xiàn)分布式限流

    kubernetes實(shí)現(xiàn)分布式限流

    這篇文章介紹了kubernetes實(shí)現(xiàn)分布式限流的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Kubernetes Informer數(shù)據(jù)存儲(chǔ)Index與Pod分配流程解析

    Kubernetes Informer數(shù)據(jù)存儲(chǔ)Index與Pod分配流程解析

    這篇文章主要為大家介紹了Kubernetes Informer數(shù)據(jù)存儲(chǔ)Index與Pod分配流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Kubernetes(K8S)入門(mén)基礎(chǔ)內(nèi)容介紹

    Kubernetes(K8S)入門(mén)基礎(chǔ)內(nèi)容介紹

    這篇文章介紹了Kubernetes(K8S)的入門(mén)基礎(chǔ)內(nèi)容,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • 了解Kubernetes中的Service和Endpoint

    了解Kubernetes中的Service和Endpoint

    這篇文章介紹了Kubernetes中的Service和Endpoint,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • kubectl中g(shù)et命令及使用示例總結(jié)

    kubectl中g(shù)et命令及使用示例總結(jié)

    這篇文章主要為大家介紹了kubectl中g(shù)et命令及使用示例的總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Kubernetes ApiServer三大server權(quán)限與數(shù)據(jù)存儲(chǔ)解析

    Kubernetes ApiServer三大server權(quán)限與數(shù)據(jù)存儲(chǔ)解析

    這篇文章主要為大家介紹了Kubernetes ApiServer三大server權(quán)限與數(shù)據(jù)存儲(chǔ)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Kubernetes集群的組成介紹

    Kubernetes集群的組成介紹

    這篇文章介紹了Kubernetes集群的組成,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03

最新評(píng)論