Create a Service and Route
Define a KongService
and KongRoute
in your Kubernetes cluster to provision and configure Gateway entities through the Konnect Gateway Manager.
Prerequisites
Kong Konnect
If you don’t have a Konnect account, you can get started quickly with our onboarding wizard.
- 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.
-
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 -
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 -
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
The output should look similar to this:
{
"observedGeneration": 1,
"reason": "Programmed",
"status": "True",
"type": "Programmed"
}