一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

最常用的11款Kubernetes工具

阿銘linux ? 來源:InfoQ ? 作者:Matt Broberg ? 2021-08-23 10:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

“到 2021 年,幾乎所有接觸過云基礎(chǔ)設(shè)施的人都熟悉 Kubernetes 項目。簡單地說,Kubernetes 是一個非常強大的容器編排平臺,并且 Kubernetes 社區(qū)一直在共享工具,這有助于改善 Kubernetes 開發(fā)人員的體驗。本文列出作者自己最常用的 11 款 Kubernetes 工具,并對它們進行了分類介紹。

Kubernetes 是一個非常強大的容器編排平臺。但在我看來,Kubernetes 最重要的是將最佳實踐整合到了一個系統(tǒng)中,這個系統(tǒng)可以從樹莓派(Raspberry Pi)擴展到財富 500 強中最大的基礎(chǔ)設(shè)施。它使得開發(fā)和運維人員能夠通過標準化的 API 和有意義的抽象(如 Pod 或 ConfigMap)進行協(xié)作。

通過提供一個開源標準,Kubernetes 可以將一個組織從數(shù)十年自己摸索的“容器策略”中拯救出來,幸運的是,這個標準也是每個主要云供應(yīng)商的標準。也就是說,像 Kubernetes 這樣龐大的野獸是很難馴服的,但為了充分發(fā)揮它的潛力,我們需要一套額外的工具。

Kubernetes 社區(qū)一直在共享工具,這有助于改善 Kubernetes 開發(fā)人員的體驗。以下是我自己最常用的 11 款 Kubernetes 工具,我將它們進行了分類:哪些是可以幫助我運行 Kubernetes 的工具,哪些是測試 Kubernetes 的工具,以及哪些是可以讓我在 IDE 中能夠獲得樂趣的(最后但并非不重要)。

類別 1:運行 Kubernetes 環(huán)境

Minikube 仍然是最佳的

幾乎每個 Kubernetes 教程都是從“下載 Minikube”開始的,這在今天仍然行得通。如果你想在一個真正低風(fēng)險的環(huán)境中編排容器,那么打包及維護良好的 Minikube 項目可以讓 你在大約 23 秒內(nèi)即可運行一個集群。

Helm 仍然是可重復(fù)部署的標準

雖然我們都編寫過一兩個一次性腳本來將一些配置部署到 Kubernetes 中,但實際上管理可重復(fù)部署的方法是使用 Helm。就像 Ubuntu 上的 apt 或 RHEL 上的 rpm 一樣,Helm 是一個包管理器,它為 Kubernetes 開發(fā)人員做了很多事情。作為一名開發(fā)人員,想在投入不多的情況下用其他項目來測試我的應(yīng)用程序。我可以簡單地運行helm install jenkins/jenkins,而不是編寫自己的 Jenkins 設(shè)置。想要獲取 Helm 或其他 Kubernetes 軟件包,請查看 Artifact Hub。

Rancher K3s 可隨時隨地運行

向 Kubernetes 服務(wù)中推送容器是一回事,但是如果你想在 Raspberry Pi 農(nóng)場之外也弄一個呢?來自 Rancher 的 K3s 項目可以做到這一點。正如維護人員在 README 中所說的那樣,它對于 Kubernetes“集群學(xué)”(clusterology)的任何邊界或物聯(lián)網(wǎng)嘗試都是理想選擇。

K3s 作為本地和輕量級集群選擇的一個突出特點是它支持的設(shè)備非常廣泛。使用 K3s,你可以在任何地方運行 Kubernetes。事實上,它是以單個二進制文件下載的,這意味著它包含了所有生產(chǎn) Kubernetes 配置的功能(sqlite3 是默認的,但是你可以通過它的可插拔存儲后端將其擴展到 Etcd3),并且 Rancher 團隊及其 1749 名(到目前為止)貢獻者仍在非常積極地維護它。

Loft 可擴大團隊規(guī)模

