惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
IT之家
IT之家
Engineering at Meta
Engineering at Meta
博客园 - 【当耐特】
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
腾讯CDC
大猫的无限游戏
大猫的无限游戏
U
Unit 42
爱范儿
爱范儿
美团技术团队
T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
D
Docker
Google DeepMind News
Google DeepMind News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗

i4T

OpenClaw在Macmini下网络HTTPS_Proxy代理配置 | i4T 容器化部署OpenClaw授权View权限对Kubernetes集群进行巡检故障排查 | i4T 初试VictoriaLogs集群采集Kubernetes Pod日志 | i4T Kubernetes 部署Elasticsearch为WordPress提供文章搜索 | i4T Kubernetes使用Prometheus监控爱快路由器iKuai_Exporter | i4T RustDesk API集成Authentik ODIC单点登录 | i4T 使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接 | i4T Authentik 集成群晖Synology DSM 实现单点登录 | i4T Authentik 集成Kubernetes Grafana 实现SSO单点登录 | i4T Authentik 集成接入VMware vCenter 8.0.3实现ldP身份提供商登录 | i4T Kubernetes v1.29.9部署Authentik 统一认证平台并接入Harbor | i4T 二进制Kafka_2.13-3.9.0集群开启并配置ACL用户授权 | i4T R730 ESXI 8.0平台PCI直通2080Ti 实现Windows远程游戏以及AI模型 | i4T Dell R730虚拟化ESXI8.0.3平台使用丽台Tesla V100配置vGPU | i4T Kubernetes使用HostAliases手动为容器Pod添加hosts解析 | i4T Nginx 使用resolver变量实现动态DNS解析配置 | i4T Kubernetes LoadBalancer负载均衡外部访问方案MetalLB | i4T Kubernetes 1.29.0 部署配置Ingress-nginx-controller | i4T Ubuntu环境下Docker Compose配置Harbor开机自启 | i4T Dell PowerEdge R730更新iDRAC8版本 | i4T Kubernetes部署RedisShake实现Redis哨兵异地灾备 | i4T Kubernetes部署开源Excalidraw实现在线绘图 | i4T Kubernetes部署DNSmgr聚合公网DNS多平台域名解析系统及SSL自续签 | i4T Kubernetes Grafana数据从Sqlite3迁移到MySQL | i4T 宝塔内网Nginx获取公网宝塔Nginx用户真实IP | i4T 基于Kubernetes Categraf SNMP插件采集Dell R730服务器硬件并使用Grafana监控 | i4T Kubernetes v1.29.9安装Grafana 12并开启匿名访问 | i4T Containerd 配置免费镜像加速源 | i4T Docker集成Containerd实现容器管理 | i4T
Kubernetes 部署RustDesk API实现专业版功能及管理Web UI | i4T
https://i4t.com/users/auuAwtzuk · 2025-11-13 · via i4T

RustDesk优点

以下优点大部分是RustDesk专业版才有的~

PC端API

  • 个人版API
  • 登录
  • 地址簿
  • 群组
  • 授权登录
    支持github, google 和 OIDC 登录,
    支持web后台授权登录
    支持LDAP(AD和OpenLDAP已测试), 如果API Server配置了LDAP
  • i18n

Web Admin

  • 用户管理
  • 设备管理
  • 地址簿管理
  • 标签管理
  • 群组管理
  • Oauth 管理
  • 配置LDAP, 配置文件或者环境变量
  • 登录日志
  • 链接日志
  • 文件传输日志
  • 快速使用web client
  • i18n
  • 通过 web client 分享给游客
  • server控制(一些官方的简单的指令 WIKI)

Web Client

  • 自动获取API server
  • 自动获取ID服务器和KEY
  • 自动获取地址簿
  • 游客通过临时分享链接直接远程到设备

CLI

  • 重置管理员密码

项目地址https://github.com/lejianwen/rustdesk-api

官方建议如下

搭配lejianwen/rustdesk-server使用更佳。
lejianwen/rustdesk-serverfork自RustDesk Server官方仓库

  • 解决了使用API链接超时问题
  • 可以强制登录后才能发起链接
  • 支持客户端websocket

