Kubrenetes使用Aliyun NAS持久卷(PV)和存储类(storageClass)

Kubrenetes使用Aliyun NAS持久卷(PV)和存储类(storageClass)

Kubrenetes使用Aliyun NAS持久卷(PV)和存储类(storageClass)

下载外部存储的布署文件

Kubrenetes使用Aliyun NAS持久卷(PV)和存储类(storageClass)

外部存储支持

此项目支持多种外部存储,包括nfs glusterfs ceph 等主流存储,阿里云NAS是NFS, 所以需要布署nfs-client类型的外部存储。

nfs-client目录如下:

  • class.yaml 存储类定义文件
  • deployment-arm.yaml arm架构下的布署文件,我们不用理会
  • deployment.yaml 布署清单
  • rbac rbac权限文件
  • test-claim.yaml pvc测试文件
  • test-pod.yaml 存储卷测试 pod清单

deployment.yaml 详情

apiVersion: v1

kind: ServiceAccount

metadata:

name: nfs-client-provisioner

---

kind: Deployment

apiVersion: extensions/v1beta1

metadata:

name: nfs-client-provisioner

spec:

replicas: 1

strategy:

type: Recreate

template:

metadata:

labels:

app: nfs-client-provisioner

spec:

serviceAccountName: nfs-client-provisioner

containers:

- name: nfs-client-provisioner

image: quay.io/external_storage/nfs-client-provisioner:latest

volumeMounts:

- name: nfs-client-root

mountPath: /persistentvolumes

env:

- name: PROVISIONER_NAME

value: daqinxm.com/nas

- name: NFS_SERVER

value: abcdefge-tq76.cn-hangzhou.extreme.nas.aliyuncs.com

- name: NFS_PATH

value: /share

volumes:

- name: nfs-client-root

nfs:

server:abcdefg0-tq76.cn-hangzhou.extreme.nas.aliyuncs.com

path: /share

修改其中PROVISIONER_NAME 供给者名、 server等值 ,改为NAS挂载点,

Kubrenetes使用Aliyun NAS持久卷(PV)和存储类(storageClass)

class.yaml详情

修改供给者名,注意,要必须 与deployment.yaml中设定的供给者名 相同

apiVersion: storage.k8s.io/v1

kind: StorageClass

metadata:

name: nas

provisioner: abcdefg.com/nas

PROVISIONER_NAME'

parameters:

archiveOnDelete: "false"

Kubrenetes使用Aliyun NAS持久卷(PV)和存储类(storageClass)

布署

kubectl apply -f rbac.yaml

kubectl apply -f deployment.yaml

kubectl apply -f class.yaml

布署成功后就可以使用存储类来申请持久卷

例:

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

name: postgres-data

namespace: sonarqube

spec:

accessModes:

- ReadWriteOnce

storageClassName: nas

resources:

requests:

storage: 5Gi


分享到:


相關文章: