-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
Installing kubeadm should mention about kubeadm config file #22916
Comments
@inductor the it links to: on the godoc page there is an example like so:
|
with the above documentation links / examples i have not seen any recent reports of users being confused. /priority awaiting-more-evidence |
@neolit123 My point is that even adding reference link to the config option would be better. When using Docker, kubeadm will automatically detect the cgroup driver for the kubelet and set it in the /var/lib/kubelet/config.yaml file during runtime.
- If you are using a different CRI, you have to modify the file with your cgroupDriver value, like so:
+ If you are using a different CRI, you have to modify the initial setting with your cgroupDriver value and add pass it when you execute kubeadm init. For further details, please read [Using kubeadm init with a configuration file](/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file)
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: <value> What do you think? |
proposing a minor change to the above:
please send a PR for this if you can. |
Created it! |
Hi @neolit123 , on above - ok there is at least one user of that kind now, myself. See my confusion here: I was totally sure that for just adding systemd as cgroup driver (and nothing more different to the default As you can imagine, I was quite puzzled by the result... Fortunately, I found this page, and realised what a silly sausage I was. The initial suggestion by @inductor , with his config snippet, really helped (thanks!!) - that was exactly what I needed. Since the recommended runtime now is |
hi, we have a new WIP page that will be dedicated to cgroup drivers entirely: |
Agreed: I have been confused also for the last couple of hours, and searching finally led to this issue. |
Issue like this should not be closed. |
@tengqm: Reopened this issue. In response to this:
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. |
@inductor: This issue is currently awaiting triage. SIG Docs takes a lead on issue triage for this website, but any Kubernetes member can accept issues by applying the The 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. |
When talking about the config-file for In my case, I need to set the So I can implicate that this is a gerenal solution. However, the docs should mention this explicitly. |
This is also very confusing for me. I could not find how to use the kubelet-configuration with kubeadm in this docs. https://pkg.go.dev/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2?utm_source=godoc seems to help in this case. |
@rdxmb did you see this section for kubeadm init? both the kubeadm init and join documentation pages link to the kubeadm API from where you can pick e.g. v1beta2 and it has examples how to pass KubeletConfiguration to kubeadm init: from there users need to understand what fields the KubeletConfiguration has. |
and to respond to the original issue (again) here the "installing kubeadm" guide now also has:
most users understand what they need to do after clicking that link, but some would still get confused. due to the cgroup driver configuration issue this PR: unless users have more specific requests on how to organize the docs? |
yes, but that site does not tell anything about the syntax and structure for that config file.
I must admit that I have never scrolled to the end of that page. For me, it was not transparent that I have to use "Directories" to get the link to v1beta2, which will finally lead me to the information I wanted. That's why I asked for the link to https://pkg.go.dev/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2 itself.
Here is no link to "Directories". Where do I find the syntax for the KubeletConfiguration within the yaml-config-file?
I was confused because that link does not explain how to use the KubeletConfiguration with
This was my suggestion: #22916 (comment) . Another solution would be here: #27192 Maybe someone else can check what will be helpful here. EDIT:
Could we also have the 3 or 4 steps to create a configuration file instead of linking to the |
it's an API presented to the user in a standard godoc format. i'm surprised that you as a system engineer are having trouble parsing this aspect.
that's actually a bug. prior to the new godoc we design it was possible to HTML anchor link to the subdirectories.
it's not a directory because the KubeletConfiguration is not a kubeadm structure, it's a kubelet structure. the kubeadm v1beta2 page links to the KubeletConfiguration, did you see this?
here https://pkg.go.dev/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2
currently users must navigate to https://pkg.go.dev/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm or https://pkg.go.dev/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2 directly. a number of kubeadm pages link to that already.
this is a bit vague to me, still.
this change seems fine to me, but i cannot approve it since it's for the kubelet pages.
sure, we can keep this issue open until that happens.
its not "config view", but rather "config print init-defaults". apiVersion: kubeadm.k8s.io/v1beta2
kind: InitConfiguration
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration but nothing more, just the link to https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm#pkg-subdirectories which is already there. PRs welcome. |
@neolit123 First, thank you for taking so much time and your questions to understand that! I also want to help with my point of view so I hope this will be transparent. First, I want to answer your points. Then, in my next comment, I'd like to describe my "jouney" through the docs on the wrong tracks...
I've just commented it...
Ok, thanks. You see, this is the "inner" way to see it. For administrating it, it is not that easy to see why it's so complicated to find those simple things (see also my next comment)
To be honest: No. But after so many hours lost in space, I did not take the time to have a look at that in detail. So this definitely was my fault. Sorry.
I already knew that I have to use the config file instead of the command-line-tools. So I know this page, but do not read it for my actual problem. (see next comment: lost in space)
This did not seem to be a syntax for me which can be used for my kubelet configuration.
Yes, this is perfect! This is what I was looking for for 2 days :)
This seems to be the biggest barrier here.
Do you find one of them when searching for kubelet config :) ?
I will add a new comment or maybe another issue to discuss that.
Thanks.
I see. Ok, I will try to help more precisely. The thing for me is to understand the way it works without having the docs I would have needed - and the give the feedback what would have been helpful.
I would never have the idea that I have to do that to create the config I need to change, when I have to change the kubelet-config.
Yes, this exactly should be explained on a page like https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file
and broken ;)
Will you make one to fix the link to https://pkg.go.dev/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm?utm_source=godoc#section-directories ? If not, I can do that. |
This refered to https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file , not to the API documentation.
I'll try to show you my confusing way through the docs. I hope we see wenn I got lost :)
This is the first time I get lost - where I created this issue: #27188 . So you see I was on the very wrong way.
For now I am still using docker, so I have no idea that this is also the solution for my case.
BUT: editing /var/lib/kubelet/config.yaml is not a good idea... . I know that this is NOT the solution. Lost in space... EDIT: hopefully better with #27201
This really does NOT sound that it could be the solution for my problem. However, if I had a full example of the config file meant here, I would have seen that it also had a
|
no problem, but i don't have much time to debate this close to a kubernetes release (1.21). EOD, every single change gets approved by the kubernetes/website maintainers and not by component maintainers like me.
you can update the link in k/website. |
Oh, I thought you were a docs maintainer. Thanks for your help. still.
|
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
/close |
@rdxmb: Closing this issue. In response to this:
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. |
This is a Feature Request
The Installing kubeadm document says as follows
When using Docker, kubeadm will automatically detect the cgroup driver for the kubelet and set it in the
/var/lib/kubelet/config.yaml
file during runtime.If you are using a different CRI, you have to modify the file with your
cgroupDriver
value, like so:This sounds like saving the yaml file in
/var/lib/kubelet/config.yaml
IS used inkubeadm init
but it actually isn't.You need to specify the --config option when running
kubeadm init
Ref. kubernetes/kubeadm#2240
What would you like to be added
Add kubeadm config and pass it to
kubeadm init
command.Example:
Why is this needed
To avoid confusion
Comments
The text was updated successfully, but these errors were encountered: