k8s部署kkfileview预览服务
·
一、kkfileView介绍
KKFileView 是一款开源免费、跨平台的在线文件预览解决方案,核心解决各类文件无需下载即可在线查看的需求,适配多场景系统集成。
关键特点
- 支持格式丰富,覆盖办公文档(Word、Excel、PPT 等)、图片、PDF、音视频、压缩包等主流格式。
- 部署简单,可独立部署为服务,也能快速集成到 Java、Vue 等各类现有系统,依赖项少。
- 开源可扩展,基于 MIT 协议,源码可自由获取,支持根据业务需求二次开发定制。
- 跨平台兼容,支持 Windows、Linux、MacOS 等多种操作系统,无需额外适配。
二、挂载配置文件configmap
kkfileview挂载配置的方式有两种,一种是直接使用现有的application.properties文件,另一种是编写kkfileview-conf.yaml文件。这里介绍直接挂载application.properties文件。
通过kubectl create configmap命令,将本地application.properties文件直接导入为 ConfigMap:
kubectl create configmap kkfileview-config --from-file=application.properties=./application.properties -n zhongchuan141
三、创建deployment.yaml和service.yaml
deployment.yaml文件,用于创建kkfileview的控制器和对应的pod容器,在文件中指明了控制器deployment的资源大小、标签、创建的容器镜像、启动命令等,后续对容器水平扩容时可对deployment.yaml文件进行修改。
service.yaml文件,用于负责负载均衡和服务发现,暴露kkfileview的端口号和访问模式,其中,端口号可分pod容器对service暴露的端口,service对k8s集群暴露的端口,以及访问模式。
apiVersion: apps/v1
kind: Deployment
metadata:
name: zhongchuan141-kkfileview
namespace: zhongchuan141
spec:
replicas: 1
selector:
matchLabels:
app: zhongchuan141-kkfileview
template:
metadata:
labels:
app: zhongchuan141-kkfileview
spec:
containers:
- name: zhongchuan141-kkfileview
image: dockerhub.kubekey.local/tiangang/kkfileview:4.1.0
ports:
- containerPort: 8012
resources:
limits:
cpu: "1"
memory: "2Gi"
requests:
cpu: "500m"
memory: "1Gi"
volumeMounts:
- name: kkfileview-config
mountPath: /opt/kkfileview/config/application.properties
subPath: application.properties
volumes:
- name: kkfileview-config
configMap:
name: kkfileview-config
---
apiVersion: v1
kind: Service
metadata:
name: zhongchuan141-kkfileview
namespace: zhongchuan141
spec:
selector:
app: zhongchuan141-kkfileview
ports:
- port: 8012
targetPort: 8012
nodePort: 31012
type: NodePort
四、部署验证
访问节点IP:<对外暴露的端口号>/filepreview/index 。效果图如下:

更多推荐

所有评论(0)