开始学习Kubernetes之前稍稍晚了一些 – 11. 配置和存储 第二部分
故事
-
- 一步落后开始学习Kubernetes – 01.环境选择篇 –
-
- 一步落后开始学习Kubernetes – 02.Docker For Mac –
-
- 一步落后开始学习Kubernetes – 03.Raspberry Pi –
-
- 一步落后开始学习Kubernetes – 04.kubectl –
-
- 一步落后开始学习Kubernetes – 05.workloads之一 –
-
- 一步落后开始学习Kubernetes – 06.workloads之二 –
-
- 一步落后开始学习Kubernetes – 07.workloads之三 –
-
- 一步落后开始学习Kubernetes – 08.discovery&LB之一 –
-
- 一步落后开始学习Kubernetes – 09.discovery&LB之二 –
-
- 一步落后开始学习Kubernetes – 10.config&storage之一 –
-
- 一步落后开始学习Kubernetes – 11.config&storage之二 –
-
- 一步落后开始学习Kubernetes – 12.资源限制 –
-
- 一步落后开始学习Kubernetes – 13.健康检查和容器生命周期 –
-
- 一步落后开始学习Kubernetes – 14.调度 –
-
- 一步落后开始学习Kubernetes – 15.安全性 –
- 一步落后开始学习Kubernetes – 16.组件 –
上一次
在开始学习Kubernetes时稍微晚了一些 – 在第10节“配置与存储1”中,我们学习了配置。
这次我们来学习存储。
卷与持久卷
Volume指的是预先确定的可用容量。在这里,无法删除或新建容量。
PresistentVolume指的是外部的持久性容量。在这里,可以删除或新建容量。
像数据库这样有状态的应用会使用PresistentVolume。
临时的应用会使用Volume吧?
※ PersitentVolumeClaim是一个用于分配PersistentVolume资源的资源。
卷宗的种类
以下是在书籍《Kubernetes完全指南》中介绍的Volume类型。
-
- emptyDir
一時的なディスク領域を利用
pod削除されると、emptyDirも削除
マウント先を指定できない
hostPath
emptyDirのマウント先を指定できる版
downwardAPI
Podの情報をファイルとして配置したファイルをマウント
projected
secret/configMap/downwardAPI/serviceAccountTokenを1つにまとめたディレクトを作成し、マウント
※ 卷的类型
由于无法保留Volume,删除Pod时需要小心。
如果要将日志保存为文件,则暂时使用Volume是个好办法。
但是,由于需要定期将日志移动到外部存储,所以会有一些麻烦。
(实际上,最好将日志流式传输到外部服务)
作为一个产品,没有太多的用途…?
持久化卷的类型
我们将使用外部持久卷。例如,以下是一些类型。
-
- GCE Persistent Disk
-
- AWS Elastic Block Store
-
- NFS
-
- iSCSI
-
- Ceph
-
- OpenStack Cinder
- GlusterFS
在学习Kubernetes时稍有滞后-第06节工作负载(二),我们使用了NFS。
PersistentVolume的创建方法因外部永久性卷的不同而不同,但似乎有一些共同之处,
我将在这里进行介绍。
-
- ラベル
PersistentVolumeをラベリングすることで、指定しやすくする
容量
Volumeで要求する容量。最も小さい容量からアサインされる。
アクセスモード
ReadWriteOnce
単一ノードからRead/Writeが可能
ReadOnlyMany
複数ノードからReadが可能
ReadWriteMany
複数ノードからRead/Writeが可能
Reclaim Policy
Volumeを使い終わったあと、破棄するか再利用するかのポリシー
Delete
PersistentVolumeの実体を削除
Retain
PersistentVolumeの実体を残さず保持
再度マウントされない
Recycle
PersistentVolumeのデータを削除し、再利用可能にする
再度マウントされる
(廃止予定で、DynamicProvisioningを利用すること)
StorageClass
各プロバイザーが提供するストレージの型
基本的に自動作成されている
持久卷索取
实际上,要使用PresistentVolume,需要在PresistentVolumeClaim中提出请求。
所需项目如下:
-
- ラベルセレクタ
ラベルでフィルタリング
容量
求めている容量
アクセスモード
PresistentVolumeのアクセスモードを参照
StorageClass
PresistentVolumeのStorageClassを参照
如果满足要求的卷持有策略为保留策略,在删除声明时将变为“已释放”。
最后
这次,感觉就像是直接把书籍写下来一样。
实际上,我试过的是稍微晚了一些学习 Kubernetes 的阶段 – 第六节工作负载(二)。
嗯,我觉得最好不要陷得太深。
下次是这个。