云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署

这篇具有很好参考价值的文章主要介绍了云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:澄潭

版本特性

Higress 1.1.0 版本已经 Release,K8s 环境下可以使用以下命令将 Higress 升级到最新版本:

kubectl apply -f https://github.com/alibaba/higress/releases/download/v1.1.0/customresourcedefinitions.gen.yaml
helm repo update
helm upgrade higress -n higress-system higress.io/higress

下面介绍该版本的核心特性:

支持非 K8s 部署

在 K8s 部署模式下,Higress 已经支持基于 Nacos 进行服务发现,可以打通 Spring Cloud/Dubbo 等微服务生态。Nacos 作为微服务生态的集大成者,既可以作为注册中心,又可以作为配置中心,在非 K8s 环境下,如果将路由、插件等配置存入 Nacos 中,用户只需一个 Higress 和一个 Nacos 即可搞定一切:

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器

在 1.1 版本中,Higress 就实现了这个能力,如上图所示,在这个架构中,Nacos 同时可以作为路由配置来源和服务 IP 来源,因为在 Nacos 中存储路由配置也是用了 Ingress API 这套基础 API 抽象,目前 Higress 在 K8s 上可以实现的能力,基于这套架构一样可以搞定。

使用一行命令即可完成非 K8s 环境下的部署(兼容 macOS 和 Linux,Windows 需要安装 Cygwin):

curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -c nacos://<nacos_addr>:8848

-c 参数用于指定非 K8s 场景下的配置存储来源,以 Nacos 为例,通过 nacos:// 指定即可,这种模式下,Higress 的所有配置都将存储在 Nacos 中,后续还将支持 ETCD/Consul等配置来源。

更多的参数可以通过 -h 参数查看,具体如下:

Usage: bash [DIR] [OPTIONS...]
Install Higress (standalone version) into the DIR (the current directory by default).

 -c, --config-url=URL       URL of the Nacos service
                            format: nacos://192.168.0.1:8848
     --use-builtin-nacos    use the built-in Nacos service instead of
                            an external one
     --nacos-ns=NACOS-NAMESPACE
                            the ID of Nacos namespace to store configurations
                            default to "higress-system" if unspecified
     --nacos-username=NACOS-USERNAME
                            the username used to access Nacos
                            only needed if auth is enabled in Nacos
     --nacos-password=NACOS-PASSWORD
                            the password used to access Nacos
                            only needed if auth is enabled in Nacos
 -k, --data-enc-key=KEY     the key used to encrypt sensitive configurations
                            MUST contain 32 characters
                            A random key will be generated if unspecified
 -p, --console-password=CONSOLE-PASSWORD
                            the password to be used to visit Higress Console
                            default to "admin" if unspecified
 -h, --help                 give this help list