任何人都可以通過調(diào)用curl來啟動上面提到的 Minikube 集群。但是,如果你想要和別人合作呢?在云原生開發(fā)工具和本地開發(fā)集群的交接處有很多選擇。

傳統(tǒng)的選擇是在公有云上運行一些可公開訪問的資源:AKS、EKS、DigitalOcean Managed Kubernetes 或其他可用資源。但是任何一個在云服務(wù)上運行過hello world教程但忘刪除它的人都知道,這會讓你很快就損失很多。

Loft 提供了一組包含 UI 和 CLI 在內(nèi)的服務(wù),可以進一步抽象 Kubernetes 環(huán)境,這些環(huán)境最終將在生產(chǎn)環(huán)境中運行。這樣做之后,你可以建立一個自助服務(wù)體驗,而無需考慮隔離和預(yù)算問題。

Loft 對隔離的關(guān)注,特別是對 vClusters 及其相應(yīng) Spaces 的關(guān)注,為每個開發(fā)人員提供了一個真實的環(huán)境,而不會影響預(yù)算。這對開發(fā)人員和部門領(lǐng)導(dǎo)來說都是非常有價值的。

Loft 的價值在于啟動和關(guān)閉安全 Kubernetes 環(huán)境的速度。它在一個用例中提到只需單擊一次 UI,即可創(chuàng)建本地環(huán)境的現(xiàn)場演示。更自私地考慮一下,在不破壞開發(fā)集群命名空間的情況下,可以在自己的獨立測試用例中演示最新的生產(chǎn)功能, 這說聽起來確實不錯。

此外,Loft 實驗室最近聘請了了不起的 Rich Burroughs,這對于他們正在建立的這類社區(qū)來說是個非常好兆頭。

當(dāng)與團隊合作時,使用 Loft 是非常有意義的。

類別 2:簡化反饋回路

Skaffold 可提供自動反饋回路

假設(shè)你是一名開發(fā)人員,你想寫一個可以在 Kubernetes 上運行的應(yīng)用程序。從運行 Node.jsPython 應(yīng)用程序到在 Kubernetes 上運行容器,你需要了解大量的 Kubernetes 概念,數(shù)量大到像一堵 YAML 墻。幸運的是,谷歌的好朋友們編寫了 Skaffold,為我們提供了一些急需的腳手架。

不要誤會我的意思:你仍然需要編寫自己的代碼、Dockerfile、清單文件以及與管道相關(guān)的所有服務(wù)。Skaffold 提供的是一種干凈的方法,可以在每次變更代碼后重新運行部署管道。它的主頁上引用了來自世界各地開發(fā)人員的語錄,深受用戶喜愛。

你可能會有這種感覺:運行 Skaffold 感覺就像第一次運行 Vagrant,而不是手動管理虛擬機。曾經(jīng)需要很多步驟才能完成且不可靠的任務(wù),在某種程度上變得簡單且可重復(fù)了,從而簡化了我們的工作。Skaffold 將在 Kubernetes 的測試和部署反饋回路中這樣做。

Podman 可停止管理 Docker 守護進程

雖然 Dockerfiles 可能永遠是我們表示容器的方式,但 Docker 本身是完全可選的。甚至 Kubernetes 本身也在將其運行時從 Dockershim 中移出來。我非常推薦 Podman 作為本地運行 Docker 的替代品,唯一的原因是你不需要再維護守護進程服務(wù)了。不干擾守護進程意味著更少的無效時間浪費和更多的編碼時間。

這種區(qū)別對你來說可能很陌生,所以解釋一下:Docker 既是一個與本地容器交互的客戶端,也是一個管理容器運行的用戶態(tài)守護進程(aka server)。Nick Janetakis在這里 完美地解釋了這一點。

像我一樣,當(dāng)一切都能正常工作時,你可能會忘記 Docker 客戶端和服務(wù)端之間的區(qū)別。也就是說,我經(jīng)常會看到這樣的信息:

$ docker ps

$ Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

現(xiàn)在我只能選擇了。我可以對 Docker 守護進程和工具鏈中的服務(wù)進行故障排除,或者我可以使用一些不會遇到相同問題的服務(wù)。我更喜歡后者。

Podman 提供了將容器作為子進程運行的選項,從而無需單獨的守護進程。這意味著我永遠不會再收到那條錯誤消息了,我的容器會一直在做它該做的事情。

你可能會因為自己的肌肉記憶太根深蒂固而不愿改變。在這種情況下,我強烈建議你刪除dockerCLI 并將alias docker = podman添加到你的 shell 配置文件中。

Tilt 真正了解你的應(yīng)用程序

雖然我介紹了幾種不同的管理管道的方法,但我仍然認為 Tilt 是觀察基于 Kubernetes 應(yīng)用程序的持續(xù)反饋回路最徹底、最直觀的方法。Tilt UI 具有非常簡潔的錯誤捕捉功能,可以在 YAML 小錯誤變成重大部署錯誤之前就能指認出它們來。它還具有可定制的按鈕,以提供特定于應(yīng)用程序的獨特功能,如在不同迭代之間刷新架構(gòu)中的消息隊列。

如果你想觀察細節(jié)但又不想被它們淹沒,那就試試 Tilt 吧。

DevSpace 可使開發(fā)流程更高效

你是否有過想讓kubectl做某件事情,但卻忘記了做這件事情所需要的大量命令呢?很幸運的是,DevSpace 是一個開源的命令行實用程序,它可以將 Kubernetes 開發(fā)人員體驗包在一個溫暖的擁抱中。它能管理大量繁瑣的任務(wù),所以你可以像對待運行在本地系統(tǒng)上的 Pod 一樣對待它。

此外,如果你有非常特殊的設(shè)置項,可以簡單地將它們添加到 devspace.yaml 聲明配置文件中即可。

雖然它不會一對一地取代kubectl提供的“手術(shù)刀”,但運行 DevSpace 會為你提供大量正常的默認行為,使與真正的 Kubernetes 環(huán)境交互更像是$HOME。

Lens IDE 可使調(diào)試更快速

像 Minikube 這樣的 Kubernetes 項目開箱即用,帶有一個稱為 Dashboard 的絲滑而直接的 GUI。這是一個非常出色的以閱讀為中心的環(huán)境視圖,但是如果你想通過 UI 執(zhí)行某些操作,該怎么辦呢?

開源社區(qū)中最強大的選項是 Lens。我真的不應(yīng)該稱它為 GUI,因為它的特性豐富到足以被視為 IDE。只需單擊按鈕,你就可以在 Lens 中執(zhí)行 Kubernetes 能夠執(zhí)行的任何操作。我最喜歡 Lens 的是它那不可思議的思維情境特定選項,它幫助我區(qū)分了 Kubernetes 領(lǐng)域許多其他資源的命名空間服務(wù)。

類別 3:不可或缺的 IDE 開發(fā)工具

VSCode 我們都需要的 Kubernetes 擴展

如果沒有一個能夠區(qū)分 Kubernetes 資源和 Helm 圖表的 IDE,就不能說是有 Kubernetes 開發(fā)經(jīng)驗。這就是 Visual Studio Code Kubernetes Tools 的亮點所在。任何生活在 Kubernetes 世界的人都必須從安裝它開始。

該 VSCode 插件使 YAML 更易于管理

Kubernetes 開發(fā)人員被描述為 YAML 牧民,我認為這非常合適。雖然我也喜歡結(jié)構(gòu)化的特定領(lǐng)域語言,如下一代 Kubernaut,但我不會放棄任何來自管理 YAML 本身的幫忙。幸運的是,紅帽(Red Hat)的 YAML Language Support 擴展可以幫到我。

它提供了大量的自動完成選項,以及許多額外的細微選項,這些選項幫助我解決了問題。話雖如此,右鍵單擊并選擇“格式化文檔”的功能本身就很有價值。

Footsteps 通過代碼查找路徑

嚴格來說,它雖然不是 Kubernetes 擴展,但是我發(fā)現(xiàn)在 YAML 的農(nóng)場中導(dǎo)航可能會讓我忘記出發(fā)的地方。它在我 2000 行的配置文件的什么地方呢?那時 Footsteps 聲照亮了我短期失憶的立足點。這個出色的擴展程序,也適用于 VSCode 或其他 IDE,它通過高亮來突出顯示最近編輯的文檔。隨著你的繼續(xù)編碼,F(xiàn)ootsteps 會逐漸淡化這些顏色,讓你了解你的編碼模式。安裝它,可以節(jié)省你迷失方向的時間。

總結(jié)

有很多不可思議的工具可以幫助 Kubernetes 開發(fā)和運維人員來駕馭這種新的容器編排范式。我喜歡從三個方面來考慮它們:它們是能幫助我運行 Kubernetes,是能測試 Kubernetes,還是能以可感知的方式編寫 Kubernetes 代碼呢?所有這三個類別都可以引導(dǎo)你在開源生態(tài)系統(tǒng)中獲取維護良好的軟件,這可以幫助你像我們及其他人一樣成為更好的 YAML 牧民。

原文鏈接:https://loft-sh.medium.com/11-of-the-best-open-source-kubernetes-tools-2021-edition-b4aa49487845

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 樹莓派
    +關(guān)注

    關(guān)注

    121

    文章

    1995

    瀏覽量

    107363
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    243

    瀏覽量

    9054

