自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Kubernetes 應(yīng)用程序部署工具概覽

開(kāi)發(fā) 開(kāi)發(fā)工具
將應(yīng)用程序部署到 Kubernetes 就像在 yaml 或 json 中編寫(xiě)一些資源定義并將其與 kubectl 一起應(yīng)用一樣簡(jiǎn)單,但它也可以自動(dòng)化很多(并且很復(fù)雜)。

將應(yīng)用程序部署到 Kubernetes 就像在 yaml 或 json 中編寫(xiě)一些資源定義并將其與 kubectl 一起應(yīng)用一樣簡(jiǎn)單,但它也可以自動(dòng)化很多(并且很復(fù)雜)。

在應(yīng)用程序部署中,一個(gè)流行的方式是持續(xù)部署和GitOps的組合:每次更改源代碼后自動(dòng)部署資源。為了使你能夠使用 GitOps 將應(yīng)用程序部署到 Kubernetes,你需要做幾件事:

  • 容器鏡像構(gòu)建,用于將源代碼和本地依賴(lài)項(xiàng)構(gòu)建到容器鏡像中。
  • 資源模板,為你的環(huán)境自定義部署資源。
  • 軟件包管理,可將多個(gè)資源捆綁到版本發(fā)布中并管理軟件包依賴(lài)。
  • 持續(xù)部署,通常使用使用一系列步驟和階段對(duì)您的環(huán)境進(jìn)行新的更改。
  • 命令式部署,可通過(guò)編程方式管理復(fù)雜的服務(wù)生命周期,并減少手動(dòng)或脆弱的腳本化步驟。
  • 自動(dòng)縮放,可根據(jù)使用和消耗情況隨時(shí)對(duì)應(yīng)用進(jìn)行復(fù)制和資源分配。

在本文中,我列出了應(yīng)用程序生命周期管理中每個(gè)階段的許多工具(主流的和非主流的)。由于很難客觀(guān)地判斷受歡迎程度或成功程度,因此我嘗試對(duì)這些工具進(jìn)行注釋?zhuān)允蛊湟子诓榭茨男┐笮推髽I(yè)支持者已在這些項(xiàng)目上進(jìn)行了投資。請(qǐng)記住,大型的云計(jì)算支持者可能會(huì)進(jìn)行多項(xiàng)競(jìng)爭(zhēng)性投資,因此,僅僅因?yàn)樗鼡碛幸晃恢耐顿Y者,并不意味著它可以長(zhǎng)期生存和發(fā)展。

希望如下列表將為您尋找應(yīng)用程序部署問(wèn)題的解決方案提供一個(gè)起點(diǎn)。

容器鏡像構(gòu)建

  • Moby / buildkit(Docker)——用于將源代碼轉(zhuǎn)換為構(gòu)建包的工具。
  • kaniko(Google)——從容器或 Kubernetes 集群內(nèi)部的 Dockerfile 構(gòu)建容器鏡像的工具。
  • img(Jess Frazelle)——一個(gè)獨(dú)立的,無(wú)守護(hù)進(jìn)程的,無(wú)特權(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)——用于使用云原生構(gòu)建包來(lái)構(gòu)建應(yīng)用程序的 CLI 和服務(wù)。
  • Carvel / kbld(VMware/Pivotal)——一種用于構(gòu)建并推送鏡像到開(kāi)發(fā)和部署工作流中的服務(wù)。
  • Google Cloud Buildpacks(Google)——一種用于在 Google 云平臺(tái)運(yùn)行的構(gòu)建器和構(gòu)建包。
  • Makisu(Uber)——一種快速靈活的 Docker 鏡像構(gòu)建工具,可在 Mesos 和 Kubernetes 等無(wú)特權(quán)的容器化環(huán)境中使用。

資源模板

  • Helm(Microsoft,Google)——Kubernetes 軟件包管理器
  • Kustomize(Google,Apple)——一種用來(lái)自定義原始、無(wú)模板的 YAML 文件的CLI,使原始 YAML 保持不變并可以按原樣使用。
  • Carvel / ytt(VMware/Pivotal)——一種 YAML 模板工具,該工具可在 YAML 格式而非文本格式上運(yùn)行
  • jsonnet / go-jsonnet(Google)——一種JSON 模板語(yǔ)言。
  • gomplate(Dave Henderson)——一種用于 Golang 模板渲染的 CLI,支持本地和遠(yuǎn)程數(shù)據(jù)源。
  • Mustache(Github)——與框架無(wú)關(guān)的 JSON 模板引擎。

包管理器

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

持續(xù)部署

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

命令式部署

  • Kubebuilder(CNCF, Google,Apple,IBM/Red Hat)——一個(gè)使用 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)——一種基礎(chǔ)架構(gòu),像是 Code SDK,用于在任何云上使用容器,無(wú)服務(wù)器函數(shù),托管服務(wù)和基礎(chǔ)架構(gòu)來(lái)創(chuàng)建和部署云軟件。
  • Carvel / kapp / kapp-controller(VMware/Pivotal)——一個(gè) CLI 和 Kubernetes 控制器,用于安裝 App CRD 所述的配置(helm 圖表,ytt 模板,純 yaml)。
  • Isopod(Cruise)——在不使用 YAML 的情況下,用于 Kubernetes 資源配置的表達(dá)性 DSL 和框架。

