docker單機安裝Higress的踩坑及解決方式
docker單機安裝Higress(踩坑+解決)
Higress希望通過內(nèi)置Waf模塊,使得用戶的請求鏈接只經(jīng)過Higress就可以同時完成Waf防護、流量分發(fā)、微服務(wù)治理,既可以降低鏈路RT,也可以降低網(wǎng)關(guān)的運維復(fù)雜度。因此Higress實現(xiàn)了流量網(wǎng)關(guān) + 微服務(wù)網(wǎng)關(guān) + 安全網(wǎng)關(guān)三合一的高集成能力。
安裝docker(更換鏡像索引)
# 卸載Docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
# 安裝yum工具包
yum install -y yum-utils \
device-mapper-peyrsistent-data \
lvm2 --skip-broken
# 更新本地鏡像源
# 設(shè)置docker鏡像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
# 將軟件包信息提前在本地索引緩存,用來提高搜索安裝軟件的速度,建議執(zhí)行這個命令可以提升yum安裝的速度。
yum makecache fast
# 安裝docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
# 啟動docker
systemctl start docker
# 設(shè)置docker自啟動
systemctl enable docker
# 測試docker是否安裝成功
docker version
安裝命令
curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- [DESTINATION] [OPTIONS...]
curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a -c nacos://192.168.66.100:8848
Standalone 模式?jīng)]有大規(guī)模生產(chǎn)使用過,目前主要用于本地部署測試的場景,如果生產(chǎn)部署更建議云原生模式部署
安裝參數(shù)
| 參數(shù)名 | 參數(shù)說明 | 默認值 |
|---|---|---|
| DESTINATION | 目標安裝目錄 | ./higress |
| -a --auto-run | 配置完成后自動啟動 Higress 網(wǎng)關(guān) | 無 |
| -c CONFIG_URL --config-url CONFIG_URL | 配置服務(wù)的 URL。 - 若使用獨立部署的 Nacos 服務(wù)(版本不低于 2.0.0),URL 格式為:nacos://192.168.0.1:8848 - 若在本地磁盤上保存配置,URL 格式為:file://opt/higress/conf | 無 |
| –use-builtin-nacos | 使用內(nèi)置的 Nacos 服務(wù)。不建議用于生產(chǎn)環(huán)境。如果設(shè)置本參數(shù),則無需設(shè)置-c參數(shù) | 無 |
| –nacos-ns=NACOS_NAMESPACE | 用于保存 Higress 配置的 Nacos 命名空間 ID | higress-system |
| –nacos-username=NACOS_USERNAME | 用于訪問 Nacos 的用戶名。僅用于 Nacos 啟動了認證的情況下 | 無 |
| –nacos-password=NACOS_PASSWORD | 用于訪問 Nacos 的用戶密碼。僅用于 Nacos 啟動了認證的情況下 | 無 |
| -k KEY --data-enc-key=KEY | 用于加密敏感配置數(shù)據(jù)的密鑰。長度必須為 32 個字符。若未設(shè)置,Higress 將自動生成一個隨機的密鑰。若需集群部署,此項必須設(shè)置 | 隨機字符串 |
| –nacos-port=NACOS_PORT | 內(nèi)置 NACOS 服務(wù)在服務(wù)器本地監(jiān)聽的端口 | 8848 |
| –gateway-http-port=GATEWAY_HTTP_PORT | Higress Gateway 在服務(wù)器本地監(jiān)聽的 HTTP 端口 | 80 |
| –gateway-https-port=GATEWAY_HTTPS_PORT | Higress Gateway 在服務(wù)器本地監(jiān)聽的 HTTPS 端口 | 443 |
| –gateway-metrics-port=GATEWAY_METRIC_PORT | Higress Gateway 在服務(wù)器本地監(jiān)聽的用于暴露運行指標端口 | 15020 |
| –console-port=CONSOLE_PORT | Higress Console 在服務(wù)器本地監(jiān)聽的端口 | 8080 |
| -r --rerun | 在 Higress 已配置完成后重新執(zhí)行配置流程 | 無 |
| -h --help | 顯示幫助信息 | 無 |
解決配置成功無法訪問的問題

遇到了無法訪問的問題;
- 端口號正常監(jiān)聽

- 查看日志發(fā)現(xiàn)有錯
docker logs higress-console-1
2024-04-15 09:45:47.655 ERROR 7 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SystemController': Invocation of init method failed; nested exception is com.alibaba.higress.sdk.exception.BusinessException: Error occurs when updating ConfigMap.
- 查看docker 容器

解決
去 /root/higress/bin/ 目錄下 reset

仍然無法正常訪問
卸載并重裝docker后正常訪問

配置域名后無法通過域名訪問廣告服務(wù)

解決
徹底卸載重新安裝
1.刪除所有容器:
docker rm $(docker ps -a -q) -f
這條命令會強制刪除所有的Docker容器,無論其運行狀態(tài)如何。
2.刪除所有鏡像:
docker rmi $(docker images -q) -f
這條命令會刪除所有的Docker鏡像。
3.刪除與higress相關(guān)的文件
可以使用find命令來搜索并刪除這些文件:這條命令會在整個系統(tǒng)中搜索文件或文件夾名包含“higress”的所有項,并將其刪除。
find / -name '*higress*' -exec rm -rf {} +
記住 cd 到 /usr/local 目錄下 執(zhí)行下面操作進行安裝
curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a -c nacos://192.168.66.100:8848



官網(wǎng)樣例測試成功

不是哥們兒 你是真不穩(wěn)定啊……弄的我docker有問題+MQ也起不起來了
感覺這樣部署的話還是有問題,考慮把數(shù)據(jù)庫遷移到linux里;
思考了一下還是覺得應(yīng)該是官網(wǎng)推出的docker這個版本本身就是個測試版不穩(wěn)定的原因
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
云centos開啟docker遠程服務(wù)鏈接的實現(xiàn)步驟
本文主要介紹了云centos開啟docker遠程服務(wù)鏈接,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
docker-compose安裝redis過程-主從+哨兵(3臺虛擬機一主兩從)
文章介紹了使用Docker部署Redis主從架構(gòu)及哨兵監(jiān)控的全過程,包括部署架構(gòu)、配置文件準備、Docker-Compose文件編寫、部署步驟以及測試主從復(fù)制和故障轉(zhuǎn)移功能2026-04-04
詳解利用nginx和docker實現(xiàn)一個簡易的負載均衡
本篇文章主要介紹了利用nginx和docker實現(xiàn)一個簡易的負載均衡 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06

