技术介绍:
higress作为下一代云原生网关 深度结合了dubbo Nacos,Sentinel,降低了网关部署成本和运维成本,可是网上很多的安装方案都非常麻烦,以及常见的报错没有记录,这里给出higress一个小白式的简单可靠安装方案以及可能遇到的报错做一个整理,给大家避坑
准备工作
以下是安装higress的必要配置
linux虚拟机:centOS 7.5
微服务治理:nacos 2.2.3
容器管理技术:docker 26.0.0
插件:docker-compose
centOS 和nacos的安装的帖子很多,这里不必赘述
一、彻底删除无docker-compose的docker
docker-compose是容器编译的一个工具,higress需要通过docker-compose进行一个容器编排,启动higress的时候,通过docker进行编译运行
如果怕麻烦或者怕容器数据丢失建议新配置一个虚拟机,省略以下1-5步骤
如果您已经安装了docker,想在原来的虚拟机安装higress,而且docker容器很多很重要,请备份镜像文件,因为docker-compose的安装需要docker下载的时候进行安装配置,因此需要重新安装docker
docker镜像文件默认在此目录
/var/lib/docker
备份镜像文件
cp /var/lib/docker /镜像文件自定义备份目录
如果还有其他的自己配置的docker配置文件也请备份
卸载docker
1.停止docker服务
systemctl stop docker
2.查看并删除docker文件包
[root@localhost ~]# yum list installed |grep docker
containerd.io.x86_64 1.6.28-3.2.el7 @docker-ce-stable
docker-buildx-plugin.x86_64 0.13.1-1.el7 @docker-ce-stable
docker-ce.x86_64 3:26.0.0-1.el7 @docker-ce-stable
docker-ce-cli.x86_64 1:26.0.0-1.el7 @docker-ce-stable
docker-ce-rootless-extras.x86_64 26.0.0-1.el7 @docker-ce-stable
yum -y remove containerd.io.x86_64
yum -y remove docker-buildx-plugin.x86_64
yum -y remove docker-ce.x86_64
yum -y remove docker-ce-cli.x86_64
yum -y remove docker-ce-rootless-extras.x86_64
3.删除yum的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
4.删除镜像文件以及相关文件
rm -rf /var/lib/docker
rm -rf /var/run/docker*
5.检查docker是否删除干净
docker version
如果没有docker相关信息则删除已经删除干净
5.安装docker以及docker-compose插件
关闭防火墙
systemctl stop firewalld
设置安装仓库
#安装yum的工具包
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
# 设置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
yum makecache fast
安装docker以及docker-compose 关键
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
启动并且设置docker为开机自启动
systemctl start docker
systemctl enable docker
检查docker是否启动成功
docker run hello-world
检查插件是否存在
yum list installed |grep docker
重要 请在安装higress之前启动nacos ,cd到nacos的bin目录执行此指令
./startup.sh -m standalone
如果报内置服务器异常的错误是因为没有加-m standalone
如果报错
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘memoryMonitor’
请检查conf的application.yml文件的数据库连接配置,以及检查数据库相关名字是否能对上
检查nacos是否启动成功
方法1:访问nacos网页
ip:8848/nacos
方法2:使用jps指令
[root@localhost ~]# jps
3155 Jps
2103 nacos-server.jar
二、安装higress
这里采用的非k8s安装,记得ip换成你自己虚拟机的ip地址
#无用户名和密码安装,设置密码容易搞忘且难以找回 不建议设置密码
curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a -c nacos://ip:8848
运行代码如图
安装成功如图
访问网址
ip:8080/
账密都是admin,备注:不推荐使用搜狗浏览器,因为有些js加载不出来
三、常见bug分析:
安装higress最好的方式就是新建一个虚拟机,higress安装失败的90%的原因都是docker引起的
bug1
异常描述:
如果有几个higress镜像一直加载,超过100s,请ctrl+C 停止运行,在higress的bin目录下执行以下指令
./shutdown.sh
然后rf -rm删除higress,请查找有没有其他目录重复安装了higress,一定要删除干净,docker ps -a也要检查,重新安装docker,一定要按照之前的步骤删干净,再安装,多试几次绝对可以安装成功
# 查找higress有哪些安装路径
where higress
bug2
问题描述
使用higress安装指令之后报错
这里的问题是higress无法在nacos创建命名空间,请检查nacos配置相关,实在找不出删除重下nacos
bug3
问题描述
使用了higress安装指令之后一直出现
wait for nacos get ready
wait for nacos get ready
wait for nacos get ready
wait for nacos get ready
wait for nacos get ready
这里的原因还是nacos启动异常,检查nacos日志,查看异常信息
备注:如果您是采用了higress内置nacos指令的安装的话,也可能会导致此错误,必须要有nacos独立进程
bug4
问题描述
关闭higress ,再次启动的时候出现以下提示
Higress hasn't been configured yet.Please run......
遇到这种情况执行
./configure.sh -r -c nacos://ip:8848
注意如果只执行了./configure.sh,就会导致出现让你配置的一系列的选项,自行配置完,很大概率就会导致higress无法启动成功,higress部分镜像启动不起来的问题
bug5
问题描述
在使用admin登录higress控制台的时候出现登录异常,服务器异常等无法登录的现象
解决方法:
打开nacos网页
ip:8848/nacos
把这两项删除
然后输入网址ip:8080/init
账密再次输入admin就可以跳转到登录页面使用admin登录了
其他报错的情况的话,大概都是docker-compose编排higress出错的问题了
以上是higress简单靠谱的安装步骤和常见问题的解决方案,如果还遇到什么相关bug,请在评论区留言,欢迎大家讨论