Linux Mac 安裝Higress 平替 Spring Cloud Gateway

Linux Mac 安裝Higress 平替 Spring Cloud Gateway

    • Higress是什么?
    • 傳統網關分類
    • Higress定位
    • 下載安裝包
    • 執行安裝命令
      • 執行腳本
    • 安裝成功
    • 打開管理界面
    • 使用方法
      • configure.sh
      • reset.sh
      • startup.sh
      • shutdown.sh
      • status.sh
      • logs.sh

Higress官網

Higress是什么?

Higress是基于阿里內部的Envoy Gateway實踐沉淀、以開源Istio + Envoy為核心構建的云原生API網關,實現了流量網關 + 微服務網關 + 安全網關三合一的高集成能力,深度集成Dubbo、Nacos、Sentinel等微服務技術棧,能夠幫助用戶極大的降低網關的部署及運維成本且能力不打折;在標準上全面支持Ingress與Gateway API,積極擁抱云原生下的標準API規范;同時,Higress Controller也支持Nginx Ingress平滑遷移,幫助用戶零成本快速遷移到Higress。

image

傳統網關分類

行業中通常把網關分為兩個大類:流量網關與業務網關,流量網關主要提供全局性的、與后端業務無關的策略配置,例如阿里內部的的統一接入網關Tengine就是典型的流量網關;業務網關顧名思義主要提供獨立業務域級別的、與后端業務緊耦合策略配置,隨著應用架構模式從單體演進到現在的分布式微服務,業務網關也有了新的叫法 - 微服務網關(圖示說明如下)。在目前容器技術與K8s主導的云原生時代,下一代網關模式依然是這樣嗎?

image

Higress定位

在虛擬化時期的微服務架構下,業務通常采用流量網關 + 微服務網關的兩層架構,流量網關負責南北向流量調度和安全防護,微服務網關負責東西向流量調度和服務治理,而在容器和 K8s 主導的云原生時代,Ingress 成為 K8s 生態的網關標準,賦予了網關新的使命,使得流量網關 + 微服務網關合二為一成為可能。

作為面向南北向的公網網關,使用Waf防護異常流量是很常規的需求,而且隨著互聯網環境變得越來越復雜,用戶對防護的訴求是持續增強的,常規做法是將流量先接入Waf安全網關,過濾后再將流量轉發給流量網關,最后到達微服務網關;Higress希望通過內置Waf模塊,使得用戶的請求鏈接只經過Higress就可以同時完成Waf防護、流量分發、微服務治理,既可以降低鏈路RT,也可以降低網關的運維復雜度。因此Higress實現了流量網關 + 微服務網關 + 安全網關三合一的高集成能力。

image

如上圖所示,① 在傳統的虛擬化部署中,微服務通常選擇使用 Spring Cloud Gateway 作為業務網關,而nginx則作為前置流量網關。

② 在容器和K8s主導的云原生時代,Ingress 成為 K8s 生態的網關標準,賦予了網關新的使命,使得流量網關和微服務網關的合并成為可能。

③ Higress 是基于阿里內部構建的下一代云原生網關,實現了流量調度 + 服務治理 + 安全防護三合一的高集成能力,并深度集成了Dubbo、Nacos、Sentinel等微服務技術棧。

下載安裝包

獲取本案例代碼

公粽號:一顆星宇宙

發送higress獲取

image-20240709191532999

執行安裝命令

執行腳本

./bin/configure.sh -a

image-20240709185606612

輸入相關的配置信息

…………等待安裝

image-20240709185650361

安裝成功

image-20240709185741802

打開管理界面

瀏覽器輸入:ip:port

image-20240709185852928

第一次打開需要初始化賬號信息

提交后會跳轉登錄頁面,登錄成功進入管理界面

image-20240709185956569

使用方法

在 bin 目錄中存放有 Higress 獨立運行版所需的各種操作腳本。本節將介紹各個腳本的具體功能和使用方法。

configure.sh

初始化 Higress 的配置,包括依賴的 Nacos 配置服務、各個組件的啟動配置、Console 的初始管理員密碼等等。

