运行 File Brower 文件管理器
File Browser(opens in a new tab) 是一款流行的文件管理器,可以挂载其它应用申请的 PVC 来进行文件传输和预览等。
下面例子是演示如何使用 File Browser 挂载上一节示例的 PVC 然后提供一个 Web 文件管理器服务。
前提
- 本地已经安装命令行工具 kubectl(opens in a new tab)
- 获取了 kubeconfig
存储 PVC
使用 运行带 Pytorch 的 JupyterLab 开发环境 的申请 PVC
部署 Deployment
部署一个 2 核 4Gi 的 File Browser 容器。
其中 password
使用 filebrowser hash <password>
命令行工具生成。
deployment.yaml
apiVersion: apps/v1kind: Deploymentmetadata: name: filebrowserspec: strategy: type: Recreate replicas: 1 selector: matchLabels: name: filebrowser template: metadata: labels: name: filebrowser spec: containers: - name: filebrowser image: filebrowser/filebrowser:v2.30.0 args: - --address=0.0.0.0 - --root=/data - --password=$2a$10$vxvHgyw34uwxlm0Xbbhlz.ISLM4CJDP1NhSje.bIM4hxIwQQst7pu ports: - name: http containerPort: 80 protocol: TCP resources: limits: cpu: 2 memory: 4Gi securityContext: runAsUser: 0 volumeMounts: - name: data mountPath: /data volumes: - name: data persistentVolumeClaim: claimName: jupyter affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: node.kubernetes.io/cpu operator: In values: - epyc-7452
服务 Service
service.yaml
apiVersion: v1kind: Servicemetadata: name: filebrowserspec: type: ClusterIP selector: name: filebrowser ports: - port: 80 name: http targetPort: http protocol: TCP
入口 Ingress
ingress.yaml
apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: filebrowser annotations: cert-manager.io/cluster-issuer: zerossl-prod nginx.ingress.kubernetes.io/proxy-body-size: "0"spec: ingressClassName: nginx tls: - hosts: - filebrowser.poc1-be9e3e9b62c8.ing.zw1.paratera.com secretName: filebrowser-tls rules: - host: filebrowser.poc1-be9e3e9b62c8.ing.zw1.paratera.com http: paths: - path: / pathType: Prefix backend: service: name: filebrowser port: number: 80
运行示例
-
部署
kubectl apply -f deployment.yamlkubectl apply -f service.yamlkubectl apply -f ingress.yaml
-
查看已创建 Pod
kubectl get pods
等待 Pod 进入 Running 状态.
如果 Pod 一直不能进入 Running,可以通过下面的命令查看 Pod 的详细信息
kubectl describe pod [pod-name]
-
查看 Ingress
kubectl get ing
如果 Ingress 准备好,一般在输出 ADDRESS 字段会分配一个 IP 地址
-
访问服务
使用从 Ingress 获取 Hosts 地址,然后在浏览器中访问。其中用户名为
admin
, 密码为 Deployment 设置的原始值。🎉 恭喜!您已在 Kubernetes 上部署一个 File Browser 文件管理器!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2024-01-03 debian使用apt安装时出现“更换介质,插入驱动器"/media/chrom/"再按回车键”的提示,无法从网络安装
2018-01-03 springboot整合mybatis将sql打印到日志