我创建了一个gcePresistentDisk并创建了一个集群并安装它。 这是yaml文件,由https://github.com/aledv/kubernetes-ftp引用:
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"
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
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端口,但仍然超时。
我错过了什么吗?
答案 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