亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Kubernetes集群的組成介紹

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

Kubernetes集群的組成

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

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

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

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

What are containerized applications?

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

定義:

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

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

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

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

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

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

2. Dependencies: Explicitly declare and isolate dependencies

依賴項(xiàng): 顯式聲明和隔離依賴項(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 都沒有區(qū)分的產(chǎn)品是真的垃圾)

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

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

7. Port binding: Export services via port binding

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

8. Concurrency: Scale out via the process model

并發(fā)性: 通過進(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: 盡可能保持開發(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īng)用被容器化并存儲(chǔ)在開源倉庫中,然而,只使用運(yùn)行應(yīng)用程序所需的庫和二進(jìn)制文件來構(gòu)建應(yīng)用程序容器,不需要導(dǎo)入所有可用的東西,這樣可能會(huì)更有效率。創(chuàng)建容器可以采用編程方式,從而可以創(chuàng)建持續(xù)集成和部署(CI/CD)管道以提高效率。容器化應(yīng)用位于開發(fā)人員領(lǐng)域之中,開發(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)制程序所需的依賴庫、文件等,例如 Linux 文件系統(tǒng)+應(yīng)用程序組成一個(gè)簡單的容器。通過將容器限制為單個(gè)進(jìn)程,問題診斷和更新應(yīng)用程序都變得更加容易。與 VM(虛擬機(jī))不同,容器不包含底層操作系統(tǒng),因此容器被認(rèn)為是輕量級(jí)的。Kubernentes 容器屬于開發(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ò),從而簡化了 Pod 中應(yīng)用程序之間的通訊。Pod 在每個(gè)節(jié)點(diǎn)(Node)上利用一個(gè)名為 Kubelet 的代理和 Kubernetes API 以及集群中其余部分進(jìn)行通訊。盡管現(xiàn)在開發(fā)人員需要 API 訪問完成集群管理,但 Pod 的管理是正在向 Devops 領(lǐng)域過渡。

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

Pod 似乎被認(rèn)為是 DevOps 的專業(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)用程序開始執(zhí)行前終結(jié)。Pod 是集群中復(fù)制的最小單位,Pod 中的容器作為整體被擴(kuò)展或縮小。

如果應(yīng)用程序需要訪問持久性的存儲(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 的專業(yè)領(lǐng)域。

What is the difference between Kubernetes pods vs. nodes?

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

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

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

What is a Kubernetes Control Plane?

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

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

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)來處理應(yīng)用程序的變更。

What is the difference between Kubernetes Nodes vs. Clusters?

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

What are Kubernetes volumes?

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

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

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

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

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

我們可以在運(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?

簡單地說,剛開始時(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)行。

以上就是本文的全部內(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訪問配置

    Dashboard管理Kubernetes集群與API訪問配置

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

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

    這篇文章介紹了kubernetes實(shí)現(xiàn)分布式限流的方法,文中通過示例代碼介紹的非常詳細(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)入門基礎(chǔ)內(nèi)容介紹

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

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

    了解Kubernetes中的Service和Endpoint

    這篇文章介紹了Kubernetes中的Service和Endpoint,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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à)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03

最新評(píng)論