FileBrowser
通过给存储挂载一个filebrowser应用,可以获得一个可视化的存储操作界面,方便文件的上传、下载、在线编辑等。
通过yaml文件启动filebrowser
假设你需要配置filebrowser的pvc名为:mypvc
,yaml文件示例如下:
注意:
- 我们采用公网ingress的方式,暴露filebrowser的访问,具体参考基于Ingress暴露服务
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: filebrowser
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: filebrowser
template:
metadata:
labels:
app: filebrowser
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: cloud.ebtech.com/cpu
operator: In
values:
- amd-epyc-milan
containers:
- name: filebrowser
image: registry-cn-huabei1-internal.ebcloud.com/docker.io/filebrowser/filebrowser:v2
ports:
- containerPort: 8080
volumeMounts:
- mountPath: /srv
name: filebrowser-storage
args:
- -r
- /srv
- --noauth # 这个表示不进行登录鉴权。注释掉这行,可以打开鉴权,默认username,passwd均为:admin
- -p
- "8080"
resources:
limits:
cpu: 4
memory: 8Gi
volumes:
- name: filebrowser-storage
persistentVolumeClaim:
claimName: mypvc # 这里指定存储pvc的名字
---
apiVersion: v1
kind: Service
metadata:
name: filebrowser
namespace: default
spec:
type: LoadBalancer
ports:
- port: 9080
targetPort: 8080
protocol: TCP
selector:
app: filebrowser
# 通过公网ingress,对外暴露filebrowser服务
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: filebrowser-ingress
namespace: default
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: myfb-tenant-99999999-helan-ingress-cn-huabei1.eks.ebcloud.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: filebrowser
port:
number: 9080 # 指向 Service 的 9080 端口
通过浏览器访问filebrowser
访问ingress中定义的链接,链接形如:
https://myfb-tenant-99999999-helan-ingress-cn-huabei1.eks.ebcloud.com/
效果如下所示:
此时可以进一步进行文件操作。
注意:
- 若希望在生产环境中正式使用,建议注释掉以上yaml中的命令行参数:
--noauth
,开启filebrowser的鉴权,并修改默认密码(默认用户名、密码均为:admin
)。- 更多使用技巧,查看filebrowser官网