-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
containerd: introduce a new field to enable NRI #15994
Conversation
/cc @hakman |
Validation of the version should be in pkg/apis/kops/validation/validation.go, specifically validateContainerdConfig() |
Is there never going to be anything else we will need to configure around NRI? How would one get the domain or vendor-specific logic plugged in? |
cb7ce8a
to
723e3ed
Compare
That's a good point. I discussed with @klihub, who has implemented NRI feature, about what parameters would be good to expose in kOps config. We agreed that at this stage of the NRI, it is good enough to have enabled, socketPath, pluginRegistrationTimeout and pluginRequestTimeout options. In case, if user wants to configure additional parameters then configOverride can be used perhaps. We could see how users adapt to using NRI via kOps and if there is a need that arises to add other parameters of NRI in kOps we can come back and add those too in the future.
Those logics are referred to as NRI plugins. Currently, there is a project called containers/nri-plugins which serves as a collection of community-maintained NRI plugins. These plugins operate as Kubernetes applications, utilizing resources like DaemonSets and ConfigMaps. Essentially, through kOps, administrators have the capability to enable NRI and subsequently install a plugin on their own. /cc @kad |
to second what @fmuyassarov already wrote: we don't want at current stage to add to deployments tools, like kops, too much of the parameters of NRI. The key part is to give cluster owners to easily enable feature and configiure the most important bits: enable flag, socket path and timeouts. Anything else if needed can be easily added later into structure if field feedback would really request it. |
I also think that at this point it would be enough for us to have the ability to enable NRI and configure/override the timeout parameters. |
/test pull-kops-e2e-k8s-aws-calico |
723e3ed
to
babf206
Compare
@johngmyers, Unfortunately, I'm unable to pinpoint the exact reason behind the failings tests. Those CI checks that have failed seems due to running |
@fmuyassarov I think you need to run |
@hakman I did that :)
|
Hmm, it is strange that I don't see deep copy changes here on the PR. At the same time, |
Is the |
Yes. It is. I will give it a try. |
@hakman moving out the project from GOPATH did work. Thank you for help. |
8e5b9c2
to
dcaacf8
Compare
@johngmyers PTAL. Thanks. |
/cc @hakman |
ping @hakman @johngmyers Hi. Would you folks have some time to take a look at the PR? |
dcaacf8
to
c0bf0dc
Compare
c0bf0dc
to
6fdb3fc
Compare
6fdb3fc
to
a410027
Compare
/hold for confirmation that manual tests are passing |
@fmuyassarov: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. I understand the commands that are listed here. |
Node Resource Interface (NRI) is a common framework for plugging domain or vendor-specific custom logic into container runtime like containerd. This commit introduces a new congiguration field `containerd.nri`, providing cluster admins the flexibility to opt in for this feature in containerd and tune some of its parameters. By default, NRI is disabled here in accordance with the containerd's default config file. Signed-off-by: Feruzjon Muyassarov <[email protected]>
a410027
to
0aeab5e
Compare
Tests issues are now resolved. |
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.
Thanks @fmuyassarov! :)
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: hakman The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Node Resource Interface (NRI) is a common framework for plugging domain or vendor-specific custom logic into container runtime like containerd. This commit introduces a new field
containerd.nri
, providing cluster admins the flexibility to opt in (defaulted to disabled) for this feature in containerd. By default, NRI is disabled here in accordance with the containerd's default config file. Since NRI support was added to containerd starting from1.7.0
release, I've added also check to ensure that at least it is1.7.0
release of containerd that is in use.Example: