Open ohookins opened 2 weeks ago
The unfortunate workaround is to add the extra flag into the kubelet config directly:
userData: |
#!/bin/bash
echo "$(jq '.registryPullQPS=0' /etc/kubernetes/kubelet/config.json)" > /etc/kubernetes/kubelet/config.json
The other workaround is to do something like this -
spec:
userData: |
apiVersion: node.eks.aws/v1alpha1
kind: NodeConfig
spec:
kubelet:
config:
registry-qps: 0
That's a better workaround actually. Thanks!
Note that the config file parameters are slightly different to the flags though:
apiVersion: node.eks.aws/v1alpha1
kind: NodeConfig
spec:
kubelet:
config:
registryPullQPS: 0
Description
Observed Behavior: Customising the NodeClass with userdata in the format specified for AL2023 with custom Kubelet flags causes the Kubelet to crash loop. It is unable to start.
Expected Behavior: Customising the NodeClass with userdata in the format specified for AL2023 allows you to customise Kubelet flags.
Reproduction Steps (Please include YAML):
Due to how the customised node labels are passed through userdata and nodeadm, we can't further customise Kubelet flags when using AL2023 (or presumably any other OS using nodeadm).
When defining our
EC2NodeClass
(only relevant config shown):What ends up in
/etc/eks/kubelet/environment
:Since double quotes are used here, the additional flags are interpreted as a continuation of the node labels, and kubelet cannot start: