收藏 | 2021年,開發(fā)者必備的3款Kubernetes工具!
課工場 | 2021-07-09 13:34:14  1392 瀏覽

在過去幾年,我們看到有大量工具被開發(fā)出來,用于簡化在 Kubernetes 上的軟件開發(fā)。正如生態(tài)系統(tǒng)中,優(yōu)勝劣汰、適者生存一樣,功能強(qiáng)大、操作便利的工具會不斷壯大,反之,則不會被使用者接受。那么,2021 年,有哪些好工具供我們使用?

編輯搜圖


請點(diǎn)擊輸入圖片描述(最多18字)

關(guān)注公號:課工場 (wxh:kgc-vip)了解最前沿IT技術(shù)!

01Kubernetes 清單(YAML)

如果你是 Kubernetes 的新用戶,建議瀏覽這個網(wǎng)站,里面有詳細(xì)介紹。

https://www.jeremyjordan.me/kubernetes/?fileGuid=vrvQpyxYcpQJt6YG

首先需要了解,Kubernets 具有編排應(yīng)用的聲明式方法??梢詫⑵谕膽?yīng)用狀態(tài)寫入 YAML 格式的配置文件,即所謂“manifest”,然后將其發(fā)送給 Kubernetes 后臺,即可實(shí)現(xiàn)相應(yīng)操作。

02Helm

Helm 是 Kubernetes 的包管理工具,可以打包、共享和部署 K8s 應(yīng)用。將 Helm 視為一個包管理器——它允許用戶將多個 YAML 配置文件片段到“圖表”的邏輯程序包中。即主要用來管理圖表。它讓你可以用一種一致的、結(jié)構(gòu)化的方式將多個 YAML 配置片段分組到一個稱為“chart”的邏輯包中。

作為包制作者,創(chuàng)建 Helm Chart 有以下好處:

  • 可以在部署應(yīng)用時使用自定義參數(shù)實(shí)現(xiàn)應(yīng)用程序可配置。為此,可以使用模板。

  • 可以通過版本化和可追蹤方式將應(yīng)用程序發(fā)布到私有或公共的軟件存儲庫中

  • 可以將你的應(yīng)用程序依賴于其他的 Helm Chart

  • 總體而言,Helm 可以提供強(qiáng)大的封裝機(jī)制,以確保應(yīng)用程序按預(yù)期部署。

作為包使用者,安裝 Helm Chart 可以獲得更多好處:

  • 可以訪問內(nèi)容豐富的存儲庫,其中既有公開發(fā)布的 Chart,也有組織提供的私有 Chart。

  • 可以根據(jù)程序包制作者提供的設(shè)置來自定義應(yīng)用程序

  • 擁有部署軟件包的正版資源

  • 不必?fù)?dān)心 Kubernetes 規(guī)范語言的復(fù)雜性

  • Helm 支持原子操作,最大程度上降低應(yīng)用程序和集群的風(fēng)險。

總體而言,您可以獲得一個易于理解且可以即時可用的應(yīng)用程序包。

https://helm.sh/docs/chart_template_guide/?fileGuid=vrvQpyxYcpQJt6YG

https://www.rookout.com/blog/using-helm-to-improve-software-understandability?fileGuid=vrvQpyxYcpQJt6YG

 Helm 有什么新功能?

2019 年末,Helm v3 發(fā)布,刪除了集群組件(Tiller)和許多其他的功能。2020 年底,Helm v3 逐漸取代 Helm v2,大多數(shù)公共 Charts 已經(jīng)改成了 v3 的格式。如果你還在使用 Helm v2,務(wù)必要安排時間升級近期軟件路線圖(升級時可以看下這個插件,可能會有所幫助)。

https://github.com/helm/helm-2to3?fileGuid=vrvQpyxYcpQJt6YG

在最近的幾個發(fā)行版中,Helm 團(tuán)隊(duì)一直致力于解決用戶的其中一個最大的煩惱——YAML 模板使用難度大。目前 Helm 開發(fā)出了一個功能強(qiáng)大的 linting 命令,可以解決在調(diào)試 YAML 時所遇到的部分問題。

https://helm.sh/docs/helm/helm_lint/?fileGuid=vrvQpyxYcpQJt6YG

Helm 中又添加了一個后期渲染功能,使用戶可以使用 Kustomize 等工具自定義 Helm 圖表。

