Kubernetes不是一個島嶼,為了支持生產(chǎn)級部署,需要許多可移動的工具和框架本文,將介紹幾款可以最大化發(fā)揮K8s效用的工具和框架。
Kubernetes工具和框架是發(fā)揮Kubernetes技術的重要組成部分,可幫助滿足各種需求并增強你的體驗,因此在做技術選型的時候,我們需要選擇一個最優(yōu)的工具、最穩(wěn)的框架。
本文,將介紹幾款可以最大化發(fā)揮K8s效用的工具和框架。
編輯搜圖
1. Istio
Istio是Kubernetes中最受歡迎的服務網(wǎng)格工具,既開源、功能又很強大,它的獨特之處在于它提供了巨大的靈活性,而沒有通常的復雜性,除此之外,Istio 還有著其他更加關鍵的設計目標,這些目標對于使系統(tǒng)能夠應對大規(guī)模流量和高性能地服務處理至關重要。
編輯搜圖
Isito的核心功能大致有5點:流量管理、安全、可觀察性、平臺獨立、集成和定制,相比其他 Service Mesh工具,我們用一張圖說明Istio所存在的優(yōu)勢。
編輯搜圖
由此可見,Istio 作為目前眾多 Service Mesh 中最閃耀的新星,并不奇怪。
2. Knative
Knative是谷歌發(fā)起的一個Serverless開源解決方案,官方給它的定位是“基于Kubernetes的平臺,用來構建、部署和管理現(xiàn)代Serverless工作負載”。
編輯搜圖
通過Knative可將云原生應用開發(fā)在三個領域的最佳實踐結(jié)合起來,這三個領域的最佳實踐是指服務構建部署的自動化、服務編排的彈性化以及事件驅(qū)動基礎設施的標準化。它既可以以托管服務形式運行在公有云中,也可以部署在企業(yè)內(nèi)部的數(shù)據(jù)中心,從而很好地解決多云部署以及供應商鎖定的問題。
Knative是一個云原生Serverless框架,可以運行任何無狀態(tài)容器應用。目前成為云原生計算基金會一部分的首批無服務器平臺之一。
3. Tekton
Tekton是一種適用于創(chuàng)建持續(xù)集成和持續(xù)部署/交付(CI/CD)系統(tǒng)的谷歌開源的Kubernetes原生框架,原本是Knative項目里的一個子項目,后來成長為一個通用的框架,能夠提供靈活強大的能力去做基于Kubernetes的構建發(fā)布。
編輯搜圖
它支持多云/多集群下進行搭建、測試和部署,可實現(xiàn)滾動部署、藍/綠部署、金絲雀部署或 GitOps 工作流等高級部署。阿里就選擇Tekton之上構建應用交付體系。
目前,Jenkins 的子項目 JenkinsX 也開始默認使用 Tekton 作為 CI 引擎。使用云原生一等公民 CRD + Controller 實現(xiàn)的 Tekton ,無疑有機會成為云原生的主流編排引擎。
4. ArgoCD
Argo CD 是一個為 Kubernetes 而生的,遵循聲明式 GitOps 理念的持續(xù)部署(CD)工具,它的配置和使用非常簡單,并且自帶一個簡單易用的 Dashboard 頁面,并且支持多種配置管理/模板工具。
該功能集雖然側(cè)重于應用程序部署的管理,但是卻非常出色,功能十分豐富,與Kubernetes的集成完美無瑕。根據(jù)文檔,它可以處理:
-
Kustomize應用程序
-
Helm Charts
-
Ksonnet應用
-
YAML/JSON清單目錄,包含Jsonnet
-
配置管理插件配置的任何自定義配置管理工具
Kubernetes不是一個島嶼,為了支持生產(chǎn)級部署,需要許多可移動的工具和框架。但對于IT人來說,如何精準應用這些工具和框架,才是自我能力的證明。
Kubernetes不是一個島嶼,為了支持生產(chǎn)級部署,需要許多可移動的工具和框架本文,將介紹幾款可以最大化發(fā)揮K8s效用的工具和框架。
Kubernetes工具和框架是發(fā)揮Kubernetes技術的重要組成部分,可幫助滿足各種需求并增強你的體驗,因此在做技術選型的時候,我們需要選擇一個最優(yōu)的工具、最穩(wěn)的框架。
本文,將介紹幾款可以最大化發(fā)揮K8s效用的工具和框架。
編輯搜圖
1. Istio
Istio是Kubernetes中最受歡迎的服務網(wǎng)格工具,既開源、功能又很強大,它的獨特之處在于它提供了巨大的靈活性,而沒有通常的復雜性,除此之外,Istio 還有著其他更加關鍵的設計目標,這些目標對于使系統(tǒng)能夠應對大規(guī)模流量和高性能地服務處理至關重要。
編輯搜圖
Isito的核心功能大致有5點:流量管理、安全、可觀察性、平臺獨立、集成和定制,相比其他 Service Mesh工具,我們用一張圖說明Istio所存在的優(yōu)勢。
編輯搜圖
由此可見,Istio 作為目前眾多 Service Mesh 中最閃耀的新星,并不奇怪。
2. Knative
Knative是谷歌發(fā)起的一個Serverless開源解決方案,官方給它的定位是“基于Kubernetes的平臺,用來構建、部署和管理現(xiàn)代Serverless工作負載”。
編輯搜圖
通過Knative可將云原生應用開發(fā)在三個領域的最佳實踐結(jié)合起來,這三個領域的最佳實踐是指服務構建部署的自動化、服務編排的彈性化以及事件驅(qū)動基礎設施的標準化。它既可以以托管服務形式運行在公有云中,也可以部署在企業(yè)內(nèi)部的數(shù)據(jù)中心,從而很好地解決多云部署以及供應商鎖定的問題。
Knative是一個云原生Serverless框架,可以運行任何無狀態(tài)容器應用。目前成為云原生計算基金會一部分的首批無服務器平臺之一。
3. Tekton
Tekton是一種適用于創(chuàng)建持續(xù)集成和持續(xù)部署/交付(CI/CD)系統(tǒng)的谷歌開源的Kubernetes原生框架,原本是Knative項目里的一個子項目,后來成長為一個通用的框架,能夠提供靈活強大的能力去做基于Kubernetes的構建發(fā)布。
編輯搜圖
它支持多云/多集群下進行搭建、測試和部署,可實現(xiàn)滾動部署、藍/綠部署、金絲雀部署或 GitOps 工作流等高級部署。阿里就選擇Tekton之上構建應用交付體系。
目前,Jenkins 的子項目 JenkinsX 也開始默認使用 Tekton 作為 CI 引擎。使用云原生一等公民 CRD + Controller 實現(xiàn)的 Tekton ,無疑有機會成為云原生的主流編排引擎。
4. ArgoCD
Argo CD 是一個為 Kubernetes 而生的,遵循聲明式 GitOps 理念的持續(xù)部署(CD)工具,它的配置和使用非常簡單,并且自帶一個簡單易用的 Dashboard 頁面,并且支持多種配置管理/模板工具。
編輯搜圖
該功能集雖然側(cè)重于應用程序部署的管理,但是卻非常出色,功能十分豐富,與Kubernetes的集成完美無瑕。根據(jù)文檔,它可以處理:
-
Kustomize應用程序
-
Helm Charts
-
Ksonnet應用
-
YAML/JSON清單目錄,包含Jsonnet
-
配置管理插件配置的任何自定義配置管理工具
Kubernetes不是一個島嶼,為了支持生產(chǎn)級部署,需要許多可移動的工具和框架。但對于IT人來說,如何精準應用這些工具和框架,才是自我能力的證明。