Create a Kafka service
Apply the following object on your namespace, as specified by its YAML description.
Example to create a Kafka instance
apiVersion: exoscale.appcat.vshn.io/v1
kind: ExoscaleKafka
metadata:
name: my-kafka-example (1)
namespace: my-namespace (2)
spec:
parameters:
service:
kafkaSettings:
connections_max_idle_ms: 60000 (3)
zone: ch-dk-2 (4)
size:
plan: startup-2 (5)
writeConnectionSecretToRef:
name: kafka-creds (6)
1 | Instance name |
2 | The namespace where the object will be created. |
3 | Specify custom Kafka settings [optional] |
4 | The Exoscale zone to use, see list of regions |
5 | See reference for a list of plans |
6 | Secret where the connection details are provisioned. This secret shouldn’t exist before creation. |
To get more information about all available configuration options, please see the API Reference |
Inspect your new Kafka service
$ oc get exoscalekafka
NAME PLAN ZONE VERSION READY CONNECTION-SECRET AGE
my-kafka-example startup-2 ch-dk-2 3.2 True kafka-creds 15m
When you see True
in the READY column, it means the instance is provisioned and ready to use.
The provisioning time of Kafka can be quite long, and it might take up to 15 minutes for the instance to be ready. |
Find the connection details
The connection details are stored in a secret. You can retrieve them with the following command:
$ oc get secrets kafka-creds -o yaml
The output of the command above is a secret specification with the following structure:
apiVersion: v1
kind: Secret
metadata:
name: kafka-creds
stringData:
KAFKA_HOST: my-kafka.my-cloud.com (1)
KAFKA_NODES: 127.0.0.1:21701 127.0.0.2:21701 127.0.0.3:21701 (2)
KAFKA_PORT: 21701 (3)
KAFKA_URI: my-kafka.my-cloud.com:21701 (4)
ca.crt: | (5)
-----BEGIN CERTIFICATE-----
HexValues
-----END CERTIFICATE-----
service.cert: | (6)
-----BEGIN CERTIFICATE-----
HexValues
-----END CERTIFICATE-----
service.key: | (7)
-----BEGIN CERTIFICATE-----
HexValues
-----END CERTIFICATE-----
1 | Hostname for the Kafka instance |
2 | List of Kafka Node IPs |
3 | Port the Kafka instance listens on |
4 | Full URI including port number |
5 | Certificate Authority to verify the Kafka instance certificate |
6 | Client certificate to authenticate to the instance |
7 | Client key to authenticate to the instance |
Not all fields apply to all providers |