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