Apache Guacamole是一个基于web的远程终端支持ssh,vnc,rdp等协议
官网地址:http://guacamole.apache.org
从图中可看出分为guacamole服务和guacd服务,guacd服务负责连接远程的vpc,rdp,ssh等服务器
这里使用k8s部署,注意本安装仅用于测试使用,由于mysql没做持久化重启之后数据会丢失
cat <<EOF | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: name: guacamole spec: selector: matchLabels: app: guacamole template: metadata: labels: app: guacamole spec: containers: - env: - name: GUACD_HOSTNAME # guacd地址 value: guacamole-guacd - name: MYSQL_DATABASE # mysql数据库 value: guacamole - name: MYSQL_HOSTNAME # mysql地址 value: guacamole-mysql - name: MYSQL_PASSWORD # mysql密码 value: root - name: MYSQL_USER # mysql用户 value: root image: guacamole/guacamole:latest # 这里使用了最新版 name: guacamole ports: - containerPort: 8080 name: 8080tcp02 protocol: TCP resources: {} --- apiVersion: v1 kind: Service metadata: name: guacamole spec: ports: - port: 8080 protocol: TCP targetPort: 8080 selector: app: guacamole type: NodePort # 使用nodeport进行访问,也可以用ingress EOF
cat <<EOF | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: name: guacamole-guacd spec: selector: matchLabels: app: guacamole-guacd template: metadata: labels: app: guacamole-guacd spec: containers: - name: guacamole-guacd image: guacamole/guacd:latest resources: {} ports: - containerPort: 4822 --- apiVersion: v1 kind: Service metadata: name: guacamole-guacd spec: selector: app: guacamole-guacd ports: - port: 4822 targetPort: 4822 EOF
mysql可以使用已经有的,且以下资源未做持久化重启之后数据会丢失不要用于生产!!!
cat <<EOF | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: name: guacamole-mysql spec: selector: matchLabels: app: guacamole-mysql template: metadata: labels: app: guacamole-mysql spec: containers: - name: guacamole-mysql image: mysql:latest env: - name: MYSQL_ROOT_PASSWORD value: root resources: {} ports: - containerPort: 3306 --- apiVersion: v1 kind: Service metadata: name: guacamole-mysql spec: selector: app: guacamole-mysql ports: - port: 3306 targetPort: 3306 EOF
将guacamole的Entrypoint改为sleep 1h
以方便进入容器
容器里执行/opt/guacamole/bin/initdb.sh --mysql > initdb.sql
导出mysql的表结构
apt update && apt install mysql-client
安装mysql客户端
mysql -h guacamole-mysql -uroot -proot
登录mysql数据库
如果出现 ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded 错误则需要在guacamole-mysql容器里登录数据库执行ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
create database guacamole;
创建数据库
use guacamole;
进入数据库, source initdb.sql
导入表结构
因为是nodeport所有可以使用 <nodePort>/guacamole
默认账号密码为guacadmin/guacadmin
进入配置界面配置根据目标主机的情况填写
这个时候首页就出现了可以连接的机器,点击即可连接此机器
Ctrl + Alt + Shift 可以打开控制面板,复制文件也可以直接拖进去
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/127876.html
摘要:现有主机实例已有登录功能通过形式连接到目标主机,但是性能不高,速度慢,有延迟,用户体验差。提供基于远程管理协议和图像的展示能力。密码登录密钥登录使用说明目前已经发布洛杉矶华盛顿伦敦,将逐步从海外灰度到国内。现有主机实例已有【登录】功能通过VNC形式连接到目标主机,但是性能不高,速度慢,有延迟,用户体验差。需要增加一种Web Terminal方式可以登录主机实例,背后架构不同于VNC,使用ss...
阅读 237·2024-11-07 18:25
阅读 130301·2024-02-01 10:43
阅读 858·2024-01-31 14:58
阅读 819·2024-01-31 14:54
阅读 82714·2024-01-29 17:11
阅读 3031·2024-01-25 14:55
阅读 1977·2023-06-02 13:36
阅读 3017·2023-05-23 10:26