Kuma 1.0 版本正式發(fā)布
Kuma 1.0(https://kuma.io)版本已經(jīng) GA 了,包含了 70 多種新功能和改進。Kuma 是一個現(xiàn)代的通用服務網(wǎng)格控制平面,基于 Envoy 搭建,Envoy 是一個為云原生應用設計的強大的代理軟件。
Kuma 高效的數(shù)據(jù)平面和先進的控制平面,極大地降低了各團隊使用的難度,可以在包括 Kubernetes、虛擬機、容器、裸機和傳統(tǒng)環(huán)境在內(nèi)的任意平臺上運行,以落實整個組織中的云原生體驗。
安裝
我們可以直接使用 Helm 來安裝 kuma,首先添加 Helm 的 Chart 倉庫:
$?helm?repo?add?kuma?https://kumahq.github.io/charts
$?helm?repo?update
創(chuàng)建一個名為 kuma-system 的命名空間,然后直接使用 helm 安裝:
$?kubectl?create?namespace?kuma-system
$?helm?install?--namespace?kuma-system?kuma?kuma/kuma
NAME:?kuma
LAST?DEPLOYED:?Sat?Nov?21?10:12:45?2020
NAMESPACE:?kuma-system
STATUS:?deployed
REVISION:?1
TEST?SUITE:?None
NOTES:
The?Kuma?Control?Plane?has?been?installed!
You?can?access?the?control-plane?via?either?the?GUI,?kubectl,?the?HTTP?API,?or?the?kumactl?CLI.
安裝完成后會在 kuma-system 命名空間下面運行一個控制平面的 Pod:
$?kubectl?get?pods?-n?kuma-system
NAME??????????????????????????????????READY???STATUS????RESTARTS???AGE
kuma-control-plane-68d584cfcc-qwfhk???1/1?????Running???0??????????111m
示例
然后我們可以使用 kuma 提供的示例應用來測試:
$?kubectl?apply?-f?https://bit.ly/demokuma
namespace/kuma-demo?created
deployment.apps/postgres-master?created
service/postgres?created
deployment.apps/redis-master?created
service/redis?created
service/backend?created
deployment.apps/kuma-demo-backend-v0?created
deployment.apps/kuma-demo-backend-v1?created
deployment.apps/kuma-demo-backend-v2?created
service/frontend?created
deployment.apps/kuma-demo-app?created
該示例會創(chuàng)建一個新的 kuma-demo 命名空間,其中包含示例應用的幾個服務:
frontend:這個 web 應用的入口點服務 backend:支持前端服務的后端組件 postgres:儲存 marketplace 項目的數(shù)據(jù)庫 redis:存儲評論的后端存儲
部署完成后我們可以使用下面的命令來訪問應用:
$?kubectl?port-forward?svc/frontend?-n?kuma-demo?8080:8080
由于上面的演示應用已經(jīng)在 kuma-demo 命名空間上啟用了 kuma.io/sidecar-injection 注解,所以 Kuma 已經(jīng)知道它需要向每個 Kubernetes Pod 中自動注入一個 sidecar 代理。
apiVersion:?v1
kind:?Namespace
metadata:
??name:?kuma-demo
??namespace:?kuma-demo
??annotations:
????kuma.io/sidecar-injection:?enabled
查看部署的應用 Pod 可以看到都是兩個容器:
$?kubectl?get?pods?-n?kuma-demo
NAME????????????????????????????????????READY???STATUS????RESTARTS???AGE
kuma-demo-app-6787b4f7f5-4f9z5??????????2/2?????Running???0??????????24m
kuma-demo-backend-v0-56db47c579-4lgnf???2/2?????Running???0??????????24m
postgres-master-645bc44fd-5rjdq?????????2/2?????Running???0??????????24m
redis-master-55fd8f6f54-rbksl???????????2/2?????Running???0??????????24m
接下來我們就可以通過運行可視化的 sidecars 代理連接到 Kuma,Kuma 提供了一個只讀的 GUI,你可以用它來查看 Kuma 資源。默認情況下,GUI 監(jiān)聽 API 端口,默認為:5681/gui。
要訪問Kuma,我們需要首先用以下方式轉(zhuǎn)發(fā) API 服務。
kubectl?port-forward?svc/kuma-control-plane?-n?kuma-system?5681:5681
Forwarding?from?127.0.0.1:5681?->?5681
Forwarding?from?[::1]:5681?->?5681
在瀏覽中輸入 http://127.0.0.1:5681/gui 即可訪問了:
可以看到已經(jīng)自動讀取到了上面我們示例的幾個應用:
訓練營推薦

?點擊屏末?|?閱讀原文?|?即刻學習




