Trouble with installing ECK on my RKE2 Kubernetes cluster

I'm just trying to follow the instructions on the elastic docs for their quick start guide to deploy ECK on my cluster and I can't get the "quickstart-es-default-0" pod to spin up. I'm following all the instructions.

Does anyone know if there is something wrong with the docs or something. I'm doing what they tell me to do.

I do a "kubectl get elasticsearch" and the health is still at unknown with the phase saying ApplyingChanges and its been over an hour. I'm running a single node cluster and I have 32GB of memory. Shouldn't have any issues.

In the logs it just keeps saying: "skipping pod because it has no IP yet. Elasticsearch cannot be reached yet, re-queuing service. Ending reconciliation run".

HI Michael,

What are the state of the pod on the namespace (kubectl get po -n <elastic_ns>) when you inspect the pod what are the events on k8s (kubectl describe -n <elastic_ns> po <pod_name>) sometimes there are problem whith storageclass or other things that let one or more pod in pending state when building the elasticsearch cluster.

Reagrds,
Christophe

Hi Christophe!

Thank you for replying to my post! So I ran those commands. I find the "elastic-operator-0" pod running but the "quickstart-es-default-0" pod still in a pending state.

Then I ran the describe command and found that there was a failed scheduling saying something about PersistentVolumeClaims for the "quickstart-es-default-0" pod.

Here is the describe command for the other pod that is running.

So your right, and I was having the same issue with my helm installs too. I'm new to Kubernetes and haven't wrapped my head around all the concepts yet. It appears I'm having a problem with my storage class when the warnings tell me that the pod has an unbound persistent volume claim.

Thank you again for replying to my question!!

Could you send me the manifest for YOUR quickstart and don't forget to set en pvc for ALL nodes with the correct storageclass if not all nodes wait their PVC. Verify the name maybe a typo on storageclass used for PVC ... :slight_smile:

I don't know where the manifest is and I didn't make a PVC. lol, I was just following the docs on the elastic site for ECK. => Deploy ECK in your Kubernetes cluster | Elastic Cloud on Kubernetes [2.7] | Elastic

Just found some great Medium articles on this very subject and they explain how to deploy ECK on K8s using a manifest and PVCs. I'll read them.

Good for you. DOn't hesitate to share the issue you encounter :slight_smile:

Will do Christope! Thank you for everything so far! I'll reach out to you when I need help.

I managed to standup a ECK instance on my cluster. I installed Longhorn and the quick start guide worked. I'm new to kubernetes and persistent storage. I'm still trying to learn how to set up a proper persistent storage for elastic and also expose kibana to external use.

Just an FYI, since you're new to Kubernetes, if you don't want/need the data to be persistent, you can leverage the emptyDir functionality. This is generally useful when your just learning Elasticsearch and want to spin up/down cluster and you don't care about the data on them (as it will be delete when destroy)

Awesome! Thank you Ben! I'll try that in the future. Right now I'm facing issues with allowing my Kibana to be reached with an external IP. I'm learning about MetalLB, Nodeport, and Ingress. What should I do?

I'd recommend to keep going down that path and learning a bit more about it. Those 3 things (Load Balancing, NodePorts, and Ingress) are pretty important fundamentals for Kubernetes, and will be extremely helpful in knowing not just for Kibana, but also for Kubernetes in general.

Okay Thank you Ben! I will.