-
Notifications
You must be signed in to change notification settings - Fork 716
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
kubeadm-flags.env contains deprecated kubelet flags #949
Comments
thanks, @NeilW @stealthybox @detiber but to my understanding we don't have to write same goes for this (possible warning): maybe we should do as @NeilW suggests and only write these values to the config? |
+1 for only writing the value to the config file and not the env file. |
Why we don't only rely on the value in the config file is because this is OS/machine-specific. If I do |
^ the problem is just the warning here. the default value for the kubelet is already |
What warning is that?
hmm, I think it's the safest way to rely on the default (we don't set this explicitely in kubeadm, this is generated from kubelet defaulting) and duplicate... |
i think it's:
@NeilW can confirm. |
That's the one, and of course the issue of which resolver the system is actually using. Is there a reason to use the deprecated flag and not just write the value in the config file? If the flag is deprecated then at some point it will stop working won't it? |
@mtaufen can comment if he's planning to remove the flags in favor for doing config-only for this. |
for now, the kubelet command line flags override the config. this is stated in the docs too.
we can potentially override values in the config, too, i guess. but the user has to be notified in the lines of:
that's true. if we sync the kubelet / kubeadm efforts, the end user won't notice that on a new release - e.g. in 1.12. if kubeadm was out-of-tree and not bound to the k8s versioning we might have had a bigger problem. |
/assign @neolit123 |
I see what @luxas is getting at -- unless we have an alternate override mechanism, I'm unsure of how we could support this. With DynamicKubeletConfig, are we still planning to do the versioned, cluster-wide configs? Similar to flags would be providing a host-local config file that merges over the dynamic one. |
I think this also causes problems on Ubuntu 18.04. I just did a clean setup of Kubernetes with My |
@MattiasGees |
What takes precedence in the kubelet in |
@MattiasGees
|
for the next cycle we need to start thinking about deprecating the usage of CLI flags passed to the kubelet, because the flags are going away. changing milestone |
^ changing milestone again. we don't have bandwidth to move away from the kubelet deprecated flags this cycle. also it was discussed today that these flags might stay in the kubelet for a while before being removed. |
Windows flag handling will overlap with this work. |
/close |
@neolit123: 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. |
erm actually i'm just going to rename 1135 as it's about --allow-privileged |
work has started here kubernetes/kubernetes#86843 or at least the areas of kubeadm that are affected. |
/cc |
EDIT by neolit123:
help-wanted
k/k issue of migrating flags:
kubernetes/kubernetes#86843
the flags in this file have to be moved to KubeletConfiguration instead.
https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/phases/kubelet/flags.go
the kubelet supports some flags as config fields and we should use them instead because the flags are deprecated:
https://godoc.org/k8s.io/kubelet/config/v1beta1#KubeletConfiguration
buildKubeletArgMap needs to include only flags that are unique and are not present in the config.
BUG REPORT
Versions
kubeadm version (use
kubeadm version
):kubeadm version: &version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.0-rc.1", GitCommit:"8745ea56e3f1f3ad20050c1762eb6ba6f7786675", GitTreeState:"clean", BuildDate:"2018-06-20T23:58:14Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
Environment:
kubectl version
):Client Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.0-rc.1", GitCommit:"8745ea56e3f1f3ad20050c1762eb6ba6f7786675", GitTreeState:"clean", BuildDate:"2018-06-21T00:01:04Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
Brightbox
Ubuntu 18.04 LTS
uname -a
):Linux srv-fo4d2 4.15.0-23-generic Updating kubeadm manifests #25-Ubuntu SMP Wed May 23 18:02:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
What happened?
kubeadm init bootstrap sets both the
--resolv-conf
flag inkubeadm-flags.env
and theresolvConf
entry inconfig.yaml
And to different entries: the flag to the external resolver file, and the yaml entry to the systemd stub resolver.
This generates a warning in the journal.
What you expected to happen?
Just use the resolvConf in the yaml file and decide which resolver to use :-)
How to reproduce it (as minimally and precisely as possible)?
kubeadm init, and stop it during the certificate generation (would use
alpha phase preflight master
but it is still broken with flags and config files).Anything else we need to know?
Using containerd
The text was updated successfully, but these errors were encountered: