SpringCloud 應用在 Kubernetes 上的最佳實踐 —— 診斷(線上聯調)
前言 當云上的應用行為不符合預期的時候,您會怎么處理呢?修改代碼,打包,部署,然后查看日志?或者開遠程調試端口遠程調試? 這些步驟都比較繁瑣。現在EDAS提供了端云聯調的工具,讓您在本地就可以啟動應用并且能跟云端服務聯調。只需三個步驟,您就可以在本地獲得跟云端服務聯調的能力,下面我們一起來體驗吧!
打開調試開關 默認情況下,EDAS端云聯調功能是關閉的,只有打開命名空間中的調試開關后,本地服務才能跟云端聯調。您可以只對開發環境的命名空間開啟端云聯調,而對其他環境保持關閉,這樣既方便本地開發,也保證其他環境服務穩定。 EDAS命名空間的默認關閉狀態如下所示,打開開關即可啟用此功能:
準備可遠程訪問的節點 EDAS 端云聯調只需一個可遠程 SSH 的Kubernetes集群節點即可,如果您已具備這樣的節點可跳過此節,否則可參考如下步驟來進行配置。 在 Kubernetes 集群內任意選擇一個機器節點,進入 ECS 實例詳情,綁定一個彈性公網 IP: 綁定彈性公網IP后,需要設置實例安全組規則以放通 SSH 端口的流量。進入實例安全組,設置入方向規則允許訪問 SSH 的22端口: 上圖中的授權對象0.0.0.0/0表示22端口對公網開放,您可以根據本地網絡的公網出口IP來設置授權對象,只允許您所在的網絡訪問實例的22端口,進一步提升安全系數。 最后,設置實例登錄密碼并重啟即可完成 SSH 配置:
配置插件 現在我們來配置 IDE 插件來啟用端云聯調。此功能支持 Intellij IDEA 和 Eclipse 兩種 IDE ,配置流程相同,下面以 Intellij IDEA 來說明配置參數。 打開 IDE 配置頁面,選擇 Alibaba Cloud Toolkit -> EDAS 頁面,勾選 Join EDAS Registry 選項,如下所示: 參數說明如下: * Region:您的Kubernetes集群及服務所在區域。 * Namespace:EDAS命名空間。如未看到所需的命名空間,請參考上面的《打開調試開關》小節打開端云聯調功能。 * Gateway Host:可遠程 SSH 的節點,請參考上面的《準備可遠程訪問的節點》小節來配置。 * Username:可遠程 SSH 的賬號名。這里可填入一個不存在的賬號,插件會進行檢測,如不存在則進行創建。 * Password:可遠程 SSH 的賬號密碼。如果賬號不存在,則插件使用此密碼來創建賬號。 * Server Port:您的Spring Cloud 項目服務端口。 填入以上信息后,點擊頁面上的 Add SSH Rule 按鈕進行配置,插件會提示授予 root 權限來進行代理配置: 授予 root 權限,點擊 Add 完成配置。至此,您已完成全部的配置流程,團隊成員可直接復用上述配置的 SSH 的節點、賬號和密碼,無需重新配置。
啟動應用進行聯調 現在我們跟平常一樣啟動本地應用,IDE 會提示當前處于端云聯調狀態: 在此狀態下,本地服務能正常調用云端服務,云端服務也能調用本地服務。另外,您也可以使用 IDE 的調試模式來啟動本地應用,端云聯調同樣生效。
結語及后續 在本篇中,我們介紹了EDAS端云聯調工具,借助此工具本地服務能跟云端服務進行聯調。端云聯調對于可重現的問題來說是一個非常高效的解決方案,但不適用于如下問題:
1、已發生的問題;
2、不能穩定重現的問題; 對于這樣的問題,我們有更好用的解決方案:APM監控。通過APM監控,您可以方便的查看分析系統異常、服務異常、接口異常等各種異常信息,下一講我們將詳細介紹《APM監控》,歡迎訂閱。
聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發
送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時
需注明出處:新網idc知識百科