安装RustDesk集成RustDesk API

之前我尝试过只安装RustDesk并且单独安装RustDesk API,发现不太行,客户会出现网络问题,如果个人使用还想要控制台,建议直接使用我的方式进行安装

rustdesk-api 给出了解决办法,我这里不折腾了,想折腾可参考下放文档进行解决
https://github.com/lejianwen/rustdesk-api/issues/92

创建PVC存储卷,默认我放在tools命名空间下,需要修改可自行替换

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: rustdesk-data-pvc
  namespace: tools
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi
  storageClassName: dsm7-nfs-client

创建PVC,创建完毕请及时检查PVC是否为绑定状态

root@k8s-master-01:~/rustdesk-api# kubectl apply -f pvc.yaml
persistentvolumeclaim/rustdesk-data-pvc created
root@k8s-master-01:~/rustdesk-api# kubectl get pvc -n tools|grep ru
rustdesk-data-pvc                     Bound    pvc-2dfcdc29-526b-416b-a692-e10ff51b23a2   50Gi       RWO            dsm7-nfs-client   <unset>                 10s

查看k8s节点信息

root@k8s-master-01:~/rustdesk-api# kubectl get node -o wide
NAME            STATUS   ROLES           AGE    VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE       KERNEL-VERSION      CONTAINER-RUNTIME
k8s-master-01   Ready    control-plane   134d   v1.29.9   192.168.21.10   <none>        Ubuntu 24.10   6.11.0-29-generic   containerd://1.7.27
k8s-master-02   Ready    control-plane   134d   v1.29.9   192.168.21.11   <none>        Ubuntu 24.10   6.11.0-29-generic   containerd://1.7.27
k8s-master-03   Ready    control-plane   134d   v1.29.9   192.168.21.12   <none>        Ubuntu 24.10   6.11.0-29-generic   containerd://1.7.27
k8s-node-01     Ready    <none>          134d   v1.29.9   192.168.21.13   <none>        Ubuntu 24.10   6.11.0-29-generic   containerd://1.7.27
k8s-node-02     Ready    <none>          134d   v1.29.9   192.168.21.14   <none>        Ubuntu 24.10   6.11.0-29-generic   containerd://1.7.27
k8s-node-03     Ready    <none>          134d   v1.29.9   192.168.21.15   <none>        Ubuntu 24.10   6.11.0-29-generic   containerd://1.7.27

创建Deployment,以下是需要配置的端口映射,因为容器NodePort只能使用30000以上端口,所以需要端口调整,下面所有变量均为NodePort 端口号

  • 21114:30114/TCP #API服务器

  • 21115:30115/TCP

  • 21116:30116/TCP #ID服务器地址

  • 21116:30116/UDP #ID服务器地址

  • 21117:31117/TCP #中继服务器地址

  • 21118:30118/UDP

  • 21119:30119/TCP #websocket端口

  • 连接IP我使用k8s-node-01的IP地址,NodePorter写任意集群IP都可以

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

apiVersion: apps/v1
kind: Deployment
metadata:
  name: rustdesk-server
  namespace: tools
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rustdesk-server
  template:
    metadata:
      labels:
        app: rustdesk-server
    spec:
      containers:
      - name: rustdesk-server
        image: lejianwen/rustdesk-server-s6:latest
        ports:
        - containerPort: 21114
          name: api-port
        - containerPort: 21115
          name: cli-port
        - containerPort: 21116
          name: id-tcp
        - containerPort: 21116
          protocol: UDP
          name: id-udp
        - containerPort: 21117
          name: relay-tcp
        - containerPort: 21118
          name: relay-udp
        - containerPort: 21119
          name: web-port
        env:
        - name: RELAY
          value: "192.168.21.13:21117" # 这里需要填写宿主机的IP地址
        - name: ENCRYPTED_ONLY
          value: "1"
        - name: MUST_LOGIN
          value: "Y"
        - name: TZ
          value: "Asia/Shanghai"
        - name: RUSTDESK_API_RUSTDESK_ID_SERVER
          value: "192.168.21.13:30116" # 这里需要填写宿主机的IP地址
        - name: RUSTDESK_API_RUSTDESK_RELAY_SERVER
          value: "192.168.21.13:30117" # 这里需要填写宿主机的IP地址
        - name: RUSTDESK_API_RUSTDESK_API_SERVER
          value: "http://192.168.21.13:30114" # 这里需要填写宿主机的IP地址
        - name: RUSTDESK_API_KEY_FILE
          value: "/data/id_ed25519.pub"
        - name: RUSTDESK_API_JWT_KEY
          value: "0mtxRhCoAwaN" # 请确保这是一个安全的密钥
        volumeMounts:
        - name: rustdesk-data
          mountPath: /data
        - name: rustdesk-data
          mountPath: /app/data
          subPath: app_data
      volumes:
      - name: rustdesk-data
        persistentVolumeClaim:
          claimName: rustdesk-data-pvc

创建后检查Pod状态

root@k8s-master-01:~/rustdesk-api# kubectl get pod -n tools -o wide|grep ru
rustdesk-server-598f4cc79-s2bjz           1/1     Running   0                49s     192.168.21.13   k8s-node-01     <none>           <none>

验证Pod以及SVC状态

root@k8s-master-01:~/rustdesk-api# kubectl get svc,pod -n tools|grep ru
service/rustdesk-server-nodeport                                     NodePort    10.96.1.154   <none>        21114:30114/TCP,21115:30115/TCP,21116:30116/TCP,21116:30116/UDP,21117:31117/TCP,21118:30118/UDP,21119:30119/TCP   8s
pod/rustdesk-server-598f4cc79-s2bjz          1/1     Running   0                63s

端口映射后如下

21114:30114/TCP   #API服务器
21115:30115/TCP
21116:30116/TCP  #ID服务器地址
21116:30116/UDP  #ID服务器地址
21117:31117/TCP  #中继服务器地址
21118:30118/UDP
21119:30119/TCP  #websocket端口

如果没有公网IP,也可以使用FRP进行代理映射

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

访问控制台操作

首先重置管理员密码

root@k8s-master-01:~/rustdesk-api# kubectl exec -it -n tools  rustdesk-server-8469c45d4f-hblwd sh

/app # ./apimain reset-admin-pwd admin123   #将admin用户密码重置为admin123
[2025-11-13 15:04:04] [INFO] reset password success!  (/home/runner/work/rustdesk-api/rustdesk-api/cmd/apimain.go:68 main.init.func3)
/app #

访问Node IP:30114端口

  • 默认用户名admin
  • 默认密码刚刚已经重置,密码为admin123

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

客户端需要使用Key,下面进入到容器中查看Key

root@k8s-master-01:~# kubectl exec -it -n tools rustdesk-server-8469c45d4f-hblwd sh

/app # cat /data/id_ed25519.pub
133hbXCrrhny123fslhJCvQCIeTDfw21311hjM=/app #

我这里提供软件包下载,可使用下放地址直接下载,或者官方下载也可以
https://esxi-dsm.frps.cn/s/8f98c0efe5d149fa81

客户端连接测试

首先客户端需要配置
Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

配置完毕后需要确认RustDesk为就绪状态

这里配置文件已经优化,不登录时会不允许连接ID,所以ID泄露也不影响

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

首先我们不登录时,使用ID进行连接
Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

提示连接拒绝
Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

接下来登录服务

登录需要两边都登录,否则依旧无法连接

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

登录完毕后在API Web界面就可以看到连接信息

将需要远程的地址添加到地址簿中

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

添加完毕后刷新地址簿
Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

再次连接尝试

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

验证完毕
Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

使用WEB界面连接

登录到WEB Admin地址中

使用网页需要将30119映射出来

选择Web Client

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

输入密码

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

Kubernetes 部署RustDesk API实现专业版功能及管理Web UI

个人中心

购物车

优惠劵

今日签到

有新私信 私信列表

搜索

幸运之星正在降临...

点击领取今天的签到奖励!

恭喜!您今天获得了{{mission.data.mission.credit}}积分

  • 限制以下商品使用: 限制以下商品分类使用: 不限制使用:

    所有商品和商品类型均可使用