日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
選型必看:Kubernetes應(yīng)用程序部署工具應(yīng)該選哪些?

將應(yīng)用程序部署到 Kubernetes 非常簡(jiǎn)單,只需要用 yaml 或 json 編寫(xiě)一些資源定義并將它們應(yīng)用到 kubectl 中就可以了,但要實(shí)現(xiàn)配置自動(dòng)化就相對(duì)復(fù)雜了。

創(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)定制、微信小程序開(kāi)發(fā)服務(wù),打造二道網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供二道網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

在應(yīng)用程序部署中,一個(gè)比較流行的做法是將持續(xù)部署和 GitOps 結(jié)合使用:每次對(duì)源代碼進(jìn)行更改后,資源都會(huì)自動(dòng)部署。如果想要使用 GitOps 將應(yīng)用程序部署到 Kubernetes,需要經(jīng)歷以下過(guò)程:

  • 容器映像構(gòu)建, 將源代碼和本地依賴關(guān)系構(gòu)建到容器映像中。
  • 資源模板, 為環(huán)境定制部署資源的資源模板。
  • 包管理, 將多個(gè)資源捆綁到版本發(fā)布中,并管理包依賴關(guān)系。
  • 持續(xù)部署, 通常通過(guò)一系列操作和步驟,對(duì)環(huán)境進(jìn)行更改。
  • 命令式部署, 以編程方式管理復(fù)雜的服務(wù)生命周期,并減少手動(dòng)或簡(jiǎn)單的腳本化步驟。
  • 自動(dòng)縮放, 根據(jù)資源使用情況和消耗情況,自動(dòng)縮放來(lái)管理應(yīng)用程序的響應(yīng)和資源分配。

在本文中,我介紹了 Kubernetes 應(yīng)用程序生命周期管理的各個(gè)階段可能會(huì)使用的一些工具(主流非主流的都有)。由于很難客觀地判斷工具的流行性和成熟度, 因此我對(duì)這些工具進(jìn)行了注釋,說(shuō)明了哪些大型公司對(duì)這些項(xiàng)目進(jìn)行了投資,供你參考判斷。不過(guò)請(qǐng)記住,大公司對(duì)一個(gè)項(xiàng)目通??赡軙?huì)做多個(gè)競(jìng)爭(zhēng)性投資,因此,僅僅因?yàn)轫?xiàng)目擁有一位知名的投資者,并不能得出它可以長(zhǎng)期生存和發(fā)展的結(jié)論。

希望此列表可以在你尋找應(yīng)用程序部署問(wèn)題解決方案時(shí)提供一些幫助。

1. 容器鏡像構(gòu)建

  • Moby /buildkit (Docker) ——用于將源代碼轉(zhuǎn)換為構(gòu)建工件的工具包。
  • kaniko(Google)—— 在容器或 Kubernetes 集群中從 Dockerfile 構(gòu)建容器映像的工具。
  • img(Jess Frazelle) ——一個(gè)獨(dú)立的,沒(méi)有守護(hù)進(jìn)程,非特權(quán)模式的 Dockerfile 和 OCI 兼容的容器映像構(gòu)建器。
  • buildah (IBM/Red Hat)——用于構(gòu)建開(kāi)放式容器計(jì)劃 (OCI) 容器映像的工具。
  • Source-To-Image(IBM/Red Hat)——用于從源構(gòu)建工件并注入容器映像的工具。
  • Tanzu Build Service/kpack /pack (VMware/Pivotal) ——使用 Cloud Native Buildpacks 構(gòu)建應(yīng)用程序的 CLI 和服務(wù)。
  • Carvel /kbld (VMware/Pivotal)——用于構(gòu)建映像并將其推入開(kāi)發(fā)和部署工作流的服務(wù)。
  • Google Cloud Buildpacks(Google)——為運(yùn)行在谷歌云的容器平臺(tái)而設(shè)計(jì)的構(gòu)建器和構(gòu)建包。
  • Makisu (Uber) ——快速而靈活的 Docker 鏡像構(gòu)建工具,可以在 Mesos 和 Kubernetes 等非特權(quán)的容器環(huán)境中工作。

