Create a Route with Kong Gateway Operator and Kong Ingress Controller
Create a Service, then create an HTTPRoute
.
Prerequisites
Series Prerequisites
This page is part of the Deploy Kong Ingress Controller with Kong Gateway Operator series.
Complete the previous page, Create a Gateway before completing this page.
Configure the echo service
-
In order to route a request using Kong Gateway we need a Service running in our cluster. Install an
echo
Service using the following command:kubectl apply -f https://developer.konghq.com/manifests/kic/echo-service.yaml -n kong
-
Create an
HTTPRoute
to send any requests that start with/echo
to the echo Service.echo ' kind: HTTPRoute apiVersion: gateway.networking.k8s.io/v1 metadata: name: echo namespace: kong spec: parentRefs: - group: gateway.networking.k8s.io kind: Gateway name: kong rules: - matches: - path: type: PathPrefix value: /echo backendRefs: - name: echo port: 1027 ' | kubectl apply -f -
The results should look like this:
httproute.gateway.networking.k8s.io/echo created
Test the configuration
-
Run
kubectl get gateway kong -n default
to get the IP address for the gateway and set that as the value for the variablePROXY_IP
.export PROXY_IP=$(kubectl get gateway kong -n kong -o jsonpath='{.status.addresses[0].value}')
Note: if your cluster can not provision LoadBalancer type Services then the IP you receive may only be routable from within the cluster.
-
Make a call to the
$PROXY_IP
that you configured.curl "$PROXY_IP/echo"
curl "$PROXY_IP/echo"
-
You should see the following:
Welcome, you are connected to node king. Running on Pod echo-965f7cf84-rm7wq. In namespace default. With IP address 192.168.194.10.