https://helm.sh/docs/topics/advanced/?fileGuid=vrvQpyxYcpQJt6YG

最后但也同樣是重要的,2020 年,Helm 也開始向去中心化的圖表管理方式轉(zhuǎn)變,并推出了兩個共享的中心存儲庫:

  • ArtifactHub

  • ChartCenter

下載地址:https://helm.sh/

03Kustomize

Helm 的最大缺點(diǎn)是應(yīng)用程序的設(shè)置僅限于預(yù)先存在的配置選項(xiàng)。并且,圖表作者還必須以有些麻煩的模板方式來實(shí)現(xiàn)這些自定義選項(xiàng)。Kustomize 可以彌補(bǔ)這些缺點(diǎn)。

Kustomize 允許用戶將 Kubernetes 應(yīng)用程序構(gòu)建為一系列的層和補(bǔ)丁,從而實(shí)現(xiàn)沒有限制的自定義。Kustomize 使用基于 YAML 文件的、Kubernetes 可識別的補(bǔ)丁格式來添加 / 刪除 / 更新應(yīng)用程序清單的任何部分。Kustomize 在 1.14 版本中成為了 kubectl 中不可或缺的一部分,要調(diào)用它,用戶需要做的就是執(zhí)行 kubectl-k 命令。

Kustomize 是一個功能強(qiáng)大的工具,可以讓用戶以所需要的任何方式來修改 Kubernetes 應(yīng)用程序。但是,這就意味著學(xué)習(xí)起來有些困難,因?yàn)槎ㄖ品桨傅倪^于隨意會導(dǎo)致出錯的可能性大大提高。Kustomize 有一種高級用法,使用 Helm 的后期渲染功能來修補(bǔ)現(xiàn)有的 Helm 圖表。這樣就無需再另做版本分支,使得版本升級變得更加方便。

https://github.com/thomastaylor312/advanced-helm-demos/tree/master/post-render?fileGuid=vrvQpyxYcpQJt6YG

 Kustomize 有什么新功能?

為了添加上 Kustomize 的功能,Kubernets 生態(tài)系統(tǒng)中的許多工具都內(nèi)嵌了 Kustomize。最突出的案例是編排和持續(xù)部署工具,如 ArgoCD、Flux 和 Kubestack 這三種工具。如果用戶搜索類似于補(bǔ)丁功能的工具,去查看你的 CD 工具,就可以找到它。

如果用戶不熟悉 Kubernetes 的構(gòu)建過程,可能就不知道在初始集成期間,維護(hù)人員將嵌入 Kubectl 的 Kustomize 版本凍結(jié)在了 2.0.3。這不僅使得文檔更加令人困惑了,也讓 Kubectl 內(nèi)嵌的版本缺少了過去兩年所做的大量增強(qiáng)功能,希望負(fù)責(zé)該部分的維護(hù)團(tuán)隊(duì)可以快速解決這個問題。同時,如果用戶需要最新版本,可以考慮使用 Kustomize 作為獨(dú)立的 CLI 工具。

https://kubectl.docs.kubernetes.io/installation/kustomize/?fileGuid=vrvQpyxYcpQJt6YG

地址:https://kustomize.io/

04 Skaffold

Skaffold 的作法有些不同,它遵循 DevOps 的最佳實(shí)踐,在 SDLC 中保持開發(fā)環(huán)境和工作流程的一致性。Skaffold 為開發(fā)流程、持續(xù)集成及持續(xù)部署構(gòu)建和部署 Kubernetes 應(yīng)用程序。

在構(gòu)建過程中,Skaffold 可以使用 Dockerfiles、Buildpacks、Bazel,甚至是自定義的腳本。對于部署,Skaffold 所使用的模板引擎是有限的,但可以調(diào)用 Kubectl,Helm 或者 Kustomize。

Skaffold 有三種主要的操作模式:

  • skaffold dev—此模式可以在一個“觀察,構(gòu)建,部署”循環(huán)中運(yùn)行 Skaffold。在這種模式下,用戶可以在本地編輯源文件,Skaffold 將它們部署到用戶選擇的集群中。Skaffold 支持端口轉(zhuǎn)發(fā)和日志追蹤,以便在這種模式下工作時能夠獲得更流暢的開發(fā)體驗(yàn)。

  • scaffold build—此模式可以運(yùn)行 Skaffold 來構(gòu)建用戶的工件,并將其放置在用戶所選擇的存儲庫中。

  • scaffold deploy—此模式將用戶構(gòu)建的應(yīng)用程序部署到用戶所選擇的集群中,也可能可以用于 Helm 和 Kustomize。如果想要使用單個命令來構(gòu)建和部署,可以使用 Skaffold run。

 Skaffold 有什么新功能?

