Create a Cloud Gateway Data Plane group configuration
Use the KonnectCloudGatewayDataPlaneGroupConfiguration
resource to define autoscaling Data Plane groups and associate them with Cloud Gateway networks.
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'
Kong Gateway Operator running
-
Add the Kong Helm charts:
helm repo add kong https://charts.konghq.com helm repo update
-
Create a
kong
namespace:kubectl create namespace kong --dry-run=client -o yaml | kubectl apply -f -
-
Install Kong Ingress Controller using Helm:
helm upgrade --install kgo kong/gateway-operator -n kong-system --create-namespace \ --set image.tag=1.5 \ --set kubernetes-configuration-crds.enabled=true \ --set env.ENABLE_CONTROLLER_KONNECT=true
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 KonnectCloudGatewayDataPlaneGroupConfiguration
Use the KonnectCloudGatewayDataPlaneGroupConfiguration
resource to configure data plane groups for a Dedicated Cloud Gateway. Only one configuration can exist per Control Plane.
Creating multiple configurations will result in overwriting the previous one. Each Dedicated Cloud Gateway supports only a single DataPlaneGroupConfiguration
.
echo '
kind: KonnectCloudGatewayDataPlaneGroupConfiguration
apiVersion: konnect.konghq.com/v1alpha1
metadata:
name: konnect-cg-dpconf
namespace: kong
spec:
api_access: private+public
version: "3.10"
dataplane_groups:
- provider: aws
region: eu-west-1
networkRef:
type: namespacedRef
namespacedRef:
name: konnect-network-1
autoscale:
type: static
static:
instance_type: small
requested_instances: 2
environment:
- name: KONG_LOG_LEVEL
value: debug
controlPlaneRef:
type: konnectNamespacedRef
konnectNamespacedRef:
name: gateway-control-plane
' | kubectl apply -f -
Since creating a Data Plane Group Configuration can take some time, you can monitor its status by checking the dataplane_groups
field. Data Plane Group Configurations receive this field when they are successfully provisioned in Konnect.
kubectl get -n kong konnectcloudgatewaydataplanegroupconfiguration.konnect.konghq.com eu-west-1 -o=jsonpath='{.status.dataplane_groups}' | yq -p json
Validation
Check that Programmed
is True
on the konnect-cg-dpconf
resource:
You can verify the KonnectCloudGatewayDataPlaneGroupConfiguration
was reconciled successfully by checking its Programmed
condition.
kubectl get -n kong konnectcloudgatewaydataplanegroupconfiguration konnect-cg-dpconf \
-o=jsonpath='{.status.conditions[?(@.type=="Programmed")]}' | jq
The output should look similar to this:
{
"observedGeneration": 1,
"reason": "Programmed",
"status": "True",
"type": "Programmed"
}