国产成人综合一区精品,久久精品爱国产免费久久,中文精品视频一区二区在线观看

廣州總校區(qū)切換校區(qū)
復(fù)制成功
微信號(hào):togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請(qǐng)前往微信添加好友
打開(kāi)微信
圖片

行業(yè)新聞

K8S無(wú)狀態(tài)和有狀態(tài)

發(fā)布時(shí)間: 2022-07-20

Kubernetes 提供稱(chēng)為 Pod 的基本資源。Pod 是 Kubernetes 中最小的可部署單元,它實(shí)際上是容器的包裝器。它可以有一個(gè)或多個(gè)容器,共享存儲(chǔ)/網(wǎng)絡(luò),以及如何運(yùn)行容器的規(guī)范。




Kubernetes 是一個(gè)開(kāi)源編排系統(tǒng),用于自動(dòng)部署、擴(kuò)展和管理容器化應(yīng)用程序。

Kubernetes 提供稱(chēng)為 Pod 的基本資源。Pod 是 Kubernetes 中最小的可部署單元,它實(shí)際上是容器的包裝器。它可以有一個(gè)或多個(gè)容器,共享存儲(chǔ)/網(wǎng)絡(luò),以及如何運(yùn)行容器的規(guī)范。

Pod 被認(rèn)為是短暫的實(shí)體。如果 pod 被調(diào)度到的節(jié)點(diǎn)死亡,那么該 pod 將在超時(shí)后被刪除重新調(diào)度。

一個(gè) pod 代表 Kubernetes 中的一個(gè)單元。對(duì)于水平擴(kuò)展(例如運(yùn)行多個(gè)實(shí)例),應(yīng)用程序需要多個(gè) pod。復(fù)制 pod 以實(shí)現(xiàn)水平縮放。復(fù)制的 pod 是通過(guò)Controllers創(chuàng)建和管理的。

用于 Pod 副本管理的 Controller

1. Deployment

Deployment 是部署應(yīng)用程序最簡(jiǎn)單和最常用的資源。它管理 ReplicaSet 的部署。您可以定義 Deployment 以更新、創(chuàng)建新的 ReplicaSet 或刪除現(xiàn)有部署。Deployment 的主要作用是為 pod 和 ReplicaSet 提供聲明式更新。

Deployment 可幫助您實(shí)現(xiàn)以下目標(biāo):

推出 ReplicaSet —它將在后臺(tái)創(chuàng)建 pod。您可以檢查推出的狀態(tài)以檢查它是否成功。

聲明 pod 的新?tīng)顟B(tài) —您可以更新部署清單的 PodTemplateSpec。一個(gè)新的 ReplicaSet 被創(chuàng)建,部署以受控的速率將 Pod 從舊的 ReplicaSet 移動(dòng)到新的 ReplicaSet。現(xiàn)在,每個(gè)新的 ReplicaSet 都將具有部署的更新版本。

回滾到較早的部署修訂版——如果由于某些情況,當(dāng)前狀態(tài)不穩(wěn)定,則可以將部署回滾到較早的部署修訂版。

Deployment 不提供什么?

它不為 pod 提供標(biāo)識(shí)符。

它不為 pods 提供存儲(chǔ),因此它僅用于無(wú)狀態(tài)應(yīng)用程序(那些不關(guān)心正在使用哪個(gè)網(wǎng)絡(luò),并且不需要任何永久存儲(chǔ)的應(yīng)用程序。例如,Apache、Nginx、Tomcat 等 Web 服務(wù)器)。

2. StatefulSet

它是一種 Kubernetes 資源,用于管理有狀態(tài)的應(yīng)用程序。它管理一組 Pod 的部署和擴(kuò)展,并提供 Pod 的順序和唯一性的保證。

與 Deployment 不同,StatefulSet 為每個(gè) pod 維護(hù)一個(gè)身份。每個(gè) pod 都有一個(gè)持久標(biāo)識(shí)符,它在任何調(diào)度中都保持不變。

例如,如果您創(chuàng)建一個(gè)名稱(chēng)為flag的 StatefulSet,它將創(chuàng)建一個(gè)名稱(chēng)為 flag-0 的 pod,并且對(duì)于 StatefulSet 的多個(gè)副本,pod 名稱(chēng)將遞增,如 flag-0、flag-1、flag- 2 等。

