Skip to main content

higress tcp代理配置步骤

用户问题 :#

higress tcp代理配置步骤


专家官方解答 :#

根据提供的知识内容,Higress的TCP代理配置步骤可以详细解答如下:

1. 前置准备#

确保满足以下条件:

  • Higress安装:确认Higress已被部署在Kubernetes集群的higress-system命名空间下,且其Service名称为higress-gateway
  • 服务目标:需要为default命名空间下的tcp-echo服务配置四层路由,该服务监听端口为9000,与网关监听端口一致。
  • Gateway API支持:Higress需预先配置以支持Gateway API CRD。相关文档

2. 配置步骤#

创建 GatewayClass#

  1. 定义配置文件:创建gatewayclass.yaml,内容如下:
apiVersion: gateway.networking.k8s.io/v1kind: GatewayClassmetadata:  name: higress-gatewayspec:  controllerName: "higress.io/gateway-controller"
  1. 应用配置:通过命令应用到集群:
kubectl apply -f gatewayclass.yaml

创建 Gateway#

  1. 定义配置文件:创建gateway.yaml,内容如下:
apiVersion: gateway.networking.k8s.io/v1kind: Gatewaymetadata:  name: higress-gateway  namespace: higress-systemspec:  gatewayClassName: higress-gateway  listeners:  - name: default-tcp    protocol: TCP    port: 9000    allowedRoutes:      namespaces:        from: All      kinds:      - kind: TCPRoute
  1. 应用配置:通过命令应用到集群:
kubectl apply -f gateway.yaml

修改 higress-gateway Service#

  1. 进入编辑模式:使用命令进入Service的编辑状态:
kubectl edit service higress-gateway -n higress-system
  1. 添加端口描述:在spec.ports部分新增9000端口的描述,保存退出。

创建 TCPRoute#

  1. 定义配置文件:创建tcproute.yaml,内容如下:
apiVersion: gateway.networking.k8s.io/v1alpha2kind: TCPRoutemetadata:  name: tcp-echo  namespace: defaultspec:  parentRefs:  - name: higress-gateway    namespace: higress-system    port: 9000  rules:  - backendRefs:    - name: tcp-echo      port: 9000
  1. 应用配置:通过命令应用到集群:
kubectl apply -f tcproute.yaml

配置验证#

  • 使用telnet或类似工具尝试连接higress-gateway服务的9000端口,以验证TCP路由配置是否生效。

解释#

以上步骤依次完成了从定义GatewayClass以指定控制器,到创建Gateway以配置监听器和路由规则,再到调整Service以暴露所需端口,以及创建TCPRoute来定义后端服务的整个TCP代理配置流程。每一步都是基于Kubernetes的Gateway API进行,确保了服务的高可用性和灵活性。最后的验证环节是为了确认配置是否正确无误,服务是否按预期工作。

---------------

参考链接 :#

  • 专家经验:配置 TCP 四层路由
---------------

答疑服务说明:#

本内容经由技术专家审阅的用户问答的镜像生成,我们提供了专家智能答疑服务,在页面的右下的浮窗”专家答疑“。您也可以访问 : 全局专家答疑 。 咨询其他产品的的问题

反馈#

如问答有错漏,欢迎点:差评给我们反馈。