在Kubernetes中配置GlusterFS作为PersistentVolume,需遵循以下步骤:
-
前提条件
- 已部署GlusterFS集群并创建Volume
- 所有K8s节点安装glusterfs-client
-
创建Endpoints/Service
apiVersion: v1 kind: Endpoints metadata: name: glusterfs-cluster subsets: - addresses: - ip: 192.168.1.100 ports: - port: 49152 name: glusterfs --- apiVersion: v1 kind: Service metadata: name: glusterfs-cluster spec: ports: - port: 49152
-
定义PersistentVolume
apiVersion: v1 kind: PersistentVolume metadata: name: gluster-pv spec: capacity: storage: 10Gi accessModes: - ReadWriteMany glusterfs: endpoints: glusterfs-cluster path: my_volume readOnly: false persistentVolumeReclaimPolicy: Retain
-
创建PersistentVolumeClaim
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gluster-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi
-
Pod挂载使用
apiVersion: v1 kind: Pod metadata: name: app-pod spec: containers: - name: app image: nginx volumeMounts: - mountPath: /data name: gluster-volume volumes: - name: gluster-volume persistentVolumeClaim: claimName: gluster-pvc
注意事项:
- 确保网络互通,防火墙开放所需端口
- 生产环境建议使用StorageClass动态供给
- 多副本场景建议启用heketi进行集群管理
- 访问模式需与GlusterFS Volume配置匹配