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