2. 資源模板

  • Helm(Microsoft, Google) ——Kubernetes 包管理器。
  • Kustomize(Google, Apple)——用于定制原始的、無(wú)模板的 YAML 文件的 CLI,使原始的 YAML 保持原樣并保持可用。
  • Carvel /ytt (VMware/Pivotal)——基于 YAML 結(jié)構(gòu)的 YAML 模板工具。
  • jsonnet/go-jsonnet(Google) ——JSON 模板語(yǔ)言。
  • gomplate(Dave Henderson) ——用于 golang 模板渲染的 CLI,支持本地和遠(yuǎn)程數(shù)據(jù)源。
  • Mustache (Github) ——與框架無(wú)關(guān)的 JSON 模板引擎。

3. 包管理

  • Helm(Microsoft, Google) ——一個(gè) Kubernetes 包管理器。
  • Cloud Native Application Bundles (CNAB)/Porter/Duffle(Microsoft/Deis, Docker)——這是一個(gè)用于管理云無(wú)關(guān)的分布式應(yīng)用程序的包格式規(guī)范、打包器和安裝程序。

4. 持續(xù)部署

  • Spinnaker(Netflix, Google) ——多云持續(xù)交付平臺(tái),用于快速高質(zhì)量迭代發(fā)布軟件變更。
  • Terraform Kubernetes Provider (Hashicorp) ——一個(gè) Terraform 插件,支持 Kubernetes 資源的完整生命周期管理。
  • Concourse (VMware/Pivotal)——一個(gè)基于容器的連續(xù)事務(wù)處理程序,用 Go 和 Elm 編寫(xiě)。
  • JenkinsX(CloudBees)—— 用于 Kubernetes 的自動(dòng)化 CI / CD,提供使用 Tekton、Knative、Lighthouse、Skaffold 和 Helm 的 pull 請(qǐng)求預(yù)覽環(huán)境
  • Argo CD(Intuit)—— 用于 Kubernetes 的高效 GitOps 持續(xù)交付工具。
  • Tekton/Tekton Pipelines(Google) ——一個(gè) Kubernetes 控制器, 提供 CI / CD 樣式的管道資源。
  • Cloud Build(Google)——在谷歌云平臺(tái)基礎(chǔ)設(shè)施上執(zhí)行構(gòu)建的服務(wù)。
  • Skaffold(Google)——促進(jìn) Kubernetes 應(yīng)用程序持續(xù)開(kāi)發(fā)的 CLI。
  • Azure DevOps/Azure Pipelines(Microsoft) ——一種云服務(wù),它可以自動(dòng)構(gòu)建和測(cè)試項(xiàng)目的代碼,并將其提供給其他用戶。
  • Brigade(Microsoft) —— Kubernetes 的基于事件的腳本。
  • Habitat/habitat-operator(Chef) ——Kubernetes 控制器,在 Kubernetes 上運(yùn)行和管理 Habitat 服務(wù)。
  • gitkube(Hasura) ——使用 git push 在 Kubernetes 上構(gòu)建和部署 Docker 鏡像的工具。

5. 命令式部署

  • Kubebuilder(CNCF, Google, Apple, IBM/Red Hat) ——用于使用 CRD 構(gòu)建 Kubernetes API(以及控制器和操作符) 的 SDK。
  • Operator Framework/Operator SDK(IBM/Red Hat/CoreOS) ——用于構(gòu)建 Kubernetes 應(yīng)用程序操作符的 SDK。
  • KUDO(D2IQ) ——使用聲明式方法構(gòu)建生產(chǎn)級(jí) Kubernetes 操作符的框架。
  • Pulumi(Pulumi)——可以作為代碼 SDK 的基礎(chǔ)設(shè)施,用于在各種云上創(chuàng)建和部署使用容器、無(wú)服務(wù)器功能、托管服務(wù)和基礎(chǔ)架構(gòu)的云軟件。
  • Carvel/kapp/kapp-controller(VMware/Pivotal)——CLI 和 Kubernetes 控制器,用于安裝應(yīng)用程序 CRD 所描述的配置 (helm 圖表, ytt 模板,yaml 文件)。
  • Isopod(Cruise)——在沒(méi)有 YAML 的情況下,用于 Kubernetes 資源配置的表達(dá)性 DSL 和框架。

