Kuma是什么? Kuma1.0 GA 发布了包含70+新特性和改进
Kuma是什么? Kuma1.0 GA 發布了包含70+新特性和改進
2020年11月17日 Kuma 1.0 GA 發布了,這是一個可以在生產環境中使用和部署的版本,可以運行在多個集群、云(包括Kubernetes和基于VM虛擬機)上;為應用程序創建先進的分布式服務網格(service meshes)
1. Kuma 是什么
Kuma是一個與平臺無關的開源服務網格和微服務控制平臺。它可以在Kubernetes和VM虛擬機環境中運行和操作,這樣在云環境和非云環境都可以使用Kuma來構建服務網絡
Kuma是一個CNCF孵化項目,開源且與供應商無關,不會導致鎖定在某個云廠商的情況
Kuma架構圖如下:
在Envoy作為數據控制臺基礎上,Kuma可以感知任何L4/L7流量,可以對流量進行監控、路由和增強任何服務或數據庫之間的連接安全性。它可以在Kubernetes中通過CRDs或RESTful API使用,可以跨其他環境(如VM虛擬機和物理機)使用
Kuma在開發過程中,吸取了來自100多個企業組織的反饋意見,使他與其它服務網絡實現有以下不同:
-
通用性:Kuma可以運行在任何平臺上,包括Kubernetes和VM虛擬機以及兩者的混合環境中,或者物理機上
-
簡單:為了部署和使用,Kuma為各種用例提供了易于使用的策略
-
可伸縮性:Kuma支持多租戶、基于屬性的策略和可伸縮的多集群支持
-
Envoy-based: Kuma構建在Envoy之上,Envoy是服務網最受歡迎的代理層
2. 什么是Service Mesh服務網絡
服務網格是一種技術模式,它實提供一種更好的方式來構建應用程序的不同服務之間的網絡連接。一般情況下通常在微服務上下文中使用較多主要為微服務之間調用提供網絡服務;在云原生環境下它也可以用于容器和VM虛擬機之間的網絡管理
當一個服務需要通過網絡訪問另一個服務時,例如一個巨石服務訪問數據庫或者微服務之間的互相調用,通常這些服務之間的連接是不可靠的,網絡可能會很慢,不安全,網絡調用之間沒有日志監控
為了解決網絡通訊之間的安全性,日志監控和可靠性問題,我們有兩種方式解決:
-
擴展了應用程序;但是隨著時間的推移,這產生了技術債,除了應用程序交付給最終用戶的業務邏輯之外,還需要維護更多的基礎架構非功能代碼。當更多的團隊試圖在不同的技術堆棧上處理相同的關注點時,它還會產生碎片和安全問題。
-
我們把網絡管理委托給其他的基礎設施服務來替我們完成。例如,類似于運行在同一底層主機上的進程外代理。我們只要付出服務和本地代理之間略微增加的延遲成本外,就可以擁有安全的,可靠的的,可管理監控的服務網絡;這極大的提高了開發效率和可可管理性
3. 在macOS 上安裝Kuma
要在macOS上安裝和運行Kuma,請執行以下步驟:
- 下載 Kuma
- 運行 Kuma
- 啟動 Kuma
3.1 下載 Kuma
要在macOS上運行Kuma,您可以選擇不同的下載方法:
-
運行以下腳本自動檢測操作系統和下載Kuma:
$ curl -L https://kuma.io/installer.sh | sh - -
手動下載安裝包
點擊下載Kuma
解壓包:
$ tar xvzf kuma-1.0.1*.tar.gz -
使用Homebrew 安裝kumactl
$ brew install kumactl
3.2 運行Kuma
下載完成后,您會在Kuma-1.0.1文件夾中找到Kuma的相關文件。在這個文件夾中,Kuma所有可執行文件放在bin目錄中。
進入bin 目錄:
$ cd kuma-1.0.1/bin啟動kuma :
$ ./kuma-cp run上面的例子使用了Kuma的standalone部署模式,Kuma還有另一種multi-zone部署模式
添加kumactl到PATH路徑中:
ln -s ./kumactl /usr/local/bin/kumactl注意:默認情況下,Kuma的配置保存在內存中,但是你可以通過修改conf/Kuma-cp.conf文件來使用像PostgreSQL這樣的持久性存儲持久化配置信息
3.3 使用Kuma
目前Kuma已經安裝完成并且運行在你的電腦上了,下面可以通過GUI, HTTP API, 或者CLI來訪問Kuma控制平臺
-
通過GUI來查看Kuma資源
Kuma提供了一個只讀GUI,您可以使用它來檢索Kuma資源。默認情況下,GUI監聽API端口,默認地址為:5681/GUI。
要訪問Kuma,可以打開瀏覽器訪問http://127.0.0.1:5681/gui來查看Kuma資源
-
通過HTTP API 來查看管理Kuma
Kuma提供了一個讀/寫HTTP API,您可以使用它對Kuma資源執行操作。默認情況下,HTTP API在端口5681上監聽
打開瀏覽器訪問http://127.0.0.1:5681 可以看到HTTP API 內容
-
通過kumactl來管理Kuma資源
kumactl二進制文件是Kuma HTTP API的客戶端,它提供的功能與HTTP API一致的功能
$ kumactl get meshes NAME mTLS METRICS LOGGING TRACING default off off off off可以通過kumactl管理遠程Kuma實例:
$ kumactl config control-planes add --name=XYZ --address=http://{address-to-kuma}:5681
詳細的使用介紹可以參考 quickstart guide for Universal
4. 結論
本文介紹了服務網絡的概念以及服務網絡的控制平臺Kuma ,更詳細的信息請訪問Kuma網站
總結
以上是生活随笔為你收集整理的Kuma是什么? Kuma1.0 GA 发布了包含70+新特性和改进的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用Docker 基于Uptime Ku
- 下一篇: java小红球下载_小红球闯关下载_小红