av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

K8S 無狀態(tài)和有狀態(tài),初學者指南!

K8S 無狀態(tài)和有狀態(tài),初學者指南!

作者:Abhinav Dubey 2022-07-20 07:23:40

云計算 Kubernetes 提供稱為 Pod 的基本資源。Pod 是 Kubernetes 中最小的可部署單元,它實際上是容器的包裝器。它可以有一個或多個容器,共享存儲/網(wǎng)絡,以及如何運行容器的規(guī)范。

公司主營業(yè)務:網(wǎng)站設計、成都網(wǎng)站建設、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出資中免費做網(wǎng)站回饋大家。

Kubernetes 是一個開源編排系統(tǒng),用于自動部署、擴展和管理容器化應用程序。

有關 Kubernetes 的詳細信息,請查看 Kubernetes 指南:https://devtron.ai/blog/developers-guide-to-kubernetes/。

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

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

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

用于 Pod 副本管理的 Controller

1. Deployment

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

Deployment 可幫助您實現(xiàn)以下目標:

  • 推出 ReplicaSet —它將在后臺創(chuàng)建 pod。您可以檢查推出的狀態(tài)以檢查它是否成功。
  • 聲明 pod 的新狀態(tài) —您可以更新部署清單的 PodTemplateSpec。一個新的 ReplicaSet 被創(chuàng)建,部署以受控的速率將 Pod 從舊的 ReplicaSet 移動到新的 ReplicaSet?,F(xiàn)在,每個新的 ReplicaSet 都將具有部署的更新版本。
  • 回滾到較早的部署修訂版——如果由于某些情況,當前狀態(tài)不穩(wěn)定,則可以將部署回滾到較早的部署修訂版。

Deployment 不提供什么?

  • 它不為 pod 提供標識符。
  • 它不為 pods 提供存儲,因此它僅用于無狀態(tài)應用程序(那些不關心正在使用哪個網(wǎng)絡,并且不需要任何永久存儲的應用程序。例如,Apache、Nginx、Tomcat 等 Web 服務器)。

2. StatefulSet

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

與 Deployment 不同,StatefulSet 為每個 pod 維護一個身份。每個 pod 都有一個持久標識符,它在任何調度中都保持不變。

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

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

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

  • Deployment:它用于“無狀態(tài)應用程序”。卷 (PVC) 在 pod 之間共享。由于共享的卷中沒有數(shù)據(jù),因此會導致數(shù)據(jù)泄露問題。
  • StatefulSet:用于“有狀態(tài)的應用程序”。PVC 將在其中存儲信息,這將導致所有 pod 之間的信息共享。

在 Deployment 和 StatefulSet 中使用 PVC

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

  • ReadWriteOnce:將卷掛載為單個節(jié)點的讀寫。
  • ReadOnlyMany:將卷以只讀方式安裝到許多節(jié)點。
  • ReadWriteMany:將卷掛載為許多節(jié)點的讀寫。

Deployment

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

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

因此,在這種情況下,最好使用只讀卷來避免錯誤。

StatefulSet

當為 StatefulSet 指定 PVC 時,必須確保 PVC 具有ReadWriteOnce訪問模式。

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

另一個好處是,將擁有一個定義應用程序和持久卷的文件。它將進一步增強應用程序的可擴展性。

原文:https://medium.com/container-talks/kubernetes-deployment-vs-statefulset-what-you-need-to-know-1a281e1d3c2c


分享題目:K8S 無狀態(tài)和有狀態(tài),初學者指南!
標題來源:http://uogjgqi.cn/article/dhppeog.html
掃二維碼與項目經理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流