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 Operator series.
Complete the previous page, Install Kong Operator in Konnect hybrid mode 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'Copied!
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/v1alpha2
metadata:
name: gateway-control-plane
namespace: kong
spec:
createControlPlaneRequest:
name: gateway-control-plane
konnect:
authRef:
name: konnect-api-auth
' | kubectl apply -f -
Create a KonnectExtension resource
echo '
kind: KonnectExtension
apiVersion: konnect.konghq.com/v1alpha2
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.12
' | 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"
}