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

Admission Controller: Enhance PodPreset to inject containers and init containers #43874

Closed
andraxylia opened this issue Mar 30, 2017 · 21 comments
Labels
sig/network Categorizes an issue or PR as relevant to SIG Network. sig/service-catalog Categorizes an issue or PR as relevant to SIG Service Catalog.

Comments

@andraxylia
Copy link

andraxylia commented Mar 30, 2017

This is a feature request to add support in PodPreset for injecting containers and init containers.

Usecase: as a cluster admin, I need the ability to to inject an init container and a proxy sidecar container into a pod, to enable Istio microservices mesh functionality:
https://github.com/istio/istio

kubernetes/enhancements#162
kubernetes/community#254
kubernetes/community#132

@bgrant0607 bgrant0607 added sig/service-catalog Categorizes an issue or PR as relevant to SIG Service Catalog. sig/network Categorizes an issue or PR as relevant to SIG Network. labels Apr 26, 2017
@therc
Copy link
Member

therc commented Jun 2, 2017

Another use case: I want a PodPreset to add optionally an init container that fetches gdb/pprof and/or symbols before running the main container (which of course will have hooks to detect if the additional binaries/directories are present and act accordingly).

@ddysher
Copy link
Contributor

ddysher commented Jun 12, 2017

Use case: before kubernetes supports logging volume, one option to collect log file is to add a fluentd side car container.

krallistic added a commit to krallistic/kubernetes that referenced this issue Jul 7, 2017
Merge Container and InitContainer; fixed spelling

Reduced function header

Add Containers and InitContainers to PodPresets, kubernetes#43874
@mikecico
Copy link

Use case: Need to make a BCI jar and proxy agent available to containers via sidecar and shared volume, without modifying the target service containers.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 3, 2018
@mikecico
Copy link

mikecico commented Jan 3, 2018

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 3, 2018
@skurunji85
Copy link

This feature is exactly what i was looking for my work. I want to inject init container into POD spec based on some other setting during deployment. Can anyone tell me where to look to find the status of this feature.

@andraxylia
Copy link
Author

We wanted to use this feature in Istio (istio.io), but we ended up using admission controllers (initializer and now dynamic webhooks).

I am afraid nobody is working on it.

@skurunji85
Copy link

skurunji85 commented Jan 18, 2018

Thanks andraxylia! I will look into initializer and now dynamic webhooks.

@scottrigby
Copy link

I don't want to change the lifecycle tag on #55410 so I'm linking to it from this direction.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 27, 2018
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jul 27, 2018
@fejta-bot
Copy link

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

@mitar
Copy link
Contributor

mitar commented Oct 14, 2018

/reopen /remove-lifecycle rotten

@Alger7w
Copy link

Alger7w commented Oct 31, 2018

So I should write and deploy webhook callback services for every functionality I want to inject into a Pod ?

@mingfang
Copy link

mingfang commented Nov 26, 2018

PodPresets are declarative and an order of magnitude easier to use than webhooks. I don't see why this can't be done since I'm already using it to inject env variables.

@mikecico
Copy link

It does seem like a natural fit. Is there a reason why this shouldn't be allowed from a PodPreset?

@MaxFlanders
Copy link

This would be a major benefit. It fits extremely neatly into the skillset that new kubernetes users and operators have been learning to use, only requiring knowledge of label selectors and yaml pod definitions. Mutating webhooks require an entirely new skillset making them much harder to use for new kubernetes adopters.

@iwilltry42
Copy link

This project might be interesting for you: https://github.com/tumblr/k8s-sidecar-injector
I admit, that using PodPresets for this would be even better, but I think this also does a good job 👍

@rcreasey
Copy link

I, too, would be interested in seeing this be possible in a PodPreset.

/reopen
/remove-lifecycle rotten

@k8s-ci-robot
Copy link
Contributor

@rcreasey: You can't reopen an issue/PR unless you authored it or you are a collaborator.

In response to this:

I, too, would be interested in seeing this be possible in a PodPreset.

/reopen
/remove-lifecycle rotten

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Apr 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/network Categorizes an issue or PR as relevant to SIG Network. sig/service-catalog Categorizes an issue or PR as relevant to SIG Service Catalog.
Projects
None yet
Development

Successfully merging a pull request may close this issue.