jeremylvln / Shulker

A Kubernetes operator for managing complex and dynamic Minecraft infrastructures, including game servers and proxies.
https://shulker.jeremylvln.fr/
GNU Affero General Public License v3.0
163 stars 11 forks source link

Regis stuck Pending -- following "getting-started" tutorial #521

Open EmmettPeck opened 3 months ago

EmmettPeck commented 3 months ago

What happened?

I am following the "getting started" tutorial from the documentation, but getting-started-redis-managed-0 never makes it past pending, causing proxy nodes to fail on startup with the same error code as #250.

I am using the helm instructions from the installation page. I am having the same issue with v0.8.0 and v0.8.1. Regis is still pending after 30 minutes of following the steps up to cluster.yaml.

kubectl describe node <regis-node> yields:

Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  2m33s (x4 over 17m)  default-scheduler  0/4 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/4 nodes are available: 4 Preemption is not helpful for scheduling.

Any help would be greatly appreciated. I would love the opportunity to work with this technology.

What components are involved in your issue?

Operator, Proxy API

Version

v0.8.1

Kubernetes Version

1.30.0

Relevant log output

No response

Code of Conduct

jeremylvln commented 3 months ago

Hi @EmmettPeck,

It seems to be an issue with your cluster and not Shulker directly. pod has unbound immediate PersistentVolumeClaims means that your Kubernetes Cluster has not succeeded provisioning Redis's Volume. Can you take a look at the volume resource to see what is failing?

You can also test this simple tutorial from Kubernetes just to ensure your cluster can handle Volume s.

Get back to me when you'll have the results! Thanks!

danielr1996 commented 1 month ago

Hey @jeremylvln, picking up on this one because I have a similiar issue: My Cloud Provider is vultr and only allowes volumes > 40GB, on other cloud providers I came across I needed to set a specific annotation to set the datacenter location. I think it would be a good idea to let users configure storage size, annotations and labels through the ProxyFleet

jeremylvln commented 1 day ago

Hi @danielr1996, I totally agree with you. Allowing configuration for annotations & storage size is legitimate.

The issue here is to find the right balance, because I create a "simple enough" Redis instance only to have a ready Shulker cluster in minutes. However, one deploying a production cluster should provide its own Redis cluster, properly configured for its environment. I do not want to have a lot of configuration options for the "default" Redis, because I do not want people to use it in production.