每個(gè)節(jié)點(diǎn)都有自己的Persistent Volume。如果刪除或縮小 pod,與它們關(guān)聯(lián)的卷將不會(huì)被刪除,因此數(shù)據(jù)會(huì)保留。

Deployment 和 StatefulSet 中存儲(chǔ)卷的區(qū)別

Deployment:它用于“無(wú)狀態(tài)應(yīng)用程序”。卷 (PVC) 在 pod 之間共享。由于共享的卷中沒(méi)有數(shù)據(jù),因此會(huì)導(dǎo)致數(shù)據(jù)泄露問(wèn)題。

StatefulSet:用于“有狀態(tài)的應(yīng)用程序”。PVC 將在其中存儲(chǔ)信息,這將導(dǎo)致所有 pod 之間的信息共享。

在 Deployment 和 StatefulSet 中使用 PVC

在訪問(wèn)模式的幫助下,PVC 可以跨 Deployment 和 StatefulSet 使用。有 3 種訪問(wèn)模式,即:

ReadWriteOnce:將卷掛載為單個(gè)節(jié)點(diǎn)的讀寫(xiě)。

ReadOnlyMany:將卷以只讀方式安裝到許多節(jié)點(diǎn)。

ReadWriteMany:將卷掛載為許多節(jié)點(diǎn)的讀寫(xiě)。

Deployment

當(dāng)為 Deployment 指定 PVC 時(shí),它會(huì)在所有副本 pod 之間共享。在這種情況下,PVC 必須具有 ReadWriteMany 或 ReadOnlyMany 訪問(wèn)模式(ReadWriteMany 很少見(jiàn),只有少數(shù)存儲(chǔ)提供商支持)。

如果使用 ReadWriteOnce 訪問(wèn)模式創(chuàng)建 PVC,然后嘗試創(chuàng)建運(yùn)行一個(gè)有狀態(tài)應(yīng)用程序,可以正常工作。如果橫向擴(kuò)容,當(dāng)一個(gè)新的 pod 啟動(dòng)時(shí),會(huì)收到一個(gè)錯(cuò)誤,指出該卷已在使用中。

因此,在這種情況下,最好使用只讀卷來(lái)避免錯(cuò)誤。

StatefulSet

當(dāng)為 StatefulSet 指定 PVC 時(shí),必須確保 PVC 具有ReadWriteOnce訪問(wèn)模式。

使用 StatefulSet,定義一個(gè) VolumeClaimTemplate,會(huì)自動(dòng)為每個(gè)副本創(chuàng)建一個(gè) PVC。

另一個(gè)好處是,將擁有一個(gè)定義應(yīng)用程序和持久卷的文件。它將進(jìn)一步增強(qiáng)應(yīng)用程序的可擴(kuò)展性。

上一篇: CCIE實(shí)驗(yàn)考試:改期、取消及延期

下一篇: 什么是并行計(jì)算

<
在線咨詢(xún) ×

您好,請(qǐng)問(wèn)有什么可以幫您?我們將竭誠(chéng)提供最優(yōu)質(zhì)服務(wù)!

  • <strong id="6ngzx"><bdo id="6ngzx"><strong id="6ngzx"></strong></bdo></strong>

        <strong id="6ngzx"><bdo id="6ngzx"><strong id="6ngzx"></strong></bdo></strong>

        <menuitem id="6ngzx"><b id="6ngzx"></b></menuitem>
        <center id="6ngzx"><center id="6ngzx"></center></center><strong id="6ngzx"><bdo id="6ngzx"><strong id="6ngzx"></strong></bdo></strong>

        主站蜘蛛池模板: 武川县| 莱西市| 云梦县| 墨江| 红桥区| 榕江县| 南投县| 忻州市| 高密市| 宁阳县| 龙泉市| 拜城县| 北碚区| 灵璧县| 玛多县| 新兴县| 长子县| 曲阜市| 望奎县| 仁布县| 苗栗县| 时尚| 宾阳县| 嘉善县| 岑溪市| 莱西市| 宜昌市| 桐城市| 盐山县| 海原县| 美姑县| 那坡县| 双牌县| 绥滨县| 乐至县| 华池县| 同德县| 抚顺县| 梅河口市| 平顶山市| 尚志市|