乐趣区

关于阿里云:Higress-070-版本发布GA-进入倒计时

作者:Higress

停顿概要

  1. Higress 控制台正式 release,涵盖 Higress 的服务 / 路由 / 域名 / 证书治理能力,并提供开箱即用的可观测性能
  2. 装置 / 降级 Higress 时反对主动装置对应版本的 Higress Console,防止版本不适配的问题
  3. 反对开启 Istio API,实现更多简单的性能,并且也能够用于平滑替换 Istio Ingress Gateway

版本个性

Higress 控制台

当初通过 helm 命令装置 Higress 时将主动装置对应版本的 Higress Console,这里通过 higress-console.domain 参数,能够指定控制台的域名。

# 曾经增加过 repo 的,请执行 helm repo update
helm repo add higress.io https://higress.io/helm-charts
helm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes --set higress-console.domain=console.higress.io

留神:装置实现后会输入一段文本,其中蕴含获取控制台登录信息的命令。请执行该命令并记录用户名和明码。

正式环境部署时,倡议控制台开启强制 HTTPS 拜访,具体操作形式是,在 higress-system 命名空间下先创立好 TLS 证书和私钥对应的 secret,例如:

apiVersion: v1
kind: Secret
type: kubernetes.io/tls
data:
  tls.crt: -----BEGIN CERTIFICATE-----...
  tls.key: -----BEGIN RSA PRIVATE KEY-----...
metadata:
  name: my-tls-secret
  namespace: higress-system

而后通过上面 helm 命令开启强制 HTTPS 拜访:

helm upgrade higress -n higress-system higress.io/higress --set higress-console.tlsSecretName=my-tls-secret

如果心愿启用 Higress 自带的 Prometheus&Grafana,能够通过上面 helm 命令进行装置:

helm upgrade higress -n higress-system higress.io/higress --set higress-console.o11y.enabled=true

这样 Higress 控制台就能够看到自带的可观测大盘了:

当然,你也能够对接已有的 Prometheus&Grafana,应用这份 Higress 官网提供的 Dashboard 配置即可:https://higress.io/grafana/dashboard.json

能够登陆 Higress 控制台 Demo 试用现有所有性能: http://demo.higress.io

开启 Istio API

通过开启 Istio API,能够实现应用 Higress 平滑替换 Istio Ingress Gateway,具体 helm 命令如下:

helm upgrade higress -n higress-system higress.io/higress --set global.enableIstioAPI=true

基于 Istio API,能够实现目前 Higress 还未提供相应 Ingress 注解的能力,例如基于 Istio EnvoyFilter 来实现 HTTP to Dubbo 的协定转换配置形式:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: http-dubbo-transcoder
  namespace: higress-system
spec:
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      context: GATEWAY
      listener:
        filterChain:
          filter:
            name: envoy.filters.network.http_connection_manager
            subFilter:
              name: envoy.filters.http.router
    patch:
      operation: INSERT_BEFORE
      value:
        name: envoy.filters.http.http_dubbo_transcoder
        typed_config:
          '@type': type.googleapis.com/udpa.type.v1.TypedStruct
          type_url: type.googleapis.com/envoy.extensions.filters.http.http_dubbo_transcoder.v3.HttpDubboTranscoder
  - applyTo: HTTP_ROUTE
    match:
      context: GATEWAY
      routeConfiguration:
        vhost:
          route:
            name: test
    patch:
      operation: MERGE
      value:
        route:
          upgrade_configs:
          - connect_config:
              allow_post: true
            upgrade_type: CONNECT
        typed_per_filter_config:
          envoy.filters.http.http_dubbo_transcoder:
            '@type': type.googleapis.com/udpa.type.v1.TypedStruct
            type_url: type.googleapis.com/envoy.extensions.filters.http.http_dubbo_transcoder.v3.HttpDubboTranscoder
            value:
              request_validation_options:
                reject_unknown_method: true
                reject_unknown_query_parameters: true
              services_mapping:
              - group: dev
                method_mapping:
                - name: sayName
                  parameter_mapping:
                  - extract_key: p
                    extract_key_spec: ALL_QUERY_PARAMETER
                    mapping_type: java.lang.String
                  passthrough_setting:
                    passthrough_all_headers: true
                  path_matcher:
                    match_http_method_spec: ALL_GET
                    match_pattern: /dubbo/hello
                name: com.alibaba.nacos.example.dubbo.service.DemoService
                version: 1.0.0
              url_unescape_spec: ALL_CHARACTERS_EXCEPT_RESERVED

上述配置比较复杂,起因是为了不便 Envoy 数据面程序逻辑解决而设计的 Schema。 目前 Higress 社区曾经在设计更不便 Ingress 配置应用的 CRD,后续也会在 Higress 管制台上提供对应的配置性能。

GA 版本布局

Higress 预计将在 3 月底 /4 月初公布首个 GA 版本, 这个版本的次要布局如下:

  1. 实现 HTTP to Dubbo 协定转换的管制面配置简化
  2. Higress 控制台提供 Wasm 插件能力,反对配置自定义插件
  3. 推出第一版 Higress Admin API,能够被其余平台 / 工具集成
  4. 全面欠缺 Higress 官网文档,笼罩 Higress 全副性能的具体阐明

Higress 社区

欢送认领 Higress Issue 工作:https://github.com/alibaba/higress/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22

实现肯定数量的 Issues 就能够成为 Higress Committer,也有机会取得开源社区的礼物和荣誉🏆

欢送退出 Higress 社区群,及时理解更多 Higress 动向:

退出移动版