Create a Consumer and Consumer Group

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

Use the KongConsumer and KongConsumerGroup CRDs to configure consumers and groups in Konnect Gateway Manager through your Kubernetes cluster.

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 KongConsumer

Define a KongConsumer resource to provision a consumer in Konnect Gateway Manager.

echo '
kind: KongConsumer
apiVersion: configuration.konghq.com/v1
metadata:
  name: consumer
  namespace: kong
spec:
  controlPlaneRef:
    type: konnectNamespacedRef
    konnectNamespacedRef:
      name: gateway-control-plane
username: consumer
custom_id: '08433C12-2B81-4738-B61D-3AA2136F0212'
' | kubectl apply -f -
Copied to clipboard!

Create a KongConsumerGroup

Creating the KongConsumerGroup object in your Kubernetes cluster will provision a Konnect Consumer Group in your Gateway Manager.

echo '
kind: KongConsumerGroup
apiVersion: configuration.konghq.com/v1beta1
metadata:
  name: consumer-group
  namespace: kong
spec:
  name: consumer-group
  controlPlaneRef:
    type: konnectNamespacedRef
    konnectNamespacedRef:
      name: gateway-control-plane
' | kubectl apply -f -
Copied to clipboard!

Associate a Consumer with a Consumer Group

Update the Consumer to include the consumerGroups field referencing the target group.

echo '
kind: KongConsumer
apiVersion: configuration.konghq.com/v1
metadata:
  name: consumer
  namespace: kong
spec:
  controlPlaneRef:
    type: konnectNamespacedRef
    konnectNamespacedRef:
      name: gateway-control-plane
username: consumer
custom_id: '08433C12-2B81-4738-B61D-3AA2136F0212'
consumerGroups:
- consumer-group
' | kubectl apply -f -
Copied to clipboard!

Validation

Check that Programmed is True on the consumer resource:

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

kubectl get -n kong kongconsumer consumer \
  -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!