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

Configurable Pod Process Namespace Sharing #495

Open
verb opened this Issue Oct 24, 2017 · 30 comments

Comments

Projects
None yet
@verb
Contributor

verb commented Oct 24, 2017

Feature Description

  • One-line feature description (can be used as a release note): Users can configure containers within a pod to share a common PID namespace by setting an option in the PodSpec.
  • Primary contact (assignee): @verb
  • Responsible SIGs: sig-node
  • Design proposal link (community repo): https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/pod-pid-namespace.md
  • Link to e2e and/or unit tests:
  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred: @yujuhong
  • Approver (likely from SIG/area to which feature belongs): @dchen1107
  • Feature target (which target equals to which milestone):
    • Alpha release target (1.10)
    • Beta release target (1.12)
    • Stable release target (1.15)

@verb verb changed the title from Configurable Pod PID Namespace Sharing to Configurable per-pod PID Namespace Sharing Oct 24, 2017

@verb

This comment has been minimized.

Contributor

verb commented Oct 24, 2017

/sig node

@verb

This comment has been minimized.

Contributor

verb commented Oct 24, 2017

/assign @verb

@idvoretskyi idvoretskyi added this to the 1.9 milestone Oct 24, 2017

@zacharysarah

This comment has been minimized.

Contributor

zacharysarah commented Nov 22, 2017

@verb 👋 Please indicate in the 1.9 feature tracking board
whether this feature needs documentation. If yes, please open a PR and add a link to the tracking spreadsheet. Thanks in advance!

@zacharysarah

This comment has been minimized.

Contributor

zacharysarah commented Nov 29, 2017

@verb Bump for docs ☝️

/cc @idvoretskyi

@verb

This comment has been minimized.

Contributor

verb commented Nov 30, 2017

@zacharysarah updated tracking, feature slips to 1.10

@verb verb changed the title from Configurable per-pod PID Namespace Sharing to Configurable Pod Process Namespace Sharing Jan 10, 2018

k8s-merge-robot added a commit to kubernetes/kubernetes that referenced this issue Jan 10, 2018

Merge pull request #58100 from verb/feature-shared-pid
Automatic merge from submit-queue (batch tested with PRs 54230, 58100, 57861, 54752). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add a feature flag for sharing process namespace between containers in a pod

**What this PR does / why we need it**:
This adds a feature flag for the feature described in kubernetes/enhancements#495.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
/assign @dchen1107 

**Release note**:

```release-note
NONE
```
@jberkus

This comment has been minimized.

jberkus commented Jan 12, 2018

Hey, can you change the milestone for this to 1.10 so that the release team can track it properly? Thanks.

@verb

This comment has been minimized.

Contributor

verb commented Jan 15, 2018

@jberkus who, me? I don't think I can. At least, it's not listed as a bot command

@yujuhong yujuhong modified the milestones: v1.9, v1.10 Jan 16, 2018

@idvoretskyi

This comment has been minimized.

Member

idvoretskyi commented Jan 22, 2018

/kind feature

@verb

This comment has been minimized.

Contributor

verb commented Feb 1, 2018

This feature is on track for alpha in 1.10.

@verb

This comment has been minimized.

Contributor

verb commented Feb 27, 2018

Feature will be included as alpha in 1.10.

k8s-merge-robot added a commit to kubernetes/kubernetes that referenced this issue Mar 5, 2018

Merge pull request #60509 from verb/pid-e2e
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add node-e2e test for ShareProcessNamespace

**What this PR does / why we need it**: Adds a node-e2e test for kubernetes/enhancements#495

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #59554

**Special notes for your reviewer**: This requires a feature gate to be enabled in both the kubelet and API server. I'm not sure which jenkins configs need to be updated (or if these are even still used) so I just updated a pile of them.

opened kubernetes/test-infra#7030 for https://github.com/kubernetes/test-infra/blob/master/jobs/config.json

**Release note**:

```release-note
NONE
```
@justaugustus

This comment has been minimized.

Member

justaugustus commented Apr 17, 2018

@verb
Any plans for this in 1.11?

