日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
KoolKits簡(jiǎn)介:適用于Kubernetes的OSS調(diào)試工具包

審校| 孫淑娟 梁策

創(chuàng)新互聯(lián)建站專注于岱山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供岱山營(yíng)銷型網(wǎng)站建設(shè),岱山網(wǎng)站制作、岱山網(wǎng)頁(yè)設(shè)計(jì)、岱山網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造岱山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供岱山網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

KoolKits(Kubernetes工具包)是針對(duì)Kubernetes的高度匹配、基于特定語(yǔ)言、一組有調(diào)試容器功能的鏡像。在實(shí)踐中,如果你在不熟悉的shell中進(jìn)行艱難的調(diào)試時(shí)卡住了,那么在生產(chǎn)的Pod上,你就會(huì)很希望用到這個(gè)工具。

在這里簡(jiǎn)單介紹下背景,請(qǐng)注意這些容器鏡像旨在與新kubectl debug功能一起使用,該功能用來(lái)啟動(dòng)臨時(shí)容器以進(jìn)行交互式排障。KoolKit將作為容器被kubectl debug拉起,在你的Pod中運(yùn)行,并且能夠訪問(wèn)與原始容器相同的進(jìn)程命名空間。

由于生產(chǎn)容器內(nèi)置調(diào)試工具通常是相對(duì)簡(jiǎn)單的,使用KoolKit可以提供強(qiáng)大的工具進(jìn)行排障,而不是依賴由最初構(gòu)建生產(chǎn)鏡像的人有意(或無(wú)心)留下的簡(jiǎn)陋工具。

每個(gè)KoolKit中的工具都是經(jīng)過(guò)精心挑選的,你可以在下面閱讀更多關(guān)于整個(gè)項(xiàng)目背后的用意。

如果您迫不及待只是想看看有用的內(nèi)容,請(qǐng)隨時(shí)查看??GitHub??上的完整項(xiàng)目。

調(diào)試Kubernetes很難

了解Kubernetes中pod內(nèi)部發(fā)生的事情并非易事。

首先,你的應(yīng)用不再是單一的實(shí)體。它由多個(gè)pod組成,為水平擴(kuò)展進(jìn)行復(fù)制,有時(shí)甚至分散在多個(gè)集群中。

其次,要使用本地工具(如調(diào)試器)訪問(wèn)你的應(yīng)用,你需要處理令人討厭的網(wǎng)絡(luò)問(wèn)題,如自動(dòng)發(fā)現(xiàn)和端口轉(zhuǎn)發(fā),這會(huì)減緩此類工具的使用速度。

此外,分布式系統(tǒng)改變或完全停止正在運(yùn)行的pod的狀態(tài)(例如,當(dāng)放置斷點(diǎn)時(shí))可能會(huì)導(dǎo)致系統(tǒng)其他部分的連鎖性故障,這將加劇現(xiàn)有問(wèn)題。

KoolKits背后的用意(起因)

Lightrun[1]是在考慮Kubernetes情況下構(gòu)建的。我們工作時(shí)會(huì)跨多pod、多集群甚至多云。我們很早就明白,通過(guò)使用正確的工具能為做故障診斷的開(kāi)發(fā)人員提供強(qiáng)大動(dòng)力。我想我們應(yīng)該以某種方式回饋社區(qū),這也就是我們提出KoolKits想法的原因。

讓我們花點(diǎn)時(shí)間來(lái)解釋一下為什么KoolKits非常有用:

有一個(gè)著名的Kubernetes最佳實(shí)踐指出應(yīng)該構(gòu)建小型容器鏡像。出于幾個(gè)不同的原因,這是有道理的:

  1. 構(gòu)建鏡像將消耗更少的資源(即CI小時(shí)數(shù))。
  2. 拉取鏡像將花費(fèi)更少的時(shí)間(誰(shuí)愿意為這么多的Ingress付費(fèi)?)。
  3. 在一個(gè)連無(wú)操作日志都不再安全的世界里,更少的東西意味著暴露在安全漏洞下的區(qū)域越小。

這里還有很多工具可以幫助你在不用做太多繁重工作的情況下實(shí)現(xiàn)目標(biāo):

  1. Alpine Linux基礎(chǔ)鏡像非常小。
  2. DistroLess Docker 鏡像更進(jìn)一步,刪除了除運(yùn)行時(shí)之外的所有內(nèi)容。
  3. Docker多級(jí)構(gòu)建有助于創(chuàng)建精簡(jiǎn)的最終生產(chǎn)鏡像。

當(dāng)你嘗試去調(diào)試這些容器內(nèi)發(fā)生的事情時(shí),問(wèn)題很容易出現(xiàn)。通過(guò)使用小型生產(chǎn)鏡像,你放棄了大量工具,而這些工具在解決應(yīng)用程序中的問(wèn)題時(shí)非常寶貴。

