中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Web應用中GoTTY終端工具的安裝以及用法

發布時間:2021-10-09 14:36:29 來源:億速云 閱讀:355 作者:柒染 欄目:系統運維

本篇文章為大家展示了Web應用中GoTTY終端工具的安裝以及用法,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

GoTTY 是一個簡單的命令行工具,可將您的 CLI 工具變成 Web 應用。

1、安裝 GoTTY 

# Mac 版  brew install yudai/gotty/gotty

如果你有 GO 的環境,也可以通過如下方式安裝:

go get github.com/yudai/gotty

2、GoTTY 用法

Usage: gotty [options] <command> [<arguments...>]
  •  options 

--address value, -a value     IP address to listen (default: "0.0.0.0") [$GOTTY_ADDRESS]  --port value, -p value        Port number to liten (default: "8080") [$GOTTY_PORT]  --permit-write, -w            Permit clients to write to the TTY (BE CAREFUL) [$GOTTY_PERMIT_WRITE]  --credential value, -c value  Credential for Basic Authentication (ex: user:pass, default disabled) [$GOTTY_CREDENTIAL]  --random-url, -r              Add a random string to the URL [$GOTTY_RANDOM_URL]  --random-url-length value     Random URL length (default: 8) [$GOTTY_RANDOM_URL_LENGTH]  --tls, -t                     Enable TLS/SSL [$GOTTY_TLS]  --tls-crt value               TLS/SSL certificate file path (default: "~/.gotty.crt") [$GOTTY_TLS_CRT]  --tls-key value               TLS/SSL key file path (default: "~/.gotty.key") [$GOTTY_TLS_KEY]  --tls-ca-crt value            TLS/SSL CA certificate file for client certifications (default: "~/.gotty.ca.crt") [$GOTTY_TLS_CA_CRT]  --index value                 Custom index.html file [$GOTTY_INDEX]  --title-format value          Title format of browser window (default: "{{ .command }}@{{ .hostname }}") [$GOTTY_TITLE_FORMAT]  --reconnect                   Enable reconnection [$GOTTY_RECONNECT]  --reconnect-time value        Time to reconnect (default: 10) [$GOTTY_RECONNECT_TIME]  --max-connection value        Maximum connection to gotty (default: 0) [$GOTTY_MAX_CONNECTION]  --once                        Accept only one client and exit on disconnection [$GOTTY_ONCE]  --timeout value               Timeout seconds for waiting a client(0 to disable) (default: 0) [$GOTTY_TIMEOUT]  --permit-arguments            Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) [$GOTTY_PERMIT_ARGUMENTS]  --width value                 Static width of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_WIDTH]  --height value                Static height of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_HEIGHT]  --ws-origin value             A regular expression that matches origin URLs to be accepted by WebSocket. No cross origin requests are acceptable by default [$GOTTY_WS_ORIGIN] --term value                  Terminal name to use on the browser, one of xterm or hterm. (default: "xterm") [$GOTTY_TERM] --close-signal value          Signal sent to the command process when gotty close it (default: SIGHUP) (default: 1) [$GOTTY_CLOSE_SIGNAL] --close-timeout value         Time in seconds to force kill process after client is disconnected (default: -1) (default: -1) [$GOTTY_CLOSE_TIMEOUT] --config value                Config file path (default: "~/.gotty") [$GOTTY_CONFIG] --version, -v                 print the version

3、實踐

# 示例  gotty -w python3

訪問 http://127.0.0.1:8080 即可在線體驗 Python3 環境。

進階篇

容器化時代,遇到一些問題的時候,會進入容器內部排查問題,依靠命令行確實可以解決,但是效率較低,如果將容器作為 Web 可訪問的應用,那么處理問題就會便捷很多。

下面將介紹如何使用 GoTTY 連接 k8s 集群中的任意容器。

1、構建 GoTTY Docker 鏡像

已構建好的鏡像:registry.cn-beijing.aliyuncs.com/tlab/k8s-gotty:latest

  •  gotty:可運行的 gotty 程序,查看 [Releases]列表,選擇合適的

  •  kubernetes.repo:用于下載 kubectl 

[kubernetes]  name=Kubernetes  baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/  enabled=1  gpgcheck=1  repo_gpgcheck=1  gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  •  Dockerfile:用于構建鏡像 

FROM centos:latest  RUN yum install -y epel-release kde-l10n-Chinese glibc-common wget  RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8  ENV LC_ALL zh_CN.utf8  ADD gotty /root/  ADD kubernetes.repo /etc/yum.repos.d/  RUN yum -y install kubectl  WORKDIR /root  EXPOSE 8080  CMD ["./gotty", "-w", "--permit-arguments", "kubectl", "exec", "-it", "-n"]

2、在 k8s 集群中運行 GoTTY 

kind: Deployment  apiVersion: apps/v1  metadata:    name: gotty    namespace: default  spec:    replicas: 1    selector:      matchLabels:        k8s-app: gotty    template:      metadata:        labels:          k8s-app: gotty      spec:        serviceAccountName: <此處填具有合適權限的k8s用戶名>        containers:          - name: gotty            image: registry.cn-beijing.aliyuncs.com/tlab/k8s-gotty            ports:              - containerPort: 8080                protocol: TCP

3、暴露 GoTTY 服務 

kind: Service  apiVersion: v1  metadata:    labels:      k8s-app: gotty    name: gotty-service    namespace: default  spec:    ports:      - port: 80        targetPort: 8080        nodePort: 38080    selector:      k8s-app: gotty    type: NodePort

4、訪問容器

在終端里,進入容器的命令是:

kubectl exec -it -n <Namespace> <PodName>

那么,利用 GoTTY 訪問則是 http://<ip>:38080/?arg=<Namespace>&arg=<PodName>

上述內容就是Web應用中GoTTY終端工具的安裝以及用法,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

web
AI

金沙县| 新建县| 荆门市| 泊头市| 民和| 常山县| 延庆县| 大洼县| 南昌市| 资讯| 蒙阴县| 睢宁县| 开阳县| 陆川县| 桃园市| 长垣县| 沈阳市| 年辖:市辖区| 永胜县| 扎赉特旗| 大英县| 保定市| 高州市| 南华县| 兰坪| 德惠市| 连平县| 抚州市| 铜梁县| 灵山县| 大新县| 孝昌县| 偏关县| 吉林省| 略阳县| 万源市| 诸暨市| 额敏县| 宁南县| 庆元县| 扶风县|