-
Notifications
You must be signed in to change notification settings - Fork 327
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
feat(k8s): add configuration to hold application launch until after sidecar is ready #5498
Conversation
@curtiscook @lukidzi will be able to help you with this implem. Don't hesitate to ping him in Slack if you want to have faster feedback/questions |
Thanks! |
@curtiscook still planning on working on this? |
Yes -- still need it, but haven't had any capacity to work on it lately |
30f34c3
to
a9510c3
Compare
lifecycle = kube_core.Lifecycle{ | ||
PostStart: &kube_core.LifecycleHandler{ | ||
Exec: &kube_core.ExecAction{ | ||
Command: []string{"command goes here"}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kumahq/kuma-maintainers The question is where should we add a command that is going to check if the sidecar is ready? There is a few options:
kumactl
- it feels like the right place for checking health but we don't includekumactl
binary inkuma-dp
imagekuma-dp wait
- we could include a script that checks if sidecar is ready inkuma-dp
- script that runs on the container(bash) - might be problematic because we are using light images without most of the additional packages
What are your opinions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like kuma-dp wait.
The kumactl option would make the container bigger
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also prefer kuma-dp wait
@@ -56,6 +56,10 @@ func DefaultKubernetesRuntimeConfig() *KubernetesRuntimeConfig { | |||
Memory: "512Mi", | |||
}, | |||
}, | |||
LifeCycle: LifeCycleEvents{ | |||
// Experimental feature, disabled by default | |||
SidecarInitTimeout: -1, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we use 0 as the default? We treat 0 and -1 the same.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, originally I thought that 0 would be for an infinite timeout instead of disabled. I'll change it
…ecar is ready Signed-off-by: c <curtis@commonstock.com>
Signed-off-by: c <curtis@commonstock.com>
Signed-off-by: c <curtis@commonstock.com>
Signed-off-by: c <curtis@commonstock.com>
…ecar is ready
Signed-off-by: c curtis@commonstock.com
Checklist prior to review
syscall.Mkfifo
have equivalent implementation on the other OS --UPGRADE.md
? --> Changelog:
entry here or add aci/
label to run fewer/more tests?