Administration Guides
Lister tous les pods kafka existants
Pour lister l'opérateur Kafka :
kubectl -n shared-stream get pods -l strimzi.io/kind=cluster-operator
NAME READY STATUS RESTARTS AGE
strimzi-cluster-operator-56c6f9866b-x7pd9 1/1 Running 0 43h
Pour lister tous les pods du cluster Kafka :
kubectl -n shared-stream get pods -l app.kubernetes.io/instance=shared-cluster
NAME READY STATUS RESTARTS AGE
shared-cluster-entity-operator-5d8f4f474b-fxz5j 2/2 Running 0 43h
shared-cluster-node-0 1/1 Running 0 43h
shared-cluster-node-1 1/1 Running 0 43h <- si en mode HA
shared-cluster-node-2 1/1 Running 0 43h <- si en mode HA
Lister tous les topics kafka existants
La commande est :
kubectl -n shared-stream get kafkatopics
NAME CLUSTER PARTITIONS REPLICATION FACTOR READY
escrim-dictionarytopic shared-cluster 1 2 False
escrim-indextopicknowledge shared-cluster 1 2 False
Consulter les messages dans un topic Kafka
Pour utiliser les scripts utilitaires spécifiques à kafka (kafka-console-consumer.sh ou kafka-consumer-groups.sh, ... ), il faut accéder au pod de kafka dans kubernetes via la console K8S. Une fois dans le pod, toutes les commandes des utilitaires Kafka sont disponibles.
Vous aurez besoin, pour les différentes commandes, d'un fichier contenant les credentials. Pour cela vous devez lancer la commande suivante :
echo -e 'sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="user" password="password";\nsecurity.protocol=SASL_PLAINTEXT\nsasl.mechanism=SCRAM-SHA-512' | tee /tmp/creds.properties
le user et le password sont à récupérer dans la KI de l'EDS requété (voir procedures EDS).

Lister les messages via l'outil kafka-console-consumer.sh, en utilisant le fichier de crédentials.
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic ivvqpkafka \
--group pkafka \
--from-beginning \
--consumer.config /tmp/creds.properties
Les messages sont listés. Taper ctrl+C pour sortir.
Compter le nombre de lignes dans un topic Kafka
./bin/kafka-run-class.sh org.apache.kafka.tools.GetOffsetShell --command-config /tmp/creds.properties --broker-list localhost:9092 --topic escrim-dictionarytopic --time -1
escrim-dictionarytopic:0:6
escrim-dictionarytopic:1:8
Dans l'exemple ci-dessus, le topic possède 6 messages sur la partition 0 et 8 sur la partition 1.
Consulter les offsets d'un groupe pour savoir où en est la lecture d'un topic
En utilisant un user qui a les droits de lecture sur le groupe voulu :
./bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group escrim --command-config /tmp/creds.properties
Consumer group 'escrim' has no active members.
GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
escrim escrim-dictionarytopic 0 6 6 0 - - -
escrim escrim-dictionarytopic 1 8 8 0 - - -
Dans cet exemple, les 6 messages de la partition 0 et les 8 messages de la partition 2 ont été lus par le groupe 'pkafe'.