如何通过FileZilla访问Google Kubernetes Engine FTP服务器

时间:2018-05-11 09:57:32

标签: server ftp kubernetes yaml

我创建了一个gcePresistentDisk并创建了一个集群并安装它。 这是yaml文件,由https://github.com/aledv/kubernetes-ftp引用:

Deployment.yaml

apiVersion: apps/v1beta1 # for versions before 1.6.0 use extensions/v1beta1
kind: Deployment
metadata:
  name: my-ftp
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: my-ftp
    spec:
      volumes:
      - name: task-pv-storage
        gcePersistentDisk:
          pdName: my-disk
          fsType: ext4
      containers:
      - name: my-ftp-container
        image: fauria/vsftpd
        ports:
        - containerPort: 21
          protocol: TCP
          name: "ftp-server"
        volumeMounts:
        - mountPath: "/home/vsftpd"
          name: task-pv-storage
        env:
        - name: FTP_USER
          value: "user"
        - name: FTP_PASS
          value: "password"

Service.yaml

apiVersion: v1
kind: Service
metadata:
  name: my-ftp-service
  labels:
    app: my-ftp
spec:
  type: LoadBalancer
  ports:
    - port: 21
      nodePort: 30080
  selector:
    app: my-ftp

Ingress.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ftp-ftp-ingress
spec:
  backend:
    serviceName: ftp-ftp-service
    servicePort: 21

我创造了所有这些。 我试过了

$kubectl get service rushbit-ftp-service --watch

获取ip并使用FileZilla使用用户名和密码连接ip。 我也试过30080端口,但仍然超时。

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

对于遇到此问题的人,您可以尝试以下操作:

在deployment.yaml中,指定被动模式的最小和最大端口范围。

 env: 
  - name: PASV_ADDRESS
    value: "127.0.0.1"
  - name: PASV_MIN_PORT
    value: "31100"
  - name: PASV_MAX_PORT
    value: "31101"

然后,在service.yaml中,从deployment.yaml中指定端口。

ports:
 - name: port1
   port: 21
   nodePort: 30080
 - name: port2
   port: 31100
   nodePort: 31100
 - name: port3
   port: 31101
   nodePort: 31101

通过这种方式,您的FTP客户端应该可以在客户端模式下工作。

答案 1 :(得分:0)

我认为您需要创建一个秘密。

echo -n'admin'| base64 YWRtaW4 =

secret.yaml

apiVersion:v1

种类:秘密

元数据:

名称:名称通过

类型:不透明

数据:

密码:YWRtaW4 =

,然后在模块规格中需要添加

规格:

  containers:

  - image: mysql:5.7

    name: mysql

    env:

    - name: MYSQL_ROOT_PASSWORD

      valueFrom:

        secretKeyRef:

          name: name-pass

          key: password