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 可以打開控制面板,復制文件也可以直接拖進去
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/127876.html
摘要:現有主機實例已有登錄功能通過形式連接到目標主機,但是性能不高,速度慢,有延遲,用戶體驗差。提供基于遠程管理協議和圖像的展示能力。密碼登錄密鑰登錄使用說明目前已經發布洛杉磯華盛頓倫敦,將逐步從海外灰度到國內。現有主機實例已有【登錄】功能通過VNC形式連接到目標主機,但是性能不高,速度慢,有延遲,用戶體驗差。需要增加一種Web Terminal方式可以登錄主機實例,背后架構不同于VNC,使用ss...
閱讀 284·2024-11-07 18:25
閱讀 130363·2024-02-01 10:43
閱讀 868·2024-01-31 14:58
閱讀 828·2024-01-31 14:54
閱讀 82766·2024-01-29 17:11
閱讀 3047·2024-01-25 14:55
閱讀 1985·2023-06-02 13:36
閱讀 3033·2023-05-23 10:26