Kubernetesのデータ保存メカニズムの詳細な説明

1. K8sのデータボリュームタイプ

コンテナとポッドの寿命が短いことは誰もが知っています。つまり、それらのライフサイクルは短く、頻繁に破壊され、作成されます。コンテナが破棄されると、コンテナの内部ファイル システムに保存されているデータがクリアされます。

コンテナーに保存されたデータを永続化するには、Kubernetes ボリュームを使用できます。ボリュームのライフサイクルはコンテナーから独立しています。ポッド内のコンテナーは破棄および再構築できますが、ボリュームは保持されます。

実際、Kubernetes ボリュームは Docker ボリュームに似たディレクトリであり、ボリュームがポッドにマウントされると、ポッド内のすべてのコンテナがボリュームにアクセスできます。Kubernetes Volume は、emptyDir、hostPath、GCE Persistent Disk、NFS、Ceph など、複数のタイプのデータ ストレージもサポートしています。

Volume はさまざまなストレージの抽象化を提供します。コンテナが Volume を使用してデータの読み書きを行う場合、データがローカル ノードのファイル システムに保存されているか、クラウド ディスクに保存されているかを気にする必要はありません。それにとって、すべての種類のボリュームは単なるディレクトリです。

2. EmptyDir型ストレージ

EmptyDir は最も基本的なタイプの Volume であり、emptyDir Volume はコンテナに対しては永続的ですが、Pod に対しては永続的ではないことに注意してください。ポッドがノードから削除されると、ボリュームの内容も削除されます。ただし、コンテナーのみが破壊され、ポッドがまだそこにある場合、ボリュームは影響を受けません。

つまり、emptyDir Volume のライフサイクルは Pod のライフサイクルと一致します。

[root@master data]# more pods.yml 
apiVersion: v1
kind: Pod
metadata:
  name: share-pods
spec:
 containers:
  - n

おすすめ

転載: blog.csdn.net/qq_35029061/article/details/132201035
おすすめ