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

2024-01-25

我创建了一个 gcePreviousDisk 并创建了一个集群并挂载它。 这是yaml文件,参考https://github.com/aledv/kubernetes-ftp https://github.com/aledv/kubernetes-ftp :

部署.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"

服务.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端口,但仍然超时。

我错过了什么?


您在一种配置中混合了两种类型的已部署服务:LoadBalancer 和 Ingress。

这是行不通的。

您应该从 Ingress 公开 FTP 服务,而不是从 LoadBalancer 公开。

我部署了您在 GitHub 中提供的示例配置,并且它有效。

毕竟,我已经检查了 Ingress 控制器是否正在侦听正确的 IP 地址和端口:

kubectl get ingres | grep ftp

您还可以检查GCE防火墙配置是否有问题:

gcloud compute firewall-rules list
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 FileZilla 访问 Google Kubernetes Engine FTP 服务器 的相关文章

随机推荐