通過(guò)使用KoolKit,你可以在不影響質(zhì)量工具的情況下讓自己享受小型生產(chǎn)鏡像的好處。每個(gè)KoolKit都包含為它所代表的特定運(yùn)行時(shí)精心挑選的工具,此外還有一套基于Linux系統(tǒng)更通用的工具。

注:KoolKits的靈感來(lái)自kubespy和netshoot。

注意事項(xiàng)

在構(gòu)建這些鏡像的過(guò)程中,我們做出了很多決策。下面列出了我們考慮的一些事項(xiàng)。

鏡像大小

KoolKits Docker 鏡像傾向于運(yùn)行。KoolKit旨在下載一次,保存在集群的Docker倉(cāng)庫(kù)中,然后根據(jù)需要以容器的方式立即啟動(dòng)。因?yàn)樗鼈儾皇菫榱顺掷m(xù)拉動(dòng)而設(shè)計(jì)的,而是為了裝有用的工具,這個(gè)副作用也是我們能忍受的。

使用Ubuntu基礎(chǔ)鏡像

很難創(chuàng)建一個(gè)精簡(jiǎn)鏡像的部分原因是,我們決定使用完整的Ubuntu 20.04系統(tǒng)作為每個(gè)KoolKit的基礎(chǔ)。這主要是因?yàn)槲覀兿M麖?fù)制你將在集群內(nèi)做本地調(diào)試的相同環(huán)境。

比如,這意味著不要亂用Alpine替代你習(xí)慣使用的普通Ubuntu軟件包。實(shí)際上,這意味著我們可以在每個(gè)KoolKit中包含沒(méi)有Alpine版本的工具。

使用語(yǔ)言版本管理器

每個(gè)KoolKit都盡可能使用語(yǔ)言版本管理器,而不是依賴于特定語(yǔ)言的發(fā)行版。這樣做是為了讓你可以輕松安裝較舊的運(yùn)行時(shí)版本,如果需要的話允許你在運(yùn)行時(shí)版本之間隨意切換(例如,為了獲取僅存在于特定運(yùn)行時(shí)版本的特定工具版本)。

可用的KoolKits

存儲(chǔ)庫(kù)中的每個(gè)文件夾都包含KoolKit后面的Dockerfile和調(diào)試鏡像的簡(jiǎn)短說(shuō)明。所有KoolKit都基于ubuntu:20.04基礎(chǔ)鏡像,讓每個(gè)人都使用自己熟悉的shell。

可用的 KoolKit 列表:

1. ??koolkit-jvm??–采用OpenJDK 17.0.2 和相關(guān)工具(包括jabba以便于版本管理和Maven 3.8.4)

2. ??koolkit-node??–Node 16.13.1和相關(guān)工具(包括nvm以便于版本管理)

3. ??koolkit-python??–Python 3.10.2 和相關(guān)工具(包括pyenv以便于版本管理)

請(qǐng)注意,你實(shí)際上不必自己構(gòu)建它們:所有KoolKit都在Docker Hub上公開(kāi)托管并且免費(fèi)提供。

KoolKits 即將推出

  • 一個(gè)全新的 Go 1.17.7 KoolKit
  • JVM KoolKit: jvm-profiler,jHiccup支持
  • Node.js KoolKit: llnode,thetool 支持
  • Python KoolKit: vardbg, memprof 支持

貢獻(xiàn)

如果還有遺漏的工具,請(qǐng)?zhí)峤粏?wèn)題告知你的建議即可,我們非常樂(lè)意將它們添加到任何鏡像中。

附注1:Lightrun公司提供了一個(gè)可觀察性平臺(tái),允許開(kāi)發(fā)人員在運(yùn)行時(shí)插入日志、指標(biāo)和跟蹤等,并簡(jiǎn)化事件解決的各個(gè)方面,從而讓開(kāi)發(fā)人員深入了解正在運(yùn)行的應(yīng)用程序。

譯者介紹

張鋒,51 CTO社區(qū)編輯,長(zhǎng)期從事技術(shù)顧問(wèn)工作,專注于運(yùn)維/云原生領(lǐng)域,精通網(wǎng)絡(luò)疑難故障分析,有很豐富的大型銀行運(yùn)維工具建設(shè)實(shí)踐經(jīng)驗(yàn)。

原文標(biāo)題:??Introducing KoolKits: OSS Debugging Toolkits for Kubernetes??,作者:Tom Granot


分享名稱:KoolKits簡(jiǎn)介:適用于Kubernetes的OSS調(diào)試工具包
轉(zhuǎn)載源于:http://m.5511xx.com/article/cdisehj.html