nfs类型的pv

来源:11-4 共享存储 --- PV、PVC和StorageClass(上).mp4

慕后端9506282

2020-07-08

我使用nfs来创建的pv。pod中的容器是mysql,我打算将mysql的数据文件持久化,共享到nfs上。

然后现在发现了摸不着头脑的问题,我volumeMount容器内的数据文件时,mysql对外的tcp服务也会不能使用,然后数据文件也并没有全部共享到nfs服务端,只是共享了一部分。

然后我nfs服务端的共享目录的权限也会莫名改变,所属用户改为polkitd,所属组改为input。

我volumeMount其他目录就会挂载成功,而且服务也不会死。

deployment.yaml

apiVersion: extensions/v1beta1
metadata:
  name: mysql
  namespace: laravel
  labels:
    name: mysql
  annotations:
    reloader.stakater.com/auto: "true"
spec:
  replicas: 1
  selector:
    matchLabels:
      name: mysql
  template:
    metadata:
      labels:
        name: mysql
    spec:
      containers:
        - name: mysql
          image: harbor.maigengduo.com/laravel/mysql5.7:202007071543
          ports:
            - name: mysql-port
              containerPort: 3306
              protocol: TCP
          imagePullPolicy: Always
          env:
          - name: MYSQL_ROOT_PASSWORD
            value: root
          volumeMounts:
            - name: mysql-pvc
              mountPath: "/var/lib/mysql"
      restartPolicy: Always
      volumes:
        - name: mysql-pvc
          persistentVolumeClaim:
            claimName: mysql-pvc

pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-nfs
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  nfs:
    path: /mysql-data
    server: 39.105.232.173


pvc.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mysql-pvc
  namespace: laravel
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

nfs服务是没问题,我在别的客户端已经挂载成功了,pv和pvx也已经绑定状态。。我能想到的可能是文件权限的问题,但是docker内是root用户。。

这个问题很迷,上面就是发生的现象,我不知道具体是什么原因造成的,也说不太清楚,老师最好有时间可以远程看下吗?谢谢

写回答

2回答

刘果国

2020-07-09

你好,通过你的描述看很可能是文件用户权限的问题,google了一个资料你参考一下:https://blog.csdn.net/qq_23953717/article/details/106668048

0
0

慕后端9506282

提问者

2020-07-08

而且pod的状态是running状态。。。

0
0

Kubernetes生产落地全程实践

一个互联网公司落地Kubernetes全过程点点滴滴

2293 学习 · 2217 问题

查看课程