使用Kubernetes启动ProFtpd:发布安装卷

时间:2019-10-03 07:38:47

标签: docker kubernetes

我想使用带有docker image的minikube运行lalal FTP服务器ProFtpd:vipconsult / proftpd

这是我的部署文件:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    reloader.stakater.com/auto: "true"
  name: ftp-local
  namespace: influx
  labels:
    app: ftp-local
    component: core
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: ftp-local
        component: core
    spec:
      initContainers:
      containers:
      - image: vipconsult/proftpd
        name: ftp-local
        imagePullPolicy: IfNotPresent
        # env:
        resources:
          # keep request = limit to keep this container in guaranteed class
          limits:
            cpu: 100m
            memory: 100Mi
          requests:
            cpu: 100m
            memory: 100Mi
        env:
          - name: USERNAME
            value: test
          - name: PASSWORD
            value: test
        volumeMounts:
        - name: ftp-persistent-storage
          mountPath: /var/lib/ftp

      volumes:
      - name: ftp-persistent-storage
        persistentVolumeClaim:
          claimName: ftp-storage

和卷文件:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: ftp-storage
  namespace: influx
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  claimRef:
    namespace: influx
    name: ftp-storage
  hostPath:
    path: /data/ftp/storage
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: ftp-storage
  namespace: influx
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

部署时,我有:

➜  proFTP git:(master) ✗ kubectl logs -n influx ftp-local-58d5d774d-zdztf                
chown: cannot access '/etc/proftpd/ftpd.passwd': No such file or directory

文档说明:

  

使用户与主机或数据-v /home/docker/proftpd/ftpd.passwd:/etc/proftpd/ftpd.passwd永久共享密码文件

因此,我尝试挂载此文件:

部署(仅显示音量部分)

 volumeMounts:
        - name: ftp-persistent-storage
          mountPath: /var/lib/ftp
        - name: ftp-persistent-users
          mountPath: /etc/proftpd/ftpd.passwd
          subPath: ftpd.passwd          

      volumes:
      - name: ftp-persistent-storage
        persistentVolumeClaim:
          claimName: ftp-storage
      - name: ftp-persistent-users
        persistentVolumeClaim:
          claimName: ftp-storage-users

和数量:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: ftp-storage
  namespace: influx
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  claimRef:
    namespace: influx
    name: ftp-storage
  hostPath:
    path: /data/ftp/storage
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: ftp-storage-user
  namespace: influx
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  claimRef:
    namespace: influx
    name: ftp-storage-user
  hostPath:
    path: /data/ftp/config
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: ftp-storage
  namespace: influx
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: ftp-storage-user
  namespace: influx
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

首先让我为单个文件使用1GB的卷而感到沮丧,然后得到:

➜  proFTP git:(master) ✗ kubectl logs -n influx ftp-local-67cfd77497-7rt5m                
2019-10-03 07:35:23,853 ftp-local-67cfd77497-7rt5m proftpd[1]: mod_auth_file/1.0: unable to use AuthUserFile '/etc/proftpd/ftpd.passwd': Is a directory
2019-10-03 07:35:23,853 ftp-local-67cfd77497-7rt5m proftpd[1]: fatal: AuthUserFile: unable to use /etc/proftpd/ftpd.passwd: Is a directory on line 193 of '/etc/proftpd/proftpd.conf'

这是我的书卷

   git:(devops) ✗ kubectl get pv,pvc -n influx            
NAME                                        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                              STORAGECLASS   REASON   AGE
persistentvolume/ftp-storage                1Gi        RWO            Retain           Bound    influx/ftp-storage                                         22s
persistentvolume/ftp-storage-user           1Gi        RWO            Retain           Bound    influx/ftp-storage-user                                    22s

NAME                                          STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
persistentvolumeclaim/ftp-storage             Bound    ftp-storage              1Gi        RWO            standard       22s
persistentvolumeclaim/ftp-storage-user        Bound    ftp-storage-user         1Gi        RWO            standard       22s

现在描述PV:

➜  git:(devops) ✗ kubectl describe pv -n influx ftp-storage
Name:            ftp-storage
Labels:          <none>
Annotations:     kubectl.kubernetes.io/last-applied-configuration:
                   {"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{},"name":"ftp-storage"},"spec":{"accessModes":["ReadWriteOnce"],"c...
Finalizers:      [kubernetes.io/pv-protection]
StorageClass:    
Status:          Bound
Claim:           influx/ftp-storage
Reclaim Policy:  Retain
Access Modes:    RWO
VolumeMode:      Filesystem
Capacity:        1Gi
Node Affinity:   <none>
Message:         
Source:
    Type:          HostPath (bare host directory volume)
    Path:          /data/ftp/storage
    HostPathType:  
Events:            <none>
➜  git:(devops) ✗ kubectl describe pv -n influx ftp-storage-user 
Name:            ftp-storage-user
Labels:          <none>
Annotations:     kubectl.kubernetes.io/last-applied-configuration:
                   {"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{},"name":"ftp-storage-user"},"spec":{"accessModes":["ReadWriteOnce...
Finalizers:      [kubernetes.io/pv-protection]
StorageClass:    
Status:          Bound
Claim:           influx/ftp-storage-user
Reclaim Policy:  Retain
Access Modes:    RWO
VolumeMode:      Filesystem
Capacity:        1Gi
Node Affinity:   <none>
Message:         
Source:
    Type:          HostPath (bare host directory volume)
    Path:          /data/ftp/config
    HostPathType:  
Events:            <none>

我在做什么错了?

0 个答案:

没有答案