Skip to content

mehdihasan/strimzi-playground

Repository files navigation

Strimzi Playground

What is happening here?

architecture-diagram

Depoyment

  1. Make sure you have docker and kind installed in your machine.

  2. Add the following to the end of your /etc/hosts file

    sudo nano /etc/hosts
    
    127.0.0.1     strimzi.bridge.local
    
  3. Then run the following from the root directory of the project:

    make
    

Interaction

You may can visualize the Kafka and other components using Grafana and Kafdrop. You may need to expose the containers to the host machine to access those. You can use the following commands for the above purpose:

# Expose Grafana
kubectl -n kafka port-forward service/grafana 31999:3000
# Expose Kafdrop
kubectl -n kafka port-forward service/demo-kafka-kafdrop 30900:9000
# Expose Prometheus
kubectl -n kafka port-forward service/prometheus 31090:9090
# Expose Kafka Connect REST endpoint
kubectl -n kafka port-forward service/kafka-connect-1-connect-api 38083:8083

Troubleshoot

  • In case if you got lots of Evicted pods:

    kubectl get pod -n kafka | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n kafka
    

Uninstall

When you are finished, you can uninstall the entire deployment with the following:

helm uninstall demo-kafka -n kafka

You may can delete the k8s cluster as well:

kind delete cluster

Development

Places that you should mention the Strimzi/Kafka versions:

  1. Kafka Connect Dockerfile
  2. Helm chart parent values file

Knowledge

  1. What is Kafka?
  2. Kafka Flavors
  3. What is Strimzi?
  4. Key configurations for Kafka, Connect and Zookeeper
  5. Monitoring and Alerting
  6. How Kafka Works
  7. Design Patterns and Use cases
  8. Unlocking Kafka's Potential: Tackling Tail Latency with eBPF