Replies: 3 comments 3 replies
-
As you noted, graceful shutdown can only be configured by a kubelet configuration file, not via args. You're trying to do it via an arg, which the kubelet correctly reports as unknown. You should create a kubelet configuration file, and reference it from your args: kubelet-arg:
- "--protect-kernel-defaults=true"
- "--alsologtostderr=true"
- "--anonymous-auth=false"
- "--streaming-connection-idle-timeout=5m"
- "--eviction-hard=memory.available<250Mi"
- "--eviction-soft=memory.available<500Mi"
- "--eviction-soft-grace-period=memory.available=2m"
- "--kube-reserved=cpu=200m,memory=500Mi"
- "--system-reserved=cpu=200m,memory=500Mi"
- "--config=/etc/rancher/rke2/kubelet.config"
It's not up to us to decide what configuration the kubelet supports via CLI flags, and which can only be done via the config file. This is all part of core Kubernetes, not RKE2. |
Beta Was this translation helpful? Give feedback.
-
While i see your point, could not all arguments of the kublet-args be written equally the kublet conf? Right now im basically left wondering if my settings even apply until i provision the cluster. Another point would be all feature gates that could be used with any kubernetes components: |
Beta Was this translation helpful? Give feedback.
-
Want some help? |
Beta Was this translation helpful? Give feedback.
-
Environmental Info:
RKE2 Version: latest stable
Node(s) CPU architecture, OS, and Version:
MicroOS latest, amdx64
Cluster Configuration:
Freshly provisioned.
Describe the bug:
Node gracefull shotdown is only possible when providing your own kublet config, which is odd because i can add a number of different configuration values.
Steps To Reproduce:
In the RKE2 Config add
Expected behavior:
apply flags without question
Actual behavior:
LOG:
failed to parse kubelet flag: unknown flag: --shutdownGracePeriod
Additional context / logs:
This is of high priority in my opinion, how else would you enable automatic updates with the rancher provided updater?
PS: This can still be achieved by providing your own kubelet conf and applying the path in the config instead, BUT it shouldn't need to
Beta Was this translation helpful? Give feedback.
All reactions