參數列表:

  • -a, --auto-start

    配置完成后自動啟動。

  • -c, --config-url=URL

    配置服務的 URL。

    • 若使用獨立部署的 Nacos 服務,URL 格式為:nacos://192.168.0.1:8848
    • 若在本地磁盤上保存配置,URL 格式為:file:///opt/higress/conf
  • –use-builtin-nacos

    使用內置的 Nacos 服務。不建議用于生產環境。如果設置本參數,則無需設置 -c 參數

  • –nacos-ns=NACOS-NAMESPACE

    用于保存 Higress 配置的 Nacos 命名空間 ID。默認值為 higress-system

  • –nacos-username=NACOS-USERNAME

    用于訪問 Nacos 的用戶名。僅用于 Nacos 啟動了認證的情況下。

  • –nacos-password=NACOS-PASSWORD

    用于訪問 Nacos 的用戶密碼。僅用于 Nacos 啟動了認證的情況下。

  • -k, --data-enc-key=KEY

    用于加密敏感配置數據的密鑰。長度必須為 32 個字符。若未設置,Higress 將自動生成一個隨機的密鑰。若需集群部署,此項必須設置。

  • –nacos-port=NACOS-PORT

    內置 NACOS 服務在服務器本地監聽的端口。默認值為 8848。

  • –gateway-http-port=GATEAWY-HTTP-PORT

    Higress Gateway 在服務器本地監聽的 HTTP 端口。默認值為 80。

  • –gateway-https-port=GATEWAY-HTTPS-PORT

    Higress Gateway 在服務器本地監聽的 HTTPS 端口。默認值為 443。

  • –gateway-metrics-port=GATEWAY-METRIC-PORT

    Higress Gateway 在服務器本地監聽的用于暴露運行指標端口。默認值為 15020。

  • –console-port=CONSOLE-PORT

    Higress Console 在服務器本地監聽的端口。默認值為 8080。

  • -r, --rerun

    在 Higress 已配置完成后重新執行配置流程。

  • -h, --help

    顯示幫助信息。

reset.sh

重置 Higress 配置至原始狀態。已啟動的 Higress 服務也將被中止。

startup.sh

啟動 Higress 服務。

shutdown.sh

關閉運行中的 Higress 服務。

status.sh

查看 Higress 各組件的運行狀態。

輸出示例:

$ ./bin/status.sh
NAME                   COMMAND                  SERVICE             STATUS              PORTS
higress-apiserver-1    "/apiserver --secure…"   apiserver           running (healthy)
higress-console-1      "/app/start.sh"          console             running             0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
higress-controller-1   "/usr/local/bin/higr…"   controller          running (healthy)
higress-gateway-1      "/usr/local/bin/pilo…"   gateway             running (healthy)   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
higress-nacos-1        "bin/docker-startup.…"   nacos               running (healthy)   0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp
higress-pilot-1        "/usr/local/bin/higr…"   pilot               running (healthy)
higress-precheck-1     "/bin/bash ./prechec…"   precheck            exited (0)

logs.sh

查看 Higress 各組件的運行日志。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42778.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42778.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42778.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue指令詳解與實操運用 - 編程魔法

在Vue.js的世界里,指令就像是一位魔法師,它們能夠賦予HTML元素以生命,讓網頁與用戶互動起來。今天,我們就來揭開這些指令的神秘面紗,看看它們是如何在我們的日常開發中發揮作用的。 1. v-text 和 v-html - 文字與內容的…

思考:Java內存模型和硬件內存模型

前言 前一陣在看volatile的原理,看到內存屏障和緩存一致性,發現再往底層挖就挖到了硬件和Java內存模型。這一塊是自己似懂非懂的知識區,我一般稱之為知識混沌區。因此整理這一篇文章。 什么是內存模型(Memory Model)…

CentOS6用文件配置IP模板

CentOS6用文件配置IP模板 到 CentOS6.9 , 默認還不能用 systemctl , 能用 service chkconfig sshd on 對應 systemctl enable sshd 啟用,開機啟動該服務 ### chkconfig sshd on 對應 systemctl enable sshd 啟用,開機啟動該服務 sudo chkconfig sshd onservice sshd start …

未羽研發測試管理平臺

突然有一些覺悟,程序猿不能只會吭哧吭哧的低頭做事,應該學會怎么去展示自己,怎么去宣傳自己,怎么把自己想做的事表述清楚。 于是,這兩天一直在整理自己的作品,也為接下來的找工作多做點準備。接下來…

LT7911UX 國產原裝 一拖三 edp 轉LVDS 可旋轉 可縮放

2.一般說明 該LT7911UX是一種高性能Type-C/DP1.4a到MIPI或LVDS芯片的VR/顯示應用。HDCP RX作為HDCP轉發器的上游,可以與其他芯片的HDCP TX配合實現轉發器功能。 對于DP1.4a輸入,LT7911UX可配置為1/2/4通道。自適應均衡使其適用于長電纜應用,最…

Junior.Crypt.2024 CTF Web方向 題解WirteUp 全

Buy a cat 題目描述:Buy a cat 開題 第一思路是抓包改包 Very Secure App 題目描述:All secrets become clear 開題 亂輸一個密碼就登陸成功了(不是弱口令) 但是回顯Your role is: user 但是有jwt!!&a…

深入理解基本數據結構:鏈表詳解

引言 在計算機科學中,數據結構是存儲、組織和管理數據的方式。鏈表是一種重要的線性數據結構,廣泛應用于各種編程場景。在這篇博客中,我們將詳細探討鏈表的定義、特點、操作及其在不同編程語言中的實現。 什么是鏈表? 鏈表是一種…

