Search code examples
amazon-web-serviceskubernetesamazon-eksstrimzi

Zookeeper Pods are in pending state when strimzi's sample kafka-persistent-single.yaml is deployed in AWS EKS


I am using 0.33 strimzi in AWS EKS with kubernetes 1.24 version. When I try to deploy kafka-persistent-single.yaml the zookeeper pods are in pending state. Storage class showing as gp2.

Events in pod says

running PreBind plugin "VolumeBinding": binding volumes: provisioning failed for PVC "data-my-cluster-zookeeper-0"

Events in PVC says

waiting for a volume to be created, either by external provisioner "ebs.csi.aws.com" or manually created by system administrator

However kafka-ephemeral-single.yaml works fine. What is the provision to be done for this?


Solution

  • The kafka-persistent-single.yaml uses persistent storage which has to be provisioned by you or your cluster. It uses the Persistent volume Claims and Storage class mechanism to do so. The Kubernetes events suggest that the storage provisioner didn't create it. This could have variety of reasons: Wrong storage class, some issues with the provisioner, some issues with your AWS account such as running into some limits etc. So that is where you should check for more details and logs.

    kafka-ephemeral-single.yaml is using the emptyDir storage. So it does not need any proper persistent disks to be provisioned (but it also does not offer any kind of reliability and is suitable only for shortlived ephemeral clusters such as CIs, integration tests or development etc.). That is why it works.