6. 自動(dòng)縮放

  • Horizontal Pod Autoscaler(built-in)—— Kubernetes 控制器,它根據(jù)配置的指標(biāo)自動(dòng)伸縮復(fù)制控制器、部署、復(fù)制集或有狀態(tài)集中的 Pods 數(shù)量。
  • Vertical Pod Autoscaler(Google)——一組 Kubernetes 組件,自動(dòng)調(diào)整運(yùn)行在 Kubernetes 集群中的 pods 請(qǐng)求的 CPU 和內(nèi)存數(shù)量。
  • Addon Resizer(Google) ——垂直 Pod 自動(dòng)調(diào)用器的簡(jiǎn)化版本,它根據(jù) Kubernetes 集群中的節(jié)點(diǎn)數(shù)量修改部署的資源請(qǐng)求。
  • KEDA(Microsoft)——一個(gè)基于 kubernet 的事件驅(qū)動(dòng)的自動(dòng)縮放組件。
  • Watermark Pod Autoscaler Controller(DataDog) ——擴(kuò)展了 Horizontal Pod Autoscaler (HPA) 的自定義控制器。
  • Pangolin(Damian Peckett)—— 針對(duì) Kubernetes 的一個(gè)增強(qiáng)的 Horizontal Pod Autoscaler,它基于 Prometheus 指標(biāo)來(lái)擴(kuò)展部署,使用各種高度可配置的控制策略。
  • Predictive Horizontal Pod Autoscaler(IBM) —— 自定義 Pod Autoscaler,類似于 Horizontal Pod Autoscaler,但是添加了預(yù)測(cè)元素。
  • Horizontal Pod Autoscaler Operator(Banzai Cloud)——Kubernetes 控制器,它監(jiān)視部署或狀態(tài)集,并基于 autoscale 注釋自動(dòng)創(chuàng)建 Horizontal Pod Autoscaler 資源。

7. 寫(xiě)在最后

正如 DevOps 倡導(dǎo)者宣揚(yáng)的那樣:這與工具無(wú)關(guān),而與觀念有關(guān)。沒(méi)有一個(gè)工具能給你帶來(lái)讓你興奮的全生命周期端到端管理體驗(yàn),因?yàn)槊糠N工具都有他們自己的工具組合,通過(guò)與腳本和集成代碼配合完成工作。

你可以找到能夠很好地完成一件事情的工具,易于替換和擴(kuò)展,也可以選擇為你提供最大性價(jià)比的工具,讓你更容易對(duì)項(xiàng)目進(jìn)行管理,集成成本也更低,同時(shí)還擁有較好的端到端用戶體驗(yàn)。以上的選擇都沒(méi)有什么錯(cuò)。

權(quán)衡這些因素后,你還需要看看這些項(xiàng)目背后的大佬,它是哪家公司投資的、項(xiàng)目的流行度如何?那些擁有大型公司或者有著多樣化投資者的主流工具更具有持續(xù)成長(zhǎng)性。不然,你選擇后,項(xiàng)目不更新或者被拋棄了,那你只能花自己的時(shí)間和精力來(lái)維護(hù)這些工具了。


網(wǎng)頁(yè)標(biāo)題:選型必看:Kubernetes應(yīng)用程序部署工具應(yīng)該選哪些?
URL分享:http://www.dlmjj.cn/article/dhpjphi.html