摘要:版本最近剛發(fā)布就立馬成為容器,,等等的事實(shí)上的集群管理路徑。當(dāng)你你的,你應(yīng)該有方法啟動(dòng)調(diào)試?,F(xiàn)在你可以將你的遠(yuǎn)程調(diào)試器附加到。
Kubernetes1.2版本最近剛發(fā)布就立馬成為容器(Docker,Rocket,Hyper等等)的事實(shí)上的集群管理路徑。這里是一些關(guān)于1.2版本的有趣特點(diǎn):
集群現(xiàn)在可以擴(kuò)容到30,000個(gè)容器一個(gè)集群
優(yōu)雅的關(guān)閉節(jié)點(diǎn),過渡到集群里運(yùn)行的其他節(jié)點(diǎn)
自定義指定指標(biāo)作為自動(dòng)擴(kuò)容的基礎(chǔ)
動(dòng)態(tài)配置管理
當(dāng)你在本地筆記本上面開發(fā)微服務(wù)的時(shí)候,你可以使用Kubernetes來運(yùn)行你的本地Docker容器,并且在你配置你的應(yīng)用程序的時(shí)候,得到開發(fā)人員/QA/生產(chǎn)過程等相似過程。
對(duì)于Java開發(fā)人員來說,有一件事肯定會(huì)發(fā)生:就是你如何看日志、做遠(yuǎn)程調(diào)試以及如何追蹤協(xié)議棧。文章以下的內(nèi)容是一些小提示:
為你的Pod跟蹤日志
在一些集群管理系統(tǒng)中,你基本上不得不查找應(yīng)用程序的本地IP(如果是在容器里運(yùn)行的話),無論如何都要ssh到它,然后找到日志并且跟蹤它。有了Kubernetes,你就不用必須做上述的任意事情了。除了你正在運(yùn)行的那臺(tái)機(jī)器(也就是你運(yùn)行Kubernetes client的地方),你可以按照下面的來:
在你的集群里列出以下pods
追蹤日志
現(xiàn)在選擇你想要追蹤的日志,并且運(yùn)行它!
如果必須的話,通過Shell連接
如果你由于某些原因必須登陸到pod(在文件系統(tǒng)中試探一下,查看其它配置文件等等)
虛擬機(jī)遠(yuǎn)程調(diào)試你的應(yīng)用程序
這樣的話,查看你的應(yīng)用程序上面發(fā)生了什么就會(huì)變得十分方便。為了做到這個(gè),你只要做跟今天做的一樣的事情就好了。當(dāng)你bootstrap你的JVM,你應(yīng)該有方法啟動(dòng)JVM調(diào)試。例如,HawtApp Maven plugin就是一個(gè)簡(jiǎn)單的mvn 插件,可以將Java Main作為可執(zhí)行的、簡(jiǎn)單的、靈活的bootrtrap bin/run.sh 腳本(或者windows的批處理文件),允許你控制路徑和通過環(huán)境變量調(diào)試。
令Bootstrap Java可以暴露到調(diào)試端口
比如:
通過Kubernetes密鑰清單在docker容器里定義調(diào)試端口
現(xiàn)在你需要在你的Docker容器里面通過你的Kubernetes密鑰清單(json/yaml)曝光端口 5005 (在這個(gè)例子里)
注意,我們已經(jīng)添加了一個(gè)env變量到Kubernetes密鑰清單文件到可以控制我們是否想要遠(yuǎn)程調(diào)試打開或者關(guān)閉(true/false)。Bootstrap腳本(以上所述)會(huì)檢查env 變量,并且你可以通過kube密鑰清單控制它(現(xiàn)在Kube1.2有了ConfigMap,或者OpenShift templates)。
最后一步是代理服務(wù)調(diào)試端口到你的本地機(jī)器。如果你在本地運(yùn)行 kubectlclient,就會(huì)十分容易:
列出集群里的pods
代理pod到一個(gè)特殊端口
ceposta@postamac(~) $ kubectl port-forward file-ingress-events-3artj 5005:5005
上述代碼會(huì)從你的本地環(huán)境(5005)端口轉(zhuǎn)發(fā)到pod的端口5005?,F(xiàn)在你可以將你的遠(yuǎn)程調(diào)試器附加到 localhost:5005。
希望這篇帖子可以幫助你調(diào)試你的Java apps!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/32439.html
摘要:版本最近剛發(fā)布就立馬成為容器,,等等的事實(shí)上的集群管理路徑。當(dāng)你你的,你應(yīng)該有方法啟動(dòng)調(diào)試?,F(xiàn)在你可以將你的遠(yuǎn)程調(diào)試器附加到。 Kubernetes1.2版本最近剛發(fā)布就立馬成為容器(Docker,Rocket,Hyper等等)的事實(shí)上的集群管理路徑。這里是一些關(guān)于1.2版本的有趣特點(diǎn): 集群現(xiàn)在可以擴(kuò)容到30,000個(gè)容器一個(gè)集群 優(yōu)雅的關(guān)閉節(jié)點(diǎn),過渡到集群里運(yùn)行的其他節(jié)點(diǎn) 自定義...
摘要:渲染節(jié)點(diǎn)并指明它們的總體狀態(tài)。為節(jié)點(diǎn)和提供工具提示信息。作為一個(gè)日志查看器,允許你使用選擇器從匹配的流式的查看日志。日志查看器你可以基于標(biāo)準(zhǔn)的標(biāo)簽選擇器匹配,通過名字,通過服務(wù),通過部署,等等。使得和團(tuán)隊(duì)在容器排錯(cuò)和安全調(diào)查方面很方便。 如果你正在 Kubernetes 上工作,你的 SRE 和 Ops 團(tuán)隊(duì)需要正確的工具來確保Kubernetes集群的高可用和在其中運(yùn)行的工作負(fù)載。這...
摘要:渲染節(jié)點(diǎn)并指明它們的總體狀態(tài)。為節(jié)點(diǎn)和提供工具提示信息。作為一個(gè)日志查看器,允許你使用選擇器從匹配的流式的查看日志。日志查看器你可以基于標(biāo)準(zhǔn)的標(biāo)簽選擇器匹配,通過名字,通過服務(wù),通過部署,等等。使得和團(tuán)隊(duì)在容器排錯(cuò)和安全調(diào)查方面很方便。 如果你正在 Kubernetes 上工作,你的 SRE 和 Ops 團(tuán)隊(duì)需要正確的工具來確保Kubernetes集群的高可用和在其中運(yùn)行的工作負(fù)載。這...
摘要:如何使用開發(fā)者中心進(jìn)行在線調(diào)試如果你已經(jīng)使用了開發(fā)者中心部署應(yīng)用上云,那么,可以非常榮幸的告訴你,看完下面的步驟,只需幾秒鐘的配置,就可以解救你于水火之中。此過程也可以用于日常開發(fā)過程中的在線定位問題,面對(duì)眾多的微服務(wù),無需再煩惱了。 現(xiàn)在,大家開始越來越多的談?wù)摰礁呖捎眉軜?gòu)的互聯(lián)網(wǎng)應(yīng)用。什么是高可用?高可用HA(High Availability)是分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素...
摘要:如何使用開發(fā)者中心進(jìn)行在線調(diào)試如果你已經(jīng)使用了開發(fā)者中心部署應(yīng)用上云,那么,可以非常榮幸的告訴你,看完下面的步驟,只需幾秒鐘的配置,就可以解救你于水火之中。此過程也可以用于日常開發(fā)過程中的在線定位問題,面對(duì)眾多的微服務(wù),無需再煩惱了。 現(xiàn)在,大家開始越來越多的談?wù)摰礁呖捎眉軜?gòu)的互聯(lián)網(wǎng)應(yīng)用。什么是高可用?高可用HA(High Availability)是分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素...
閱讀 2444·2021-10-09 09:44
閱讀 3817·2021-09-22 15:43
閱讀 2934·2021-09-02 09:47
閱讀 2556·2021-08-12 13:29
閱讀 3879·2019-08-30 15:43
閱讀 1689·2019-08-30 13:06
閱讀 2195·2019-08-29 16:07
閱讀 2756·2019-08-29 15:23