If so, can you please ensure the feature is up-to-date with the appropriate:

  • Description
  • Milestone
  • Assignee(s)
  • Labels:
    • stage/{alpha,beta,stable}
    • sig/*
    • kind/feature

cc @idvoretskyi

@justaugustus

This comment has been minimized.

Member

justaugustus commented Apr 20, 2018

Thanks for the update, @verb!

@justaugustus

This comment has been minimized.

Member

justaugustus commented Jul 18, 2018

@verb --

It looks like this feature is currently in the Kubernetes 1.12 Milestone.

If that is still accurate, please ensure that this issue is up-to-date with ALL of the following information:

  • One-line feature description (can be used as a release note):
  • Primary contact (assignee):
  • Responsible SIGs:
  • Design proposal link (community repo):
  • Link to e2e and/or unit tests:
  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred:
  • Approver (likely from SIG/area to which feature belongs):
  • Feature target (which target equals to which milestone):
    • Alpha release target (x.y)
    • Beta release target (x.y)
    • Stable release target (x.y)

Set the following:

  • Description
  • Assignee(s)
  • Labels:
    • stage/{alpha,beta,stable}
    • sig/*
    • kind/feature

Once this feature is appropriately updated, please explicitly ping @justaugustus, @kacole2, @robertsandoval, @rajendar38 to note that it is ready to be included in the Features Tracking Spreadsheet for Kubernetes 1.12.


Please note that the Features Freeze is July 31st, after which any incomplete Feature issues will require an Exception request to be accepted into the milestone.

In addition, please be aware of the following relevant deadlines:

  • Docs deadline (open placeholder PRs): 8/21
  • Test case freeze: 8/28

Please make sure all PRs for features have relevant release notes included as well.

Happy shipping!

@verb

This comment has been minimized.

Contributor

verb commented Jul 21, 2018

@justaugustus, @kacole2, @robertsandoval, @rajendar38 afaik I don't have permission to set the stage/beta label, but otherwise this feature is ready to be included in the Features Tracking Spreadsheet for Kubernetes 1.12

@justaugustus

This comment has been minimized.

Member

justaugustus commented Jul 22, 2018

@verb -- thanks for the update! I've added this to 1.12 tracking sheet.
In future, I believe everyone should be able to edit the stages like this:
/remove-stage alpha
/stage beta

@zparnold

This comment has been minimized.

Member

zparnold commented Aug 20, 2018

Hey there! @verb I'm the wrangler for the Docs this release. Is there any chance I could have you open up a docs PR against the release-1.12 branch as a placeholder? That gives us more confidence in the feature shipping in this release and gives me something to work with when we start doing reviews/edits. Thanks! If this feature does not require docs, could you please update the features tracking spreadsheet to reflect it?

@verb

This comment has been minimized.

Contributor

verb commented Aug 21, 2018

@zparnold

This comment has been minimized.

Member

zparnold commented Aug 25, 2018

@justaugustus

This comment has been minimized.

Member

justaugustus commented Sep 5, 2018

@verb --
Any update on docs status for this feature? Are we still planning to land it for 1.12?
At this point, code freeze is upon us, and docs are due on 9/7 (2 days).
If we don't here anything back regarding this feature ASAP, we'll need to remove it from the milestone.

cc: @zparnold @jimangel @tfogo

@tpepper

This comment has been minimized.

Contributor

tpepper commented Sep 6, 2018

looks like it merged in kubernetes/kubernetes#66507

@justaugustus

This comment has been minimized.

Member

justaugustus commented Sep 6, 2018

What about the docs?

@verb

This comment has been minimized.

Contributor

verb commented Sep 6, 2018

@justaugustus no need for threats, I've been responsive to every query so far. The docs PR is linked in #495 (comment) and it's linked in the feature tracking spreadsheet with all of the others. If I failed to meet an expectation I'm not sure what it was.

@justaugustus

This comment has been minimized.

Member

justaugustus commented Sep 6, 2018

@verb -- apologies! I think this one got caught in the deluge of my copy / paste pings. Thanks for the speedy updates! :)

To your question, once the docs PR merges, we're good to go.

@srikumar-b

This comment has been minimized.

srikumar-b commented Sep 20, 2018

@verb -- quick question on Container filesystems are visible to other containers in the pod through the /proc/$pid/root magic symlink. Does it mean, all the volume mounts of other containers also be accessible from the magic symlink?

@verb

This comment has been minimized.

Contributor

verb commented Sep 23, 2018

@srikumar-b yes, it does

@ameukam

This comment has been minimized.

Contributor

ameukam commented Oct 5, 2018

Hi folks,
Kubernetes 1.13 is going to be a 'stable' release since the cycle is only 10 weeks. We encourage no big alpha features and only consider adding this feature if you have a high level of confidence it will make code slush by 11/09. Are there plans for this enhancement to graduate to beta/stable within the 1.13 release cycle? If not, can you please remove it from the 1.12 milestone or add it to 1.13?

We are also now encouraging that every new enhancement aligns with a KEP. If a KEP has been created, please link to it in the original post. Please take the opportunity to develop a KEP.

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Oct 8, 2018

@verb checking in on @ameukam's post if this has any plans to graduate in 1.13?

This release is targeted to be more ‘stable’ and will have an aggressive timeline. Please only include this enhancement if there is a high level of confidence it will meet the following deadlines:
Docs (open placeholder PRs): 11/8
Code Slush: 11/9
Code Freeze Begins: 11/15
Docs Complete and Reviewed: 11/27

Thanks!

@kacole2 kacole2 added tracked/no and removed tracked/yes labels Oct 8, 2018

@verb

This comment has been minimized.

Contributor

verb commented Oct 9, 2018

Hi @ameukam @kacole2, I plan on leaving this feature in beta for a few cycles and gather feedback. I'll set a preliminary stable target of 1.15. I expect nothing to change for 1.13.

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Oct 15, 2018

/milestone clear

@k8s-ci-robot k8s-ci-robot removed this from the v1.12 milestone Oct 15, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment