• 关于博主
  • 网站监控
  • 认证平台
  • 文档
  • Docker免费镜像代理加速
  • 文章归档
文章
文章用户商铺文档圈子
Image
Image
Image

{{userData.name}}已认证

文章

评论

关注

粉丝

¥{{role.user_data.money}}
{{role.user_data.credit}}
您已完成今天任务的
  • 私信列表所有往来私信

  • 财富管理余额、积分管理

  • 账户注销自助注销账户

    NEW
  • 任务中心每日任务

    NEW
  • 成为会员购买付费会员

  • 认证服务申请认证

    NEW
  • 小黑屋关进小黑屋的人

    NEW
  • 我的订单查看我的订单

  • 我的设置编辑个人资料

  • 进入后台管理

Image
×
  • 首页
  • 交流
  • 动态
  • shop
  • k8s文档
  • Ops工具
    • 群晖NAS
    • 虚拟化
    • Linux
    • Nginx
    • Tomcat
    • PHP
    • Shell
    • SaltStack
    • Jumpserver
    • Shadowsocks
    • WordPress
  • 云原生
    • APISIX
    • Ceph
    • istio
    • Kubernetes
    • Openstack
    • Docker
    • Jenkins
    • ELKStack
  • 监控
    • Prometheus
    • Zabbix
    • Nagios
    • Grafana
  • 数据库
    • Clickhouse
    • MySQL
    • Oracle
    • Redis
Image

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

  • Dell R730 Kubernetes RustDesk
  • 25年11月13日
  • 编辑
Image
新闻联播老司机运维小弟
释放双眼,带上耳机,听听看~!

文章目录

Toggle
  • RustDesk API完整包安装
  • 安装RustDesk集成RustDesk API
  • 访问控制台操作
  • 客户端连接测试
  • 使用WEB界面连接

RustDesk API完整包安装

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

相关文章:

  1. 使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接
  2. Authentik 集成Kubernetes Grafana 实现SSO单点登录
  3. Kubenetes 1.13.5 集群二进制安装
  4. Kubernetes RBAC角色权限控制

给TA打赏
共{{data.count}}人
人已打赏
  • Image
Dell r730KubernetesRustDesk
Dell R730KubernetesRustDesk

使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

2025-11-13 10:45:06

AuthentikDell R730RustDesk

RustDesk API集成Authentik ODIC单点登录

2025-12-15 15:54:42

猜你喜欢

使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

25年11月13日0221

Authentik 集成Kubernetes Grafana 实现SSO单点登录

25年10月17日0214

Kubenetes 1.13.5 集群二进制安装

19年6月13日131.8k

Kubernetes RBAC角色权限控制

19年11月29日74.2k
1 条回复 A文章作者 M管理员

您必须登录或注册以后才能发表评论

Image
Image
  1. Image
    RustDesk API集成Authentik ODIC单点登录 | i4T Guest
    25年12月15日

    […] https://i4t.com/25751.html […]

欢迎投稿

                       Image

关于作者

Image

新闻联播老司机

Image SVIP+

文章

473

评论

1168

关注

0

粉丝

189
[文章] 初试VictoriaLogs集群采集Kubernetes Pod日志
[文章] Kubernetes 部署Elasticsearch为WordPress提供文章搜索
[文章] Kubernetes使用Prometheus监控爱快路由器iKuai_Exporter
[文章] RustDesk API集成Authentik ODIC单点登录
Ta的全部动态

浏览历史

清空
  • Image
暂无浏览历史

标签云

APISIX (5) Authentik (5) ceph (23) clickhouse (2) Containerd (10) Dell r730 (9) DNS (4) Docker (30) docker-compose (4) ELKStack (9) error (56) es (4) gitlab (2) grafana (18) Harbor (4) ingress (3) jenkins (11) jumpserver (3) kafka (19) Kubernetes (97) KVM (3) linux (32) Linux命令大全 (278) Mac (3) mysql (26) nginx (36) OpenStack (7) OpenVPN (4) oracle (3) other (4) php (5) prometheus (24) Python (4) rabbitmq (4) rancher (2) redis (12) RustDesk (3) shell (7) svn (3) Ubuntu (10) VMware ESXI (12) WordPress (5) zabbix (24) 漏洞 (3) 群晖 (36)
❯
Image

解锁会员权限

开通会员

解锁海量优质VIP资源

立刻开通

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
  • Image

    扫码打开当前页

  • Image

    运维博客公众号

返回顶部
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分

今日签到

连续签到

  • Image

    {{item.credit}}
  • Image

    连续{{item.count}}天
查看所有
我的优惠劵
  • ¥优惠劵
    使用时效:无法使用
    使用时效:

    之前

    使用时效:永久有效
    优惠劵ID:
    ×
    限制以下商品使用: 限制以下商品分类使用: 不限制使用:
    Image
    [{{ct.name}}]
    所有商品和商品类型均可使用
没有优惠劵可用!

购物车
  • Image
    ×
    删除
购物车空空如也!

清空购物车 前往结算
您有新的私信
没有新私信
  • Image

写新私信 查看全部

关于我们

Image

abcdocker是分享DevOps、自动化运维、Kubernetes、Docker等运维优秀实践经验个人博客,由系统运维、脚本编程、devops以及资源分享等分类组成,涵盖了DevOps、自动化运维

联系与合作

  • Image

    优惠活动

    查看本站的最新优惠

  • Image

    配件商城

    在线购买XX配件

  • Image

    法律声明

    本站的法律声明

  • Image

    在线工单

    提交在线工单

  • Image

    建议提交

    查看本主题的文档

随机文章

没有任何内容

我们的团队

  • 新闻联播老司机
Copyright © 2026 i4T
・京ICP备16034840号-2
查询 40 次,耗时 0.4654 秒
首页专题认证
搜索菜单我的
NEW
特斯拉V100 智能助理×
本机器助手只回答博客已有内容!
Advertisement