日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
三種Kubernetes資源類型的使用指南

第一次開始Kubernetes之旅,您需要學習的第一件事就是如何部署應用程序。這里,我們可以使用多種資源類型,包括pods、deployments和services。

10多年建站經驗, 網站設計、成都網站建設客戶的見證與正確選擇。創(chuàng)新互聯(lián)提供完善的營銷型網頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

本文,我們將首先解釋每種資源類型的作用,然后討論何時以及為什么在應用程序中使用它們,以下是內容要點前瞻:

快速復習一下Kubernetes

pods是什么?

什么是services?

deployments是什么?

接下來要學什么

快速復習一下Kubernetes

Kubernetes是一個開源的容器管理平臺,用于部署和管理容器化的工作負載。在生產環(huán)境中運行容器時,您將擁有幾十個、甚至數(shù)千個容器。

這些容器需要部署、管理和連接,這很難手動完成。這就是Kubernetes的作用。可以把它想象成一個容器調度程序。

Kubernetes被設計成與Docker一起工作,Docker是一個容器化平臺,它將應用程序和所有依賴項打包成一個容器。

舉例:Docker用于隔離、打包和以容器的形式運輸應用程序。Kubernetes是用于部署和擴展應用程序的容器調度器。

關于Kubernetes,我們可以:

  • 在不停機的情況下部署服務和推出新版本
  • 在私有或公共云上運行
  • 在最合適的服務器上放置和縮放服務的副本
  • 驗證服務的運行狀況
  • 有狀態(tài)應用程序的掛載卷

現(xiàn)在我們已經復習了Kubernetes,讓我們跳到它的一些資源并討論何時使用它們。從pods開始。

Pods是什么?

pod是Kubernetes中應用程序的最低或更原子的單元。需要注意的是,在Docker世界中,pod并不等于容器。一個pod可以由多個容器組成。如果您有純Docker背景,這可能很難理解。

可以將其看作Kubernetes抽象,它表示一組容器和它們的共享資源。例如,Pod可以包括一個帶有Node.js應用程序的容器和另一個向web服務器提供數(shù)據的容器。

pod是表示集群中正在運行的進程的一種方法。

如果一個pod可以有多個容器,它是如何工作的?我們需要注意一些限制。pod有以下內容:

  • 單一IP地址
  • 共享主機
  • 共享的IPC空間
  • 共享網絡端口范圍
  • 共享卷

pod中的容器通過本地主機相互通信,而pod-to-pod的通信是通過服務完成的。從圖中可以看到,pod中的容器共享一個IP地址。

pod是部署應用程序的好方法,但是pod資源類型有一些限制。pod是單個實體,如果它失敗了,它就不能重新啟動自己。這并不適合大多數(shù)用例,因為我們希望應用程序具有高可用性。

但是Kubernetes已經解決了這個問題,我們將在文章中進一步研究如何處理高可用性。

在Kubernetes中,pod總是在節(jié)點上運行??梢詫⒐?jié)點看作由主服務器管理的工作機器。一個節(jié)點可以有多個pods,主節(jié)點會自動在一個節(jié)點上安排這些pods。

Pods原理

Pods被設計成一個運行多個進程的內聚單元。這些進程被包裝在容器中。組成pod的所有容器都運行在同一臺機器上,不能跨多個節(jié)點拆分。

Pod中的所有進程(或容器)共享相同的資源(例如存儲),它們可以通過本地主機彼此通信。卷就像具有可共享數(shù)據的目錄。所有容器都可以訪問它們并共享相同的數(shù)據。

Replication controller

我們剛剛得知pods是會死的。如果他們死了,那就是他們的結局。但是,如果您希望運行同一版本的三個pod以獲得高可用性,該怎么辦呢?那就是replication controller的作用了。

replication controller的主要職責是防止失敗。它位于pod資源類型之上并對其進行控制。

這個功能處理了pods的這個問題。但是,需要注意的是,replication controller并不處理與pods相關的所有內容,即生命周期。

假設我們想在不停機的情況下升級pod。replication controller將不負責此操作。

現(xiàn)在我們已經了解了pods,讓我們進入下一個Kubernetes資源: services。

什么是Services?

如果我們想要連接到pods,就需要創(chuàng)建一個Service。在Kubernetes中,Service是一組pods上的網絡抽象??梢詫⑵淇醋髟诩荷线\行的一組pods。Kubernetes服務通常用于支持微服務體系結構。

Kubernetes為一組pods提供了它們自己的IP地址和單個DNS名稱,并可以在它們之間實現(xiàn)負載平衡。它們提供了標準化集群的特性,例如:

  • 負載平衡
  • 零宕機的部署
  • 應用程序之間的服務發(fā)現(xiàn)

它允許在出現(xiàn)故障時,對流量進行負載平衡。一項服務允許Kubernetes為pods設置單一的DNS記錄。如前所述,每個pod都有一個單獨的IP地址。對于服務資源類型,你通常會像下面的例子一樣定義一個選擇器:

除此之外,kube-proxy還在集群中創(chuàng)建一個虛擬IP來訪問服務。然后,這個虛擬IP路由到pod IP。如果pod ip更改或部署了新的pods,service資源類型將跟蹤更改,并代表您更新內部路由。

deployments是什么?

現(xiàn)在是拼圖的最后一部分:deployments。deployments資源類型位于一個副本集(ReplicaSet)之上,可以對其進行操作。換句話說,deployments為pods副本集提供更新。

為此,您需要在deployments中描述所需的狀態(tài),然后部署控制器將以可控的速度更改為所需的狀態(tài)。這允許您運行無狀態(tài)應用程序。如果需要進行升級,則需要替換副本集。此操作將導致應用程序停機。

Kubernetes的主要優(yōu)點之一是高可用性。deployment使我們能夠在不停機的情況下進行升級。與在復制集中所做的一樣,指定要運行的pods數(shù)量。

一旦觸發(fā)更新,deployment將對pods執(zhí)行滾動升級,同時確保每個pod的升級成功,然后再轉移到下一個。

讓我們看一個deployment示例,看看它們是如何創(chuàng)建的。

后一個命令的輸出如下所示。

那么,如果我們推出了一個新版本的應用程序,但出現(xiàn)了錯誤,會發(fā)生什么情況呢?deployment也有解決方法,我們可以很容易地回滾部署。

這里有一個警告:如果您正在使用pvc(持久卷聲明)并在聲明中寫入了一些內容。這是不會逆轉的。

Deployment控制ReplicaSet,而ReplicaSet控制Pods。因此,在使用Deployment資源類型時,您仍然需要一個Service來訪問它。

接下來要學什么

恭喜!現(xiàn)在您已經了解了pods、services和deployments的基礎知識。您已經熟悉了它們的用途、優(yōu)缺點。要掌握Kubernetes并理解它為您的應用程序提供的所有功能,還需要學習很多東西......


本文題目:三種Kubernetes資源類型的使用指南
網站地址:http://www.dlmjj.cn/article/dpscoeg.html