Mobile ALOHA前傳之VINN, Diffusion Policy和ACT對比

VINNDiffusion PolicyACT核心思想1.從離線數據中自監督學習獲得一個視覺編碼器;2.基于視覺編碼器,從采集的示例操作數據中檢索與當前觀測圖像最相似的N張圖像以及對應的動作;3.基于圖像編碼器的距離對各個動作進行加權平均,獲得最…

Open3D loss函數優化的ICP配準算法(精配準)

目錄 一、概述 1.1ICP的基本步驟 1.2損失函數的設計 二、代碼實現 2.1關鍵函數 2.2完整代碼 三、實現效果 3.1原始點云 3.2配準后點云 3.3計算數據 一、概述 ICP(Iterative Closest Point)配準算法是一種用于對齊兩個點云的經典算法。其目標是通過迭代優化…

Istio實戰教程:Service Mesh部署與流量管理

引言 Istio是一個開源的服務網格,它提供了一種統一的方法來連接、保護、控制和觀察服務。本教程將指導你從零開始部署Istio,并展示如何使用Istio進行基本的流量管理。 環境準備 Kubernetes集群:Istio運行在Kubernetes之上,確保…

W25Q64 Flash存儲器與STM32:硬件與軟件的完美結合案例

摘要 在嵌入式系統中,數據存儲是關鍵組成部分之一。W25Q64 Flash存儲器因其高容量、低功耗和高可靠性,成為STM32微控制器項目中優選的存儲解決方案。本文將展示W25Q64與STM32微控制器集成的案例,包括硬件設計、SPI通信協議實現和軟件編程策略…

記錄在Windows上安裝Docker

在Windows上安裝Docker時,可以選擇使用不同的后端。 其中兩個常見的選擇是:WSL 2(Windows Subsystem for Linux 2)和 Hyper-V 后端。此外,還可以選擇使用Windows容器。 三者的區別了解即可,推薦用WSL 2&…

我們公司落地大模型的路徑、方法和坑

我們公司落地大模型的路徑、方法和坑 李木子 AI大模型實驗室 2024年07月02日 18:35 北京 最近一年,LLM(大型語言模型)已經成熟到可以投入實際應用中了。預計到 2025 年,AI 領域的投資會飆升到 2000 億美元。現在,不只…

Thinking--在應用中添加動態水印,且不可刪除

Thinking系列,旨在利用10分鐘的時間傳達一種可落地的編程思想。 水印是一種用于保護版權和識別內容的技術,通常用于圖像、視頻或文檔中。它可以是文本、圖像或兩者的組合,通常半透明或以某種方式嵌入到內容中,使其不易被移除或篡改…

【Linux】多線程_2

文章目錄 九、多線程2. 線程的控制 未完待續 九、多線程 2. 線程的控制 主線程退出 等同于 進程退出 等同于 所有線程都退出。為了避免主線程退出,但是新線程并沒有執行完自己的任務的問題,主線程同樣要跟進程一樣等待新線程返回。 pthread_join 函數…

【代碼隨想錄_Day28】62. 不同路徑 63. 不同路徑 II

Day28 OK,今日份的打卡!第二十八天 以下是今日份的總結不同路徑不同路徑 II 以下是今日份的總結 62 不同路徑 63 不同路徑 II 今天的題目難度不低,盡量還是寫一些簡潔代碼 ^?_?^ 不同路徑 思路: 1.確定dp數組(dp…

算法學習筆記(8.2)-動態規劃入門進階

目錄 問題判斷: 問題求解步驟: 圖例: 解析: 方法一:暴力搜索 實現代碼如下所示: 解析: 方法二:記憶化搜索 代碼示例: 解析: 方法三:動態規劃 空間…

每日復盤-20240709

今日關注: 20240709 六日漲幅最大: ------1--------300391--------- 長藥控股 五日漲幅最大: ------1--------300391--------- 長藥控股 四日漲幅最大: ------1--------603155--------- 新亞強 三日漲幅最大: ------1--------301300--------- 遠翔新材 二日漲幅最大: ------1-…

基于antdesign封裝一個react的上傳組件

項目中遇到了一個上傳的需求,看了一下已有的代碼很粗糙,而且是直接引用andt的組件,體驗不太好,自己使用FormData對象封裝了一個上傳組件,僅供參考。 代碼如下: /*** FileUploadModal* description - 文件選…

Qt入門(二):Qt的基本組件

目錄 Designer程序面板 1、布局Layout 打破布局 貼合窗口 2、QWidget的屬性 3、Qlabel標簽 顯示圖片 4、QAbstractButton 按鈕類 按鈕組 5、QLineEdit 單行文本輸入框 6、ComboBox 組合框 7、若干與數字相關的組件 Designer程序面板 Qt包含了一個Designer程序 &…