-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Add parameters for node container #199
Conversation
Add a parameter to create cluster command for specifying arguments to be passed to the node container run command. The `Arg' parameter receives a string with the parameters which are appended to the docker run command used for launching the node container. Signed-off-by: Pablo Chacin <[email protected]>
Welcome @pablochacin! It looks like this is your first PR to kubernetes-sigs/kind 🎉 |
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
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. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: pablochacin If they are not already assigned, you can assign the PR to them by writing 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 |
Hi @pablochacin. Thanks for your PR. I'm waiting for a kubernetes-sigs or kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
/hold |
@BenTheElder Could you please elaborate on how this PR could make sense. I agree that maybe using more specific arguments like "--port" or "--volume" may better. Do you think this may fit? Regarding the potential conflict with multi-node, can you please point-me to some specific issues you foresee or the code base for such feature such that I can check it myself? All that said, I presently needing this feature in order to use Kind as a development environment for the gardener project and I'm planning to add kind as a supported environment. |
Sorry for the delay - I focused on getting the initial-multi node in recently as we need it for testing, catching back up on these now 😓 For multi-node and extra flags to docker when creating the nodes you likely want these to be different depending on the node, probably we should add some extra fields to the node configs to allow exposing extra ports and mounting extra volumes. |
Also, that sounds awesome :-) Would love to help make that happen. Can we discuss how extra ports / volumes should work with others in issues first? I'd like to add something a little less brittle than directly plumbing through flags to docker (which also leaves room for EG #151) For ports we can use issue #99, and for volumes issue #62 should work I think. |
Thanks for the feedback @BenTheElder I was waiting to see how #147 evolved as t has a significant impact on how to expose the node's container engine parameters. I'm now also looking at #151 but apparently, besides changing I agree that addressing specific uses cases as you propose in #99 and #62 is a much better approach. Should we consider closing this PR then and move the conversation to those more specific cases? |
I think that's the way to go, thanks for understanding 😅
…On Thu, Jan 17, 2019 at 1:20 AM pablochacin ***@***.***> wrote:
Thanks for the feedback @BenTheElder <https://github.com/BenTheElder>
I was waiting to see how #147
<#147> evolved as t has a
significant impact on how to expose the node's container engine parameters.
I'm now also looking at #151
<#151> but apparently,
besides changing docker for container.Engine the structure of code,
parameters and main logic remains the same as before.
I agree that addressing specific uses cases as you propose in #99
<#99> and #62
<#62> is a much better
approach. Should we consider closing this PR then and move the conversation
to those more specific cases?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#199 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AA4Bq6vfFNs1a1EFvJgbVazjgG2B39OJks5vEEBygaJpZM4ZyFMr>
.
|
* Fix wait conditions * Update changelog
What this PR does
Add a parameter to create cluster command for specifying
arguments to be passed to the node container run command.
This allows for example, exposing additional ports, or attaching
additional volumes. This is necessary to complement the ability
to create custom node images.
The 'args' parameter receives a string with the parameters
which are appended to the docker run command used for
launching the node container.
For example the command bellow allows mapping port 8000
exposed by a custom node image.
kind create cluster --args "-p 8000:8000
How to test feature
Create cluster exposing port 2379 (etcd)
>kind create cluster --args "--expose 2379 -p 2379:2379
After the cluster has been create, check the port is actually exposed:
> docker inspect kind-1-control-plane | jq '.[].HostConfig.PortBindings[][].HostPort' | grep -o 2379
2379
Signed-off-by: Pablo Chacin [email protected]