原文標題:2021年11款最佳的開源 Kubernetes 工具

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Kubernetes Helm入門指南

    Helm 是 Kubernetes 的包管理工具,它允許開發(fā)者和系統(tǒng)管理員通過定義、打包和部署應(yīng)用程序來簡化 Kubernetes 應(yīng)用的管理工作。Helm 的出現(xiàn)是為了解決在 Kuberne
    的頭像 發(fā)表于 04-30 13:42 ?2229次閱讀
    <b class='flag-5'>Kubernetes</b> Helm入門指南

    Kubernetes中部署MySQL集群

    一般情況下 Kubernetes 可以通過 ReplicaSet 以一個 Pod 模板創(chuàng)建多個 pod 副本,但是它們都是無狀態(tài)的,任何時候它們都可以被一個全新的 pod 替換。
    的頭像 發(fā)表于 03-18 16:22 ?276次閱讀
    <b class='flag-5'>Kubernetes</b>中部署MySQL集群

    Kubernetes包管理工具Helm的安裝和使用

    Helm 可以幫助我們管理 Kubernetes 應(yīng)用程序 - Helm Charts 可以定義、安裝和升級復(fù)雜的 Kubernetes 應(yīng)用程序,Charts 包很容易創(chuàng)建、版本管理、分享和分布。
    的頭像 發(fā)表于 03-13 16:06 ?886次閱讀

    Kubernetes Pod常用管理命令詳解

    Kubernetes Pod常用管理命令詳解
    的頭像 發(fā)表于 02-17 14:06 ?486次閱讀
    <b class='flag-5'>Kubernetes</b> Pod<b class='flag-5'>常用</b>管理命令詳解

    云存儲部署k8s實用工具集合,效率翻倍!

    云存儲部署Kubernetes涉及多個關(guān)鍵工具?;A(chǔ)設(shè)施即代碼(IaC)工具如Terraform和CloudFormation用于自動化集群部署。容器編排工具
    的頭像 發(fā)表于 02-08 15:41 ?360次閱讀

    Kubernetes:構(gòu)建高效的容器化應(yīng)用平臺

    Kubernetes 作為容器編排的事實標準,在容器化應(yīng)用部署中發(fā)揮著關(guān)鍵作用。 搭建 Kubernetes 集群是應(yīng)用的基礎(chǔ)。可以使用kubeadm工具快速搭建。在主節(jié)點執(zhí)行kubeadm
    的頭像 發(fā)表于 01-23 15:22 ?314次閱讀

    Kubernetes的CNI網(wǎng)絡(luò)插件之flannel

    Kubernetes設(shè)計了網(wǎng)絡(luò)模型,但卻將它的實現(xiàn)講給了網(wǎng)絡(luò)插件,CNI網(wǎng)絡(luò)插件最重要的功能就是實現(xiàn)Pod資源能夠跨主機通信。
    的頭像 發(fā)表于 01-02 09:43 ?798次閱讀

    寶藏級微服務(wù)架構(gòu)工具合集

    寶藏級熱門微服務(wù)架構(gòu)工具包含Spring Boot、Eclipse Vert.X、Kubernetes、Tyk、RabbitMQ、Apache Kafka等。其中,Spring Boot簡化了微服
    的頭像 發(fā)表于 12-21 16:33 ?611次閱讀

    devops使用最廣泛的集成工具盤點

    devops使用最廣泛的集成工具包括GitLab(全棧DevOps平臺)、Jenkins(CI/CD自動化服務(wù)器)、Docker(容器化技術(shù))、Kubernetes(容器編排平臺)、Ansible
    的頭像 發(fā)表于 11-26 13:48 ?616次閱讀

    Kali Linux常用工具介紹

    Kali Linux 虛擬機中自帶了大量滲透測試工具,涵蓋了信息收集、漏洞利用、口令破解、漏洞掃描等多個方面。 以下是按分類簡要介紹一部分常用工具的使用方法: 使用方法只能當(dāng)做參考,**詳細
    的頭像 發(fā)表于 11-11 09:29 ?1567次閱讀

    芯片開發(fā)必備工具|好用的文件比對工具有哪些?

    在芯片開發(fā)工程中,通常為了知道工程目錄下發(fā)生了哪些改動,或者兩份源碼文件之間有什么不同,會需要用到文件和文件夾的比對工具。使用工具比肉眼觀察更便捷,也更精確!本文將介紹自己最常用的幾
    的頭像 發(fā)表于 11-01 08:11 ?1164次閱讀
    芯片開發(fā)必備<b class='flag-5'>工具</b>|好用的文件比對<b class='flag-5'>工具</b>有哪些?

    常用的devops工具集成方法

    常用的devops工具集成方法涵蓋了軟件開發(fā)和運維的各個方面,從版本控制到自動化構(gòu)建、測試、部署和監(jiān)控。這些工具的有效集成可以幫助團隊提高協(xié)作效率,減少溝通障礙,實現(xiàn)快速、高質(zhì)量的軟件交付。
    的頭像 發(fā)表于 10-09 11:21 ?516次閱讀

    恒訊科技分析:常用的vps路由測試的工具和方法

    VPS(虛擬私人服務(wù)器)路由測試是評估服務(wù)器網(wǎng)絡(luò)性能的重要環(huán)節(jié),以下是一些常用工具和方法: 1、BestTrace:這是一路由追蹤客戶端軟件,可以測試VPS的去程路由和回程路由。它具有可視化
    的頭像 發(fā)表于 08-08 22:54 ?759次閱讀

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團隊(被 VMWare 收購)開源的 Kubernetes 集群備份、遷移工具。
    的頭像 發(fā)表于 08-05 15:43 ?628次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群

    如何使用Kubeadm命令在PetaExpress Ubuntu系統(tǒng)上安裝Kubernetes集群

    Kubernetes,通??s寫為K8s,是一個開源的容器編排平臺,旨在自動化容器化應(yīng)用的部署、擴展和管理。有了Kubernetes,您可以輕松地部署、更新和擴展應(yīng)用,而無需擔(dān)心底層基礎(chǔ)設(shè)施。
    的頭像 發(fā)表于 07-15 13:31 ?1125次閱讀
    如何使用Kubeadm命令在PetaExpress Ubuntu系統(tǒng)上安裝<b class='flag-5'>Kubernetes</b>集群