Kubernetes 存储卷
# 存储
# 使用 OSS 静态存储卷
httpshelp.aliyun.comdocument_detail86543.html
# 使用说明
配置OSS静态存储卷的说明如下:
- OSS为共享存储,可以同时为多个Pod提供共享存储服务。
- bucket:目前只支持挂载存储空间Bucket,不支持挂载Bucket下面的子目录或文件。
- url:OSS的Endpoint,挂载OSS的接入域名,挂载节点和存储空间的地域相同时,可使用内网地址。
- akId:您的AccessKey ID值。
- akSecret:您的AccessKey Secret值。
- otherOpts:挂载OSS时支持定制化参数输入,格式为:
-o -o
。 - 您在使用OSS数据卷时,不要使用subpath的配置。
- 使用数据卷时,推荐每个应用使用独立的PV名字。
# 注意事项
- OSS数据卷是使用OSSFS文件进行挂载的FUSE文件系统,适合于读文件场景。例如:读配置文件、视频、图片文件等场景。
- OSSFS不擅长于写文件的应用场景。如果您的业务是将文件写入存储的场景,推荐使用NAS存储卷服务。
- 内核态文件系统相较于用户态模拟的文件系统,在稳定性、性能上更具有优势,生产环境中推荐您使用NAS文件存储,而不推荐OSS文件系统
- OSSFS可以通过调整配置参数的方式,优化其在缓存、权限等方面的表现,请参见常见问题、ossfsREADME-CN.md、FAQ。
# 直接使用 volumes 挂载的方式
创建并复制以下内容到oss-deploy.yaml中。
apiVersion extensionsv1beta1
kind Deployment
metadata
name nginx-oss-deploy
spec
replicas 1
template
metadata
labels
app nginx
spec
containers
- name nginx-flexvolume-oss
image nginx
volumeMounts
- name oss1
mountPath data
livenessProbe
exec
command
- sh
- -c
- cd data
initialDelaySeconds 30
periodSeconds 30
volumes
- name oss1
flexVolume
driver alicloudoss
options
bucket docker
url oss-cn-hangzhou.aliyuncs.com
akId
akSecret
otherOpts -o max_stat_cache_size=0 -o allow_other
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
执行以下命令,创建Pod。
kubectl apply -f oss-deploy.yaml
1
# 使用创建 PV 和 PVC 的方式
您可以使用YAML文件或者通过容器服务控制台界面创建PV。
- 创建 PV 使用oss-pv.yaml文件创建PV。
apiVersion v1
kind PersistentVolume
metadata
name pv-oss
spec
capacity
storage 5Gi
accessModes
- ReadWriteMany
storageClassName oss
flexVolume
driver alicloudoss
options
bucket docker
url oss-cn-hangzhou.aliyuncs.com
akId
akSecret
otherOpts -o max_stat_cache_size=0 -o allow_other
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 创建 PVC 使用oss-pvc.yaml文件创建PVC。
kind PersistentVolumeClaim
apiVersion v1
metadata
name pvc-oss
spec
storageClassName oss
accessModes
- ReadWriteMany
resources
requests
storage 5Gi
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
- 创建 Pod 使用oss-deploy.yaml创建Pod。
apiVersion appsv1
kind Deployment
metadata
name oss-static
labels
app nginx
spec
replicas 1
selector
matchLabels
app nginx
template
metadata
labels
app nginx
spec
containers
- name nginx
image nginx
ports
- containerPort 80
volumeMounts
- name pvc-oss
mountPath data
livenessProbe
exec
command
- sh
- -c
- cd data
initialDelaySeconds 30
periodSeconds 30
volumes
- name pvc-oss
persistentVolumeClaim
claimName pvc-oss
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
httpshelp.aliyun.comdocument_detail130911.html
# 使用 NAS 动态存储卷
# 创建动态 NAS 卷
- 配置 StorageClass。 配置示例如下:
apiVersion storage.k8s.iov1
kind StorageClass
metadata
name alicloud-nas
mountOptions
- nolock,tcp,noresvport
- vers=3
parameters
server 23a9649583-iaq37.cn-shenzhen.nas.aliyuncs.comnasroot1
driver flexvolume
provisioner alicloudnas
reclaimPolicy Delete
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
说明
- mountOptions:表示生成的PV options配置,挂载NAS卷时使用这个options挂载。
- server:表示生成目标PV所使用NAS挂载点列表。格式为 nfsurl1path1,nfsurl2path2;当配置多个server时,通过此StorageClass创建的PV会轮询使用上述server作为配置参数;极速NAS配置路径需要以share开头。
- driver:支持Flexvolume、NFS两种驱动,默认为NFS。
- reclaimPolicy:PV的回收策略,建议配置为Retain。
- 当配置为Delete时,删除PV后NAS文件系统中的对应目录会默认修改名字(例如,path-name会被修改为archived-path-name)。
- 如果需要删除文件系统中对应的存储目录,可在StorageClass中配置
archiveOnDelete
为false。
- 使用动态卷
apiVersion v1
kind Service
metadata
name nginx
labels
app nginx
spec
ports
- port 80
name web
clusterIP None
selector
app nginx
---
apiVersion appsv1
kind StatefulSet
metadata
name web
spec
serviceName nginx
replicas 5
volumeClaimTemplates
- metadata
name html
spec
accessModes
- ReadWriteOnce
storageClassName alicloud-nas
resources
requests
storage 2Gi
template
metadata
labels
app nginx
spec
containers
- name nginx
image nginxalpine
volumeMounts
- mountPath data
name html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
网页编辑 (opens new window)
最近提交: 2023/03/22, 11:52:35