From b1b8fd98510992a5726850deec52b2a7de52d0c3 Mon Sep 17 00:00:00 2001 From: Pinghao Wu Date: Fri, 20 Sep 2024 11:46:25 +0800 Subject: [PATCH] Architecture: clarify xtermjs role --- Sections/4.Architecture.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sections/4.Architecture.tex b/Sections/4.Architecture.tex index efbdf81..9c2dbec 100644 --- a/Sections/4.Architecture.tex +++ b/Sections/4.Architecture.tex @@ -84,7 +84,7 @@ Pods 作為 Kubernetes 中的重要角色之一,表示叢集上運行的容器 在容器的功能按鈕中,有瀏覽容器的運行紀錄 (log) 以及在容器中動態執行指令的功能。執行指令需要有雙向的即時資料流來傳送輸入與輸出,在這方面 Kubernetes 提供兩個解決方案:SPDY 與 WebSocket。SPDY 是 Google 早期提出的協定,用來改善 HTTP 1.x 的效能,如今在 HTTP 的場域已經被為廣泛的 HTTP/2 取代,Kubernetes 則是持續利用其雙向即時傳輸的功能。WebSocket 是特別設計在網頁場景提供雙向即時資料流的協定,並且連線由 HTTP 請求觸發進行進一步的協定轉移,對於 HTTP 既有的代理生態有一定的相容性而被廣泛採納。Kubernetes 原先以 SPDY 為主,因長期發展考量逐步轉換為 WebSocket。因為瀏覽器支援因素,我們採用 WebSocket 進行實做。 -有了雙向的資料流,我們還需要一個虛擬終端機負責進一步的處理。虛擬終端機繪製整個文字界面,將鍵盤輸入與程式輸出呈現在畫面上,並且處理程式輸出中的控制訊息,達到文字界面的顏色與游標位置等的控制。這部份我們使用既有的 Xterm.js 函式庫達成。 +有了雙向的資料流,我們還需要一個終端機模擬器負責進一步的處理,與叢集上的 pty\footnote{pty: Unix-like 系統常見的元件,主要負責處理文字行編輯、訊號快捷鍵(如 Ctrl+C)等。} 溝通。終端機模擬器繪製整個文字界面,並且處理 pty 輸出中的控制訊息,達到文字界面的顏色與游標位置等的控制。這部份我們使用既有的 Xterm.js 開源函式庫達成。 \subsection{Helm 頁面與 Helm 功能實做} -- 2.45.2