Kubernetes部署开源Excalidraw实现在线绘图
- 系统运维
- 13小时前
- 16热度
- 0评论
在现代团队协作和个人创作中,视觉化工具变得越来越重要。Excalidraw 是一款开源的在线白板应用,以其手绘风格和易用性赢得了众多用户的青睐。
什么是 Excalidraw?
Excalidraw 是一个基于浏览器的白板应用,专注于提供一种简单、直观的方式来创建草图和图表。它的设计理念是让用户在没有复杂工具的干扰下,快速表达创意。
主要特点
- 手绘风格
Excalidraw 提供了独特的手绘风格,这种风格使得图表和草图看起来更加自然和非正式,非常适合头脑风暴和初步设计。 - 实时协作
用户可以通过共享链接,邀请团队成员实时协作。这种功能极大地提升了团队远程工作的效率。 - 易于使用
界面简洁明了,只需简单的拖拽和点击即可创建复杂的图表。即使是初学者也能快速上手。
跨平台支持
作为一个基于浏览器的工具,Excalidraw 可以在任何设备上运行,无需安装额外软件。 - 开源社区
Excalidraw 拥有一个活跃的开源社区,用户可以参与开发,提出建议,甚至贡献代码。这确保了工具的持续改进和更新。
Excalidraw官网:https://github.com/excalidraw/excalidraw
直接在线使用:https://excalidraw.com/
支持导入的模型:https://libraries.excalidraw.com
基于Kubernetes部署
不需要额外持久化
安装namespace为tools
apiVersion: apps/v1
kind: Deployment
metadata:
name: excalidraw
namespace: tools
labels:
app: excalidraw
spec:
replicas: 1
selector:
matchLabels:
app: excalidraw
template:
metadata:
labels:
app: excalidraw
spec:
containers:
- name: excalidraw
image: dockerproxy.frps.fun/excalidraw/excalidraw:latest
ports:
- containerPort: 80
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
# 可选:健康检查
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: excalidraw-service
namespace: tools
spec:
selector:
app: excalidraw
ports:
- protocol: TCP
port: 80
targetPort: 80
# 根据你的需求选择服务类型
# type: ClusterIP # 默认类型,仅在集群内部可访问
# type: NodePort # 通过节点IP访问
type: NodePort
查看Pod和SVC状态
➜ ~ kubectl get pod,svc -n tools|grep excalidraw
pod/excalidraw-9587f9469-b6srm 1/1 Running 0 20m
service/excalidraw-service NodePort 10.96.0.245 <none> 80:31911/TCP 29m
访问测试