FileBrowser

通过给存储挂载一个filebrowser应用,可以获得一个可视化的存储操作界面,方便文件的上传、下载、在线编辑等。

通过yaml文件启动filebrowser

假设你需要配置filebrowser的pvc名为:mypvc,yaml文件示例如下:

注意:

---
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/

效果如下所示:

fb效果

此时可以进一步进行文件操作。

注意:

  1. 若希望在生产环境中正式使用,建议注释掉以上yaml中的命令行参数:--noauth,开启filebrowser的鉴权,并修改默认密码(默认用户名、密码均为:admin)。
  2. 更多使用技巧,查看filebrowser官网open in new window