• docker单机安装Higress(踩坑+解决)


    docker单机安装Higress(踩坑+解决)

    Higress介绍

    Higress希望通过内置Waf模块,使得用户的请求链接只经过Higress就可以同时完成Waf防护、流量分发、微服务治理,既可以降低链路RT,也可以降低网关的运维复杂度。因此Higress实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力。

    官网部署安装教程

    快速开始

    安装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
          
    # 更新本地镜像源
    # 设置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安装的速度。
    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
    
    
    # 设置docker自启动
    systemctl enable docker
    
    
    # 测试docker是否安装成功
    docker version	
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    安装命令

    curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- [DESTINATION] [OPTIONS...]
    
    • 1
    curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a -c nacos://192.168.66.100:8848
    
    
    • 1
    • 2

    Standalone 模式没有大规模生产使用过,目前主要用于本地部署测试的场景,如果生产部署更建议云原生模式部署

    安装参数

    参数名参数说明默认值
    DESTINATION目标安装目录./higress
    -a --auto-run配置完成后自动启动 Higress 网关
    -c CONFIG_URL --config-url CONFIG_URL配置服务的 URL。 - 若使用独立部署的 Nacos 服务(版本不低于 2.0.0),URL 格式为:nacos://192.168.0.1:8848 - 若在本地磁盘上保存配置,URL 格式为:file://opt/higress/conf
    –use-builtin-nacos使用内置的 Nacos 服务。不建议用于生产环境。如果设置本参数,则无需设置-c参数
    –nacos-ns=NACOS_NAMESPACE用于保存 Higress 配置的 Nacos 命名空间 IDhigress-system
    –nacos-username=NACOS_USERNAME用于访问 Nacos 的用户名。仅用于 Nacos 启动了认证的情况下
    –nacos-password=NACOS_PASSWORD用于访问 Nacos 的用户密码。仅用于 Nacos 启动了认证的情况下
    -k KEY --data-enc-key=KEY用于加密敏感配置数据的密钥。长度必须为 32 个字符。若未设置,Higress 将自动生成一个随机的密钥。若需集群部署,此项必须设置随机字符串
    –nacos-port=NACOS_PORT内置 NACOS 服务在服务器本地监听的端口8848
    –gateway-http-port=GATEWAY_HTTP_PORTHigress Gateway 在服务器本地监听的 HTTP 端口80
    –gateway-https-port=GATEWAY_HTTPS_PORTHigress Gateway 在服务器本地监听的 HTTPS 端口443
    –gateway-metrics-port=GATEWAY_METRIC_PORTHigress Gateway 在服务器本地监听的用于暴露运行指标端口15020
    –console-port=CONSOLE_PORTHigress Console 在服务器本地监听的端口8080
    -r --rerun在 Higress 已配置完成后重新执行配置流程
    -h --help显示帮助信息

    解决配置成功无法访问的问题

    image-20240423164728286

    遇到了无法访问的问题;

    • 端口号正常监听

    image-20240423164811208

    • 查看日志发现有错

    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.
    
    • 1
    • 2
    • 3
    • 查看docker 容器

    image-20240423165132509

    解决

    去 /root/higress/bin/ 目录下 reset

    image-20240423174530450

    仍然无法正常访问

    卸载并重装docker后正常访问

    image-20240423191927915

    配置域名后无法通过域名访问广告服务

    image-20240423202800259

    解决

    彻底卸载重新安装

    1. 删除所有容器:

      docker rm $(docker ps -a -q) -f
      
      • 1

      这条命令会强制删除所有的Docker容器,无论其运行状态如何。

    2. 删除所有镜像:

      docker rmi $(docker images -q) -f
      
      • 1

      这条命令会删除所有的Docker镜像。

    3.删除与higress相关的文件

    可以使用find命令来搜索并删除这些文件:这条命令会在整个系统中搜索文件或文件夹名包含“higress”的所有项,并将其删除。

    find / -name '*higress*' -exec rm -rf {} +
    
    • 1

    记住 cd 到 /usr/local 目录下 执行下面操作进行安装

    curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a -c nacos://192.168.66.100:8848
    
    • 1

    image-20240423203208771

    image-20240423210305981

    image-20240423213725855

    参考

    官网样例测试成功

    image-20240423220125492

    官网样例

    不是哥们儿 你是真不稳定啊……弄的我docker有问题+MQ也起不起来了

    感觉这样部署的话还是有问题,考虑把数据库迁移到linux里;

    思考了一下还是觉得应该是官网推出的docker这个版本本身就是个测试版不稳定的原因

  • 相关阅读:
    R语言如何连接 SQL Server 2016之前的数据库并使用此连接?
    javascript原生态xhr上传多个图片,可预览和修改上传图片为固定尺寸比例,防恶意代码,加后端php处理图片
    mysql8.0英文OCP考试第101-110题
    基于强化学习的测试日志智能分析实践
    leetcode 94.二叉树的中序遍历(非递归和递归遍历)
    yaml-cpp开源库使用
    PostgreSQL 时区问题
    [OpenCV实战]52 在OpenCV中使用颜色直方图
    Design Pattern (GoF)
    Linux应用 防止程序重复发起
  • 原文地址:https://blog.csdn.net/weixin_65403042/article/details/138157789