Deploy a DataPlane
Create a DataPlane
object and use the KonnectExtension
reference.
Prerequisites
Series Prerequisites
This page is part of the Deploy Hybrid DataPlanes with Kong Gateway Operator series.
Complete the previous page, Install Kong Gateway Operator before completing this page.
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'
Create a KonnectAPIAuthConfiguration resource
kubectl create namespace kong --dry-run=client -o yaml | kubectl apply -f -
echo '
kind: KonnectAPIAuthConfiguration
apiVersion: konnect.konghq.com/v1alpha1
metadata:
name: konnect-api-auth
namespace: kong
spec:
type: token
token: "'$KONNECT_TOKEN'"
serverURL: us.api.konghq.com
' | kubectl apply -f -
Create a KonnectGatewayControlPlane resource
echo '
kind: KonnectGatewayControlPlane
apiVersion: konnect.konghq.com/v1alpha1
metadata:
name: gateway-control-plane
namespace: kong
spec:
name: gateway-control-plane
konnect:
authRef:
name: konnect-api-auth
' | kubectl apply -f -
Create a KonnectExtension resource
echo '
kind: KonnectExtension
apiVersion: konnect.konghq.com/v1alpha1
metadata:
name: my-konnect-config
namespace: kong
spec:
clientAuth:
certificateSecret:
provisioning: Automatic
konnect:
controlPlane:
ref:
type: konnectNamespacedRef
konnectNamespacedRef:
name: gateway-control-plane' | kubectl apply -f -
Create the DataPlane
Configure a Kong DataPlane
by using your KonnectExtension
reference:
echo '
apiVersion: gateway-operator.konghq.com/v1beta1
kind: DataPlane
metadata:
name: dataplane-example
namespace: kong
spec:
extensions:
- kind: KonnectExtension
name: my-konnect-config
group: konnect.konghq.com
deployment:
podTemplateSpec:
spec:
containers:
- name: proxy
image: kong/kong-gateway:3.10
' | kubectl apply -f -
Check the Ready status
If the DataPlane
has Ready
condition set to True
then you can visit Konnect and see the dataplane in the list of connected Data Planes for your Control Plane:
Check that Programmed
is True
on the dataplane-example
resource:
You can verify the dataplane
was reconciled successfully by checking its Ready
condition.
kubectl get -n kong dataplane dataplane-example \
-o=jsonpath='{.status.conditions[?(@.type=="Ready")]}' | jq
The output should look similar to this:
{
"observedGeneration": 1,
"reason": "Ready",
"status": "True",
"type": "Ready"
}