启动成功后,本机端口占用情况如下:

  • 80 端口:Higress Gateway 暴露,用于 HTTP 协议代理
  • 443 端口:Higress Gateway 暴露,用于 HTTPS 协议代理
  • 15020 端口:Higress Gateway 暴露,用于暴露 Prometheus 指标 (http://node_ip:15020/stats/prometheus)
  • 8080 端口:Higress Console 暴露,用于 Higress 控制台管理

让我们在本地启动一个 SpringCloud 服务注册到这个 Nacos 上:

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器

在 Higress 控制台的服务列表也可以看到这个服务(Higress 默认配置监听启动参数指定的 Nacos 的 public 命名空间,可以在服务来源中新增其他命名空间):

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器

创建路由指向这个服务:

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器

测试路由成功:

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器

Http to Dubbo 配置简化

在之前的版本里,使用 Http to Dubbo 的能力,需要开启 Istio CRD,然后通过 Envoyfilter 进行配置;新版本 Higress 增加了 Http2Rpc 这个 CRD,实现了 Http to Dubbo 的配置简化。

假设我们现在已经部署了如下一个 Dubbo 服务,其服务名为com.alibaba.nacos.example.dubbo.service.DemoService,并指定了该服务的 version 为“1.0.0”,group 为“dev”:

interface:

package com.alibaba.nacos.example.dubbo.service;

public interface DemoService {
    String sayName(String name);
}

implement:

@DubboService(version = "${demo.service.version}", group = "${demo.service.group}")
public class DefaultService implements DemoService {

    @Value("${demo.service.name}")
    private String serviceName;

    public String sayName(String name) {
        RpcContext rpcContext = RpcContext.getContext();
        return String.format("Service [name :%s , port : %d] %s("%s") : Hello,%s",
                serviceName,
                rpcContext.getLocalPort(),
                rpcContext.getMethodName(),
                name,
                name);
    }
}
创建 Http2Rpc CRD
apiVersion: networking.higress.io/v1
kind: Http2Rpc
metadata:
  name: httproute-http2rpc-demo
  namespace: higress-system
spec:
  dubbo: 
    service: com.alibaba.nacos.example.dubbo.service.DemoService
    version: 1.0.0
    group: dev
    methods: 
    - serviceMethod: sayName
      headersAttach: "*"
      httpMethods: 
      - "GET"
      httpPath: "/dubbo/sayName"
      params:
      - paramKey: name
        paramSource: QUERY
        paramType: "java.lang.String"
创建 Ingress 关联 Http2Rpc
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    higress.io/destination: providers:com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev.DEFAULT-GROUP.public.nacos
    higress.io/rpc-destination-name: httproute-http2rpc-demo
  name: httproute-http2rpc-demo-ingress
  namespace: higress-system
spec:
  ingressClassName: higress
  rules:
  - http:
      paths:
      - backend:
          resource:
            apiGroup: networking.higress.io
            kind: McpBridge
            name: default
        path: /dubbo
        pathType: Prefix

通过以上配置,我们就可以执行以下 curl 命令来调用这个 dubbo 服务了:

$curl "localhost/dubbo/sayName?name=abc" 

{"result":"Service [name :demoService , port : 20880] sayName("abc") : Hello,abc"}

支持 SkyWalking Tracing 配置

对 Higress 的全局配置 ConfigMap 对象 higress-config 做如下配置即可开启 SkyWalking Tracing:

apiVersion: v1
data:
  higress: |-
    tracing:
      enable: true
      sampling: 100
      timeout: 500
      skywalking:
       service: skywalking-oap-server.op-system.svc.cluster.local
       port: 11800
...
...
kind: ConfigMap
metadata:
  name: higress-config
  namespace: higress-system

调用链路:

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器

调用链路拓扑:

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器

后续版本 Roadmap

目前确定的后续版本核心功能如下,欢迎在:https://github.com/alibaba/higress/issues/425 下提出你期待的功能,我们将实时更新后续 Roadmap。

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器

社区近期活动

Wasm 插件编程挑战赛,赢取 12w 奖金池

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器
云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器
云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署,云原生,kubernetes,容器

了解详情:https://tianchi.aliyun.com/competition/entrance/532104/information文章来源地址https://www.toymoban.com/news/detail-604279.html

到了这里,关于云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NineData支持全版本的企业级Oracle客户端,现已发布!

    Oracle 数据库是一款全球领先的关系型数据库管理系统,它为企业提供了高性能、高可用性和安全性的数据处理解决方案,被广泛应用于各个行业。对于 Oracle 数据库,大家都很熟悉,本文不再赘述。 近期,NineData 发布对 Oracle 数据库的 SQL 开发支持。开发者可以使用 NineData 便

    2024年02月14日
    浏览(42)
  • Apache SeaTunnel 2.3.3 版本发布,CDC 支持 Schema Evolution!

    时隔两个月, Apache SeaTunnel 终于迎来大版本更新。此次发布的 2.3.3 版本在功能和性能上均有较大优化改进,其中大家期待已久的 CDC Schema evolution(DDL 变更同步)、主键 Split 拆分、JDBC Sink 自动建表功能、SeaTunnel Zeta 引擎支持 作业配置支持变量替换和传参等都是更新的亮点。

    2024年02月11日
    浏览(74)
  • 支持中文繁体,支持同时配置并启用飞书和Lark认证,JumpServer堡垒机v3.10.8 LTS版本发布

    2024年4月22日,JumpServer开源堡垒机正式发布v3.10.8 LTS版本。JumpServer开源项目组将对v3.10 LTS版本提供长期的支持和优化,并定期迭代发布小版本。欢迎广大社区用户升级至v3.10 LTS最新版本,以获得更佳的使用体验。 在v3.10.8 LTS版本中,JumpServer新增中文繁体语言包。针对平台级别

    2024年04月27日
    浏览(36)
  • 邮件服务支持Exchange协议,资产历史账号支持设置保留数量,JumpServer堡垒机v3.10.2 LTS版本发布

    2024年1月22日,JumpServer开源堡垒机正式发布v3.10.2 LTS版本。JumpServer开源项目组将对v3.10 LTS版本提供长期的支持和维护,并定期迭代发布小版本。欢迎广大社区用户升级至v3.10 LTS版本,以获得更佳的使用体验。 在v3.10.2 LTS版本中,JumpServer的邮件服务功能新增支持Exchange协议。目

    2024年01月24日
    浏览(38)
  • sensitive-word v0.13 特性版本发布 支持英文单词全词匹配

    sensitive-word-admin v1.3.0 发布 如何支持分布式部署? sensitive-word-admin 敏感词控台 v1.2.0 版本开源 sensitive-word 基于 DFA 算法实现的高性能敏感词工具介绍 更多技术交流 对于英文单词 Disburse 之类的,其中的 sb 字母会被替换,要怎么处理,能不能只有整个单词匹配的时候才替换。

    2024年02月20日
    浏览(46)
  • 新增守护进程管理、支持添加MySQL远程数据库,支持PHP版本切换,1Panel开源面板v1.5.0发布

    2023年8月14日,现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.5.0版本。 在这个版本中,1Panel新增了守护进程管理功能;支持添加MySQL远程数据库;支持添加FTP/S和WebDAV的SFTP服务;支持PHP版本切换。此外,我们进行了40多项功能更新和问题修复。1Panel应用商店也新增了

    2024年02月13日
    浏览(44)
  • Ubuntu24.04即将发布,支持Linux内核6.8。该版本会有哪些亮点?

    更多内容在 Canonical 计划 2024 年 4 月发布 Ubuntu 24.04 LTS 发行版,将获得长达 12 年的支持。Ubuntu 24.04 LTS,代号“Noble Numbat”,是Ubuntu发行版的最新长期支持(LTS)版本。12年的支持意味着你会得到  五年的维护+安全更新,然后作为Ubuntu Pro延长维护周期的一部分,再更新五年 。

    2024年04月12日
    浏览(56)
  • Flink CDC 2.4 正式发布,新增 Vitess 数据源,更多连接器支持增量快照,升级 Debezium 版本

    Flink CDC [1] 是基于数据库的日志 CDC 技术,实现了全增量一体化读取的数据集成框架。配合 Flink 优秀的管道能力和丰富的上下游生态,Flink CDC 可以高效实现海量数据的实时集成。 作为新一代的实时数据集成框架,Flink CDC 具有全增量一体化、无锁读取、并行读取、表结构变更

    2024年02月12日
    浏览(41)
  • 【云原生概念和技术】1.1 云原生的概述

    如果想了解或者学习云原生的友友们,欢迎订阅哦~🤗,目前一周三更,努力码字中🧑‍💻…目前第一章是一些介绍和概念性的知识,可以先在脑海里有一个知识的轮廓,从第二章开始就会伴随着代码,一边实战一边学习🤝。 云原生是一种基于容器化、微服务架构和自动

    2023年04月20日
    浏览(37)
  • J2EE项目部署与发布(Windows版本)

    目录 一、会议OA单体项目Windows部署 1.1 数据测试 1.2 项目部署 1.3 报错解决 1.4 最终效果 二、spa前后端分离项目Windows部署 2.1 后端代码测试 2.2 前端代码测试 2.3 项目部署 2.3.1 数据导入 2.3.2 后端部署 2.3.3 前端部署 2.3.3.1 Node.js环境配置 2.3.4 端口问题解决 2.3.4.1 method1 2.3.4.2 meth

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包