Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redis Master does not come up #8

Closed
adurai81 opened this issue Aug 14, 2019 · 6 comments
Closed

Redis Master does not come up #8

adurai81 opened this issue Aug 14, 2019 · 6 comments

Comments

@adurai81
Copy link

adurai81 commented Aug 14, 2019

I ran through the steps, but there are no redis instances available.

kubectl create namespace redis-operator
kubectl apply -Rf deploy
kubectl -n redis-operator get deployment
kubectl create -f example/k8s_v1alpha1_redis_cr.yaml
kubectl get redis example

NAME      MASTER   REPLICAS   DESIRED   AGE
example                       3         10h

Additional Info

kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-04T04:49:22Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"12+", GitVersion:"v1.12.7-3+1a4d39a9763d23", GitCommit:"1a4d39a9763d23548d16e262d6dbe0fb2198a8ce", GitTreeState:"clean", BuildDate:"2019-03-27T01:47:38Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"linux/amd64"}

Can you pls take a look ?

Let me know if you need any logs/additional detail.

@nrvnrvn
Copy link
Collaborator

nrvnrvn commented Aug 15, 2019

Hi!

Is there anything in logs of the operator?
Has it created all services, statefulset, et al.?

@step76
Copy link
Contributor

step76 commented Aug 22, 2019

We had the same problem.

We noticed that the probem happens when the instances have some data to load at start, while loading the dataset a redis instance is live (respond PONG to PING), ma does not accept commands.

We solved adding the initialDelaySeconds and setting it to 120 seconds.

mmbsoftware-it@3a63f7f

@nrvnrvn
Copy link
Collaborator

nrvnrvn commented Aug 23, 2019

thanks for the explanation @step76!

What size is the dataset? I wonder if I could reproduce this behaviour.

Also, your fork looks quite interesting! I examined it a bit and have a small question: why did you decide to add an init container for disabling transparent huge pages instead of doing the same via a DaemonSet with properly set up Pod Priorities?

I mean there are multiple ways to deal with kernel settings. I am curious why you chose the initContainers path.

@step76
Copy link
Contributor

step76 commented Aug 23, 2019

Our dataset is about 1GB and on our GKE cluster takes 30/40 seconds to load on startup.

I don't like the DaemonSet approach because it tends to introduce too many dependencies. For example, in the article you mentioned I don't like the approach of assigning a label to the node.

initContainers guarantees the order of execution, moreover the POD dies before the main one starts and I have everything in a single YAML file.

But now I want to investigate better the Pod Priorities that I didn't know about.

If you want I can submit PR.

@nrvnrvn
Copy link
Collaborator

nrvnrvn commented Aug 23, 2019

yep, a PR would be great.

I would be happy to know your findings about Pod Priorities as well. We are currently relying on them for ordered scheduling of pods.

@nrvnrvn
Copy link
Collaborator

nrvnrvn commented Sep 25, 2019

fixed in #9

@nrvnrvn nrvnrvn closed this as completed Sep 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants