跳到主要内容

将请求代理到服务

本教程介绍如何使用 Ingress Controller 创建一条基础路由,将请求代理到集群中运行的示例服务,并验证路由是否正常工作。

前提条件

  1. 完成设置 Ingress Controller 和网关

启动示例上游服务

在当前命名空间中启动一个名为 httpbinHTTPBIN 服务,作为示例上游服务:

kubectl apply -f https://raw.githubusercontent.com/apache/apisix-ingress-controller/refs/heads/v2.0.0/examples/httpbin/deployment.yaml

创建路由

创建一个 Kubernetes manifest 文件,用于将请求代理到 HTTPBIN 示例上游服务:

httpbin-route.yaml
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
namespace: aic
name: getting-started-ip
spec:
parentRefs:
- name: apisix
rules:
- matches:
- path:
type: Exact
value: /ip
backendRefs:
- name: httpbin
port: 80

将配置应用到集群:

kubectl apply -f httpbin-route.yaml

验证路由

将网关 Service 端口暴露到本地机器:

# 替换为你的网关 Service 名称
kubectl port-forward svc/<gateway-service-name> 9080:80 &

向路由发送请求:

curl "http://127.0.0.1:9080/ip"

你应看到如下响应:

{
"origin": "127.0.0.1"
}

删除路由

如需删除此前创建的路由,运行:

kubectl delete -f httpbin-route.yaml

下一步

现在你已经了解如何通过路由代理请求。接下来可以继续了解插件生态提供的更多能力。