StorageClass 描述存储的类型,集群管理员可以为集群定义不同的存储类别。腾讯云 TKE 服务默认提供块存储类型的 StorageClass,通过 StorageClass 配合 PersistentVolumeClaim 可以动态创建需要的存储资源。

找到你的集群,选择存储中的storaeclass,点击新建

根据实际需求,设置 StorageClass 参数。关键参数信息如下:
单击【创建StorageClass】,完成创建。

至此,storageclass创建完成!
PersistentVolumeClaim(PVC):集群内的存储请求。例如,PV 是 Pod 使用节点资源,PVC 则声明使用 PV 资源。当 PV 资源不足时,PVC 也可以动态创建 PV。

点击存储,选择PVC,再点击新建

填写pvc名称,我这里写的是nwx-test-pvc,选择命名空间为test,读写权限为单机读写,SC选择我们之前创建的nwx-sc,大小为10G。

PVC已经创建完成
我们把新建的pvc挂载到之前的nginx服务中,我们可以通过修改yaml和在控制台修改配置进行挂载

找到我们之前创建的deployment,然后点击pod配置修改

数据卷选择我们之前创建的PVC,然后在挂载点钟选择挂载的PVC和挂载路径,我们这里挂载到/tmp
在控制台修改yaml

命令修改yaml
[root@VM_0_13_centos ~]# kubectl get deployment -n test
[root@VM_0_13_centos ~]# kubectl edit deployment new-nginx -n test

完整的yaml文件
apiVersion: apps/v1beta2
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "2"
creationTimestamp: "2020-06-02T09:36:11Z"
generation: 2
labels:
k8s-app: new-nginx
qcloud-app: new-nginx
name: new-nginx
namespace: test
resourceVersion: "8614784222"
selfLink: /apis/apps/v1beta2/namespaces/test/deployments/new-nginx
uid: 7e77455e-a4b4-11ea-9c35-e28957d7d0b3
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: new-nginx
qcloud-app: new-nginx
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
k8s-app: new-nginx
qcloud-app: new-nginx
spec:
containers:
- env:
- name: RUNTIME
valueFrom:
configMapKeyRef:
key: RUNTIME
name: nginx-env
optional: false
- name: TZ
valueFrom:
configMapKeyRef:
key: TZ
name: nginx-env
optional: false
image: ccr.ccs.tencentyun.com/tmptest/nwx-nginx
imagePullPolicy: IfNotPresent
name: new-my-nginx
resources:
limits:
cpu: 500m
memory: 1Gi
requests:
cpu: 250m
memory: 256Mi
securityContext:
privileged: false
procMount: Default
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /tmp
name: data-volume
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: test-secret
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: data-volume
persistentVolumeClaim:
claimName: nwx-pvc1
status:
availableReplicas: 1
conditions:
- lastTransitionTime: "2020-06-03T02:41:32Z"
lastUpdateTime: "2020-06-03T02:41:32Z"
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: "True"
type: Available
- lastTransitionTime: "2020-06-02T09:36:11Z"
lastUpdateTime: "2020-06-03T02:51:59Z"
message: ReplicaSet "new-nginx-86774775f6" has successfully progressed.
reason: NewReplicaSetAvailable
status: "True"
type: Progressing
observedGeneration: 2
readyReplicas: 1
replicas: 1
updatedReplicas: 1
PersistentVolume(PV):集群内的存储资源,例如节点是集群的资源。PV 独立于 Pod 的生命周期,根据不同的 StorageClass 类型创建不同类型的 PV。

当我们在PVC中引用对应的SC,会动态的创建PV。


静态PV支持三种类型,CFS和COS需要去扩展组件中安装组件

安装COS和CFS组件

静态创建CBS类型pv,选择关联的SC即可

先要创建好CFS类型的SC


在集群的同一个私有网络下创建NFS


静态创建pv,并关联之前的sc和新建的NFS

创建PVC,关联创建的nfs类型pv,创建成功,即可引用

创建成功,可以在yaml中或者控制台修改deployment配置进行挂载
首先在云服务器中创建你所需要的CBS卷

创建pv,选择你创建的云盘

创建PVC,选择你的容量,注意,如果你之前创建了多个PV,PVC关联的规则选择容量大于或等于当前PVC设置的容量大小的静态创建的PersistentVolume

创建成功,可以在yaml中或者控制台修改deployment配置进行挂载
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。