成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

K8S 無狀態和有狀態,初學者指南!

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

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

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

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

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

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

用于 Pod 副本管理的 Controller

1. Deployment

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

Deployment 可幫助您實現以下目標:

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

Deployment 不提供什么?

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

2. StatefulSet

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

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

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

每個節點都有自己的Persistent Volume。如果刪除或縮小 pod,與它們關聯的卷將不會被刪除,因此數據會保留。

Deployment 和 StatefulSet 中存儲卷的區別

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

在 Deployment 和 StatefulSet 中使用 PVC

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

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

Deployment

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

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

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

StatefulSet

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

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

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

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

責任編輯:趙寧寧 來源: 進擊云原生
相關推薦

2022-04-24 15:21:01

MarkdownHTML

2021-05-10 08:50:32

網絡管理網絡網絡性能

2023-07-28 07:31:52

JavaScriptasyncawait

2022-03-28 09:52:42

JavaScript語言

2023-07-03 15:05:07

預測分析大數據

2022-07-22 13:14:57

TypeScript指南

2010-06-13 11:13:38

UML初學者指南

2024-04-30 11:14:19

KubernetesReplicaSet數量

2022-10-10 15:28:45

負載均衡

2023-02-10 08:37:28

2012-03-14 10:56:23

web app

2022-09-05 15:36:39

Linux日志記錄syslogd

2024-05-30 11:53:51

2023-10-16 07:04:03

2018-10-28 16:14:55

Reactreact.js前端

2013-04-08 16:35:52

Adobe Edge

2011-03-02 10:57:27

vsFTPd

2013-03-06 10:40:58

Adobe Edge HTML5

2010-08-26 15:47:09

vsftpd安裝

2014-04-01 10:20:00

開源Rails
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 婷婷久久网 | 麻豆国产一区二区三区四区 | 精品真实国产乱文在线 | 婷婷中文字幕 | 日韩免费网站 | 欧美激情视频一区二区三区在线播放 | 久久久tv| 国产在线视频一区二区董小宛性色 | 成人性视频免费网站 | 人人澡人人射 | 日本精品视频在线观看 | 日韩中文字幕在线免费 | 国产极品车模吞精高潮呻吟 | 久久精品亚洲精品国产欧美 | 日韩在线精品 | 成人毛片视频免费 | 精品日韩一区二区 | 美女视频一区二区三区 | 国产区一区 | 免费一级黄色录像 | 羞羞视频在线免费 | 久久精品日产第一区二区三区 | 久久日本| a中文在线视频 | 国产成人精品一区二区三区四区 | 成人h视频在线观看 | 亚洲欧美激情精品一区二区 | 亚洲第一av网站 | 久久国产视频播放 | 范冰冰一级做a爰片久久毛片 | 一级毛片免费 | 国产在线一区二区 | 欧美视频xxx | 一区二区三区在线观看免费视频 | 精品欧美乱码久久久久久1区2区 | 日日日视频 | 91九色porny首页最多播放 | 欧美精品在线播放 | 日韩免费高清视频 | 日本不卡视频在线播放 | 日韩精品在线视频 |