2020 年,Skaffold 團(tuán)隊(duì)致力于使得 Skaffold 更易適應(yīng)各種工作流程,并實(shí)現(xiàn)與其他工具的交互操作。改進(jìn)點(diǎn)包括與 CI/CD 和 GitOps 更靈活的集成,以及對 Python 和 Java 語言更好地支持。

此外,Skaffold 在 Beta 版本中有一個新的操作模式 skaffold debug。在這種新模式下,配置應(yīng)用程序運(yùn)行時,實(shí)現(xiàn)自動遠(yuǎn)程調(diào)試。這個功能在微服務(wù)環(huán)境下,使用遠(yuǎn)程操控集群時,應(yīng)用傳統(tǒng)的調(diào)試器比較困難。如果用戶在這方面遇到麻煩,可以查看一下類似于 Rookout 這樣的不間斷調(diào)試器。

https://skaffold.dev/docs/workflows/debug/?fileGuid=vrvQpyxYcpQJt6YG

地址:https://skaffold.dev/

寫在最后:

在打包、部署和共享眾人皆知的 Kubernetes 應(yīng)用程序清單方面,我們可以明顯看到,市場在整合。CNCF 在這方面做的非常好,具有很多目前為止看來很先進(jìn)的工具,其中包括 Helm(CNCF 的一個官方項(xiàng)目)、集成到 kubectl 中的 Kustomize 和許多其他工具。像 Kubernetes 系統(tǒng)的其他部分一樣,這方面的工具目前做得已經(jīng)非常成熟了,且每個工具都有其各自的特點(diǎn)。使用 Helm 打包、共享和安裝定義完備的 Kubernetes 應(yīng)用程序。使用 Kustomize 補(bǔ)丁修改現(xiàn)有的 Kubernetes 應(yīng)用程序。Skaffold 這個工具也很有用(也很受歡迎),但配置 Kubernetes 應(yīng)用程序并不是它的主要功能。

原文鏈接:https://dzone.com/articles/developer-tooling-for-kubernetes-in-2021-helm-kust?fileGuid=vrvQpyxYcpQJt6YG

來源:Cloud Zone ,作者:Liran Haimovitch(Rookout 公司 CTO)如侵刪!



標(biāo)簽:
欧美性大战XXXXX久久久√,国产无遮挡裸体免费视频网站 ,久99久女女精品免费观看69堂,五月综合激情婷婷六月,国自产精品手机在线观看视频,欧美色爱综合网,国产精品三级国产AV,免费黄色高清无码,**a免费视频毛片,亚洲AV永久无码精品无码四虎
国产美女裸体无遮挡免费视频 | 岛国aaaa级午夜福利片| 91国在线国内在线播放| 天天做天天爱夜夜爽| 伊人久久五月丁香综合中文亚洲| 亚洲伊人久久久综合| 久久精品国产清高在天天线| 在线精品国产导航| 精品国精品自拍自在线| 伊人丁香狠狠色综合久久| 人人妻人人妻人人片色AV| 久久久亚洲精品动漫无码| 久久久久久久成人A片免费| 国产乱了BBW| 最新国产精品自拍| 精品福利久久久| 亚洲合集综合久久性色| 国产成人AV电影在线观看第一页| 与丰满少妇做爽视频| 男人的天堂AV色欲网免费| chinese国产高清av内谢| 日本伦理中文字幕| 国产午夜精品免费一区二区三区| 国产成人精品三级在线观看| 伊人久久精品无码二区麻豆| 午夜性色福利在线播放| 性色av免费网站| 十八禁无码精品a∨在线观看| 无码人妻丰满熟妇区网站| AV黄在线播放| 无码囯产精品一区二区免费| 国产网站在线免费观看| 国产99视频精品免费视频76| 50岁人妻丰满熟妇ΑV无码区| 在线观看的AV网站| 中文字幕免费高清视频| 欧美亚洲国产精品久久高清| 久久只有精品视频| 亚洲国产精品无码专区| 无码一区二区三区网址| 色欲网天天无码av|