成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

KoolKits簡介:適用于Kubernetes 的OSS 調試工具包

譯文 精選
開發 開發工具
本文介紹一種直接在IDE或終端窗口內調試實時應用程序而無需停止該程序的新開源方法。

譯者 | 張鋒

審校| 孫淑娟 梁策

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

在這里簡單介紹下背景,請注意這些容器鏡像旨在與新kubectl debug功能一起使用,該功能用來啟動臨時容器以進行交互式排障。KoolKit將作為容器被kubectl debug拉起,在你的Pod中運行,并且能夠訪問與原始容器相同的進程命名空間。

由于生產容器內置調試工具通常是相對簡單的,使用KoolKit可以提供強大的工具進行排障,而不是依賴由最初構建生產鏡像的人有意(或無心)留下的簡陋工具。

每個KoolKit中的工具都是經過精心挑選的,你可以在下面閱讀更多關于整個項目背后的用意。

如果您迫不及待只是想看看有用的內容,請隨時查看??GitHub??上的完整項目。

調試Kubernetes很難

了解Kubernetes中pod內部發生的事情并非易事。

首先,你的應用不再是單一的實體。它由多個pod組成,為水平擴展進行復制,有時甚至分散在多個集群中。

其次,要使用本地工具(如調試器)訪問你的應用,你需要處理令人討厭的網絡問題,如自動發現和端口轉發,這會減緩此類工具的使用速度。

此外,分布式系統改變或完全停止正在運行的pod的狀態(例如,當放置斷點時)可能會導致系統其他部分的連鎖性故障,這將加劇現有問題。

KoolKits背后的用意(起因)

Lightrun[1]是在考慮Kubernetes情況下構建的。我們工作時會跨多pod、多集群甚至多云。我們很早就明白,通過使用正確的工具能為做故障診斷的開發人員提供強大動力。我想我們應該以某種方式回饋社區,這也就是我們提出KoolKits想法的原因。

讓我們花點時間來解釋一下為什么KoolKits非常有用:

有一個著名的Kubernetes最佳實踐指出應該構建小型容器鏡像。出于幾個不同的原因,這是有道理的:

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

這里還有很多工具可以幫助你在不用做太多繁重工作的情況下實現目標:

  1. Alpine Linux基礎鏡像非常小。
  2. DistroLess Docker 鏡像更進一步,刪除了除運行時之外的所有內容。
  3. Docker多級構建有助于創建精簡的最終生產鏡像。

當你嘗試去調試這些容器內發生的事情時,問題很容易出現。通過使用小型生產鏡像,你放棄了大量工具,而這些工具在解決應用程序中的問題時非常寶貴。

通過使用KoolKit,你可以在不影響質量工具的情況下讓自己享受小型生產鏡像的好處。每個KoolKit都包含為它所代表的特定運行時精心挑選的工具,此外還有一套基于Linux系統更通用的工具。

注:KoolKits的靈感來自kubespy和netshoot。

注意事項

在構建這些鏡像的過程中,我們做出了很多決策。下面列出了我們考慮的一些事項。

鏡像大小

KoolKits Docker 鏡像傾向于運行。KoolKit旨在下載一次,保存在集群的Docker倉庫中,然后根據需要以容器的方式立即啟動。因為它們不是為了持續拉動而設計的,而是為了裝有用的工具,這個副作用也是我們能忍受的。

使用Ubuntu基礎鏡像

很難創建一個精簡鏡像的部分原因是,我們決定使用完整的Ubuntu 20.04系統作為每個KoolKit的基礎。這主要是因為我們希望復制你將在集群內做本地調試的相同環境。

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

使用語言版本管理器

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

可用的KoolKits

存儲庫中的每個文件夾都包含KoolKit后面的Dockerfile和調試鏡像的簡短說明。所有KoolKit都基于ubuntu:20.04基礎鏡像,讓每個人都使用自己熟悉的shell。

可用的 KoolKit 列表:

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

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

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

請注意,你實際上不必自己構建它們:所有KoolKit都在Docker Hub上公開托管并且免費提供。

KoolKits 即將推出

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

貢獻

如果還有遺漏的工具,請提交問題告知你的建議即可,我們非常樂意將它們添加到任何鏡像中。

附注1:Lightrun公司提供了一個可觀察性平臺,允許開發人員在運行時插入日志、指標和跟蹤等,并簡化事件解決的各個方面,從而讓開發人員深入了解正在運行的應用程序。

譯者介紹

張鋒,51 CTO社區編輯,長期從事技術顧問工作,專注于運維/云原生領域,精通網絡疑難故障分析,有很豐富的大型銀行運維工具建設實踐經驗。

原文標題:??Introducing KoolKits: OSS Debugging Toolkits for Kubernetes??,作者:Tom Granot

責任編輯:華軒 來源: 51CTO
相關推薦

2022-03-21 09:25:50

Kubernetes開源DevSecOps

2018-01-09 11:09:42

RESTSOAP開源

2021-03-18 10:46:00

Linux監控工具命令

2018-06-13 09:00:00

2022-05-17 08:00:00

人工智能社交媒體工具

2023-06-08 00:12:39

2018-11-13 09:00:00

2024-01-23 16:48:32

2019-08-02 09:36:22

開發者技能工具

2020-03-13 10:46:35

數據分析商業智能BI

2018-11-12 11:50:10

開源發票工具Web

2022-09-02 17:47:46

Linux筆記應用

2020-05-07 10:40:37

Web工具CSS

2011-12-08 09:43:56

虛擬化vmwareVMware Fusi

2023-11-30 08:55:15

LinuxLibreOffic

2019-10-22 11:11:16

大數據工具容器

2020-05-13 09:22:51

Linux開源緩存工具

2019-05-20 10:39:23

工具代碼開發

2010-05-28 15:19:07

ibmdw軟件測試

2019-04-23 15:54:04

物聯網數據可視化IOT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜成人免费视频 | 久久综合一区二区三区 | 国产精品一区久久久 | 久久久国产一区二区三区 | 黄色欧美在线 | 国产98色在线| 欧美日韩三级在线观看 | 国产成人在线一区 | 国产免费一区二区 | 久久国产日本 | 91精品福利 | 美女一区 | 中文字幕成人 | 精品国产一区二区三区久久影院 | 精品久久香蕉国产线看观看亚洲 | 亚洲成人免费在线 | 四色成人av永久网址 | 五月天婷婷综合 | 中文字幕亚洲视频 | 国产高清在线精品一区二区三区 | 色综合视频在线 | 欧美日韩免费在线 | 日韩精品在线网站 | 欧美中文字幕一区二区三区亚洲 | 成人精品国产一区二区4080 | 国产精品夜夜春夜夜爽久久电影 | 成人日韩| 精品视频一区二区三区在线观看 | 毛片在线看片 | 91免费在线播放 | 91一区二区三区在线观看 | 亚洲精品亚洲人成人网 | 国产成人在线免费 | 亚洲高清在线观看 | av大全在线 | 国产精品久久精品 | 国产精品a久久久久 | 亚洲 中文 欧美 日韩 在线观看 | 亚洲国产成人精品女人 | 日韩av在线免费 | 亚洲免费精品 |