自動(dòng)縮放

  • 水平 Pod 自動(dòng)縮放器(內(nèi)置)——Kubernetes 控制器會(huì)根據(jù)配置的指標(biāo)自動(dòng)縮放 replication controller,deployment,replica set 或 stateful set 中的pod數(shù)量。
  • 垂直 Pod 自動(dòng)縮放器 (Google) --- 一組 Kubernetes 組件,可自動(dòng)調(diào)整 Kubernetes 集群中運(yùn)行的 Pod 請(qǐng)求的 CPU 和內(nèi)存。
  • Addon Resizer (Google) --- 垂直 Pod 自動(dòng)縮放器的簡(jiǎn)化版本,可根據(jù) Kubernetes 集群中的節(jié)點(diǎn)數(shù)量修改部署的資源請(qǐng)求。
  • KEDA (Microsoft) --- 基于 Kubernetes 的事件驅(qū)動(dòng)自動(dòng)縮放組件。
  • Watermark Pod 自動(dòng)縮放器 (DataDog) --- 自定義控制器,用于擴(kuò)展水平 Pod 自動(dòng)縮放器(HPA)。
  • Pangolin (Damian Peckett) --- 用于 Kubernetes 的增強(qiáng)型水平 Pod 自動(dòng)縮放器,可使用各種高度可配置的控制策略,根據(jù) Prometheus 指標(biāo)擴(kuò)展部署。
  • 預(yù)測(cè)水平 Pod 自動(dòng)縮放器 (IBM) --- 一個(gè)可自定義的pod自動(dòng)縮放器,和水平Pod自動(dòng)縮放器類(lèi)似,但是加入了預(yù)測(cè)元素。
  • 水平 Pod 自動(dòng)縮放器操作員 (Banzai Cloud) --- 一個(gè) Kubernetes 控制器用來(lái)監(jiān)控 Deployments 或 StatefulSets,并且基于自動(dòng)縮放注解自動(dòng)創(chuàng)建水平 Pod 自動(dòng)縮放器資源。

最后

正如任何 DevOps 倡導(dǎo)者會(huì)告訴您的那樣,這與工具無(wú)關(guān),而與觀(guān)念有關(guān)。沒(méi)有一種工具可以給您帶來(lái)端到端的應(yīng)用程序生命周期管理體驗(yàn)?zāi)茏屇械綕M(mǎn)意,因?yàn)槊總€(gè)人都使用自己的排列工具,并與腳本和集成代碼耦合在一起。

您可以尋找能夠做好一件事的工具,它易于替換和擴(kuò)展,或者提供最大價(jià)值,更少管理,更易集成以及最佳端到端用戶(hù)體驗(yàn)的工具。沒(méi)有真正錯(cuò)誤的答案。

由于存在這些折衷,因此有必要查看每個(gè)項(xiàng)目的幕后人物,投資的公司數(shù)量以及該工具的受歡迎程度。擁有大型,多元化投資者的熱門(mén)工具在您使用它們時(shí)更有可能保持增長(zhǎng),而不是停滯不前并被拋棄,這需要您用自己的時(shí)間和精力替換工具或替換投資。

希望這種分類(lèi)法將很有用,并在您考慮選擇時(shí)為您提供一個(gè)起點(diǎn)。祝好運(yùn)!

我忘記了您最喜歡的工具嗎?發(fā)表評(píng)論或在 Twitter 上告訴我!

責(zé)任編輯:未麗燕 來(lái)源: Dockone.io
相關(guān)推薦

2020-11-25 15:49:38

Kubernetes程序技巧

2021-11-02 17:27:40

部署高可用Kubernetes

2009-08-05 10:16:54

部署ASP.NET應(yīng)用

2015-02-11 09:15:46

云部署嵌套虛擬化PaaS

2010-12-15 16:17:59

服務(wù)部署

2009-08-27 11:40:43

ibmdw云計(jì)算

2012-07-18 11:29:32

ibmdw

2018-12-28 14:10:57

開(kāi)發(fā)工具 移動(dòng)應(yīng)用

2024-03-05 08:00:00

人工智能Kuberneste

2020-09-18 07:00:00

Kubernetes應(yīng)用程序架構(gòu)

2020-01-03 14:03:46

云計(jì)算開(kāi)發(fā)云原生

2009-06-14 18:06:06

ibmdwWebSphere

2013-01-21 13:39:06

IBMdW

2023-10-25 10:46:56

Radius開(kāi)源

2009-12-23 10:29:01

WPF應(yīng)用程序

2014-05-22 10:03:29

2013-02-22 09:28:45

MEAP軟件移動(dòng)應(yīng)用開(kāi)發(fā)HTML5

2016-03-12 21:46:56

Inspeckage應(yīng)用程序動(dòng)態(tài)分析

2019-12-06 14:24:58

Kubernetes容器YAML

2023-05-25 16:20:03

Kubernetes集群
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)