Create a Service and Route

Uses: Kong Gateway Operator
Related Documentation
Incompatible with
on-prem
TL;DR

Define a KongService and KongRoute in your Kubernetes cluster to provision and configure Gateway entities through the Konnect Gateway Manager.

Prerequisites

If you don’t have a Konnect account, you can get started quickly with our onboarding wizard.

  1. The following Konnect items are required to complete this tutorial:
    • Personal access token (PAT): Create a new personal access token by opening the Konnect PAT page and selecting Generate Token.
  2. Set the personal access token as an environment variable:

    export KONNECT_TOKEN='YOUR KONNECT TOKEN'
    
    Copied to clipboard!

Create a KongService

Create a Gateway Service in the Konnect Gateway Manager. The Service must reference an existing KonnectGatewayControlPlane.

echo '
kind: KongService
apiVersion: configuration.konghq.com/v1alpha1
metadata:
  name: service
  namespace: kong
spec:
  name: service
  host: example.com
  controlPlaneRef:
    type: konnectNamespacedRef
    konnectNamespacedRef:
      name: gateway-control-plane
' | kubectl apply -f -
Copied to clipboard!

Create a KongRoute

To expose the Service, create a KongRoute associated with the KongService defined above.

echo '
kind: KongRoute
apiVersion: configuration.konghq.com/v1alpha1
metadata:
  name: route-with-service
  namespace: kong
spec:
  name: route-with-service
  protocols:
  - http
  hosts:
  - example.com
  serviceRef:
    type: namespacedRef
    namespacedRef:
      name: service
' | kubectl apply -f -
Copied to clipboard!

Validation

Check that Programmed is True on the service resource:

You can verify the KongService was reconciled successfully by checking its Programmed condition.

kubectl get -n kong kongservice service \
  -o=jsonpath='{.status.conditions[?(@.type=="Programmed")]}' | jq
Copied to clipboard!

The output should look similar to this:

{
  "observedGeneration": 1,
  "reason": "Programmed",
  "status": "True",
  "type": "Programmed"
}
Copied to clipboard!

Did this doc help?

Something wrong?

Help us make these docs great!

Kong Developer docs are open source. If you find these useful and want to make them better, contribute today!