我创建了一个 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(使用前将#替换为@)