### What happened?

kubelet option **imageMaximumGCAge** which allows an admin to specify a time after which unused images will be garbage collected by the Kubelet, regardless of disk usage. The value is specified as a Kubernetes duration; for example, you can set the configuration field to 3d12h, which means 3 days and 12 hours.
We set the value and kubelet is failing to start and below error is showing in journalctl logs

**May 29 15:46:05 node-10-120-127-63 kubelet[31112]: E0529 15:46:05.091483   31112 run.go:74] "command failed" err="failed to load kubelet config file, path: /var/lib/kubelet/config.yaml, error: failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to decode: time: unknown unit \"d\" in duration \"1d1h\**

This is how option is set in kubelet config
imageMaximumGCAge: 1d1h

If I change the duration to only hour e.g. 1h then it works without any issue

Here is the description about this option

https://kubernetes.io/docs/concepts/architecture/garbage-collection/





### What did you expect to happen?

option **imageMaximumGCAge** should accept the value as mentioned in the documentation in the format day and hours (1d1h) 

### How can we reproduce it (as minimally and precisely as possible)?

Edit the kubelet configuration file _/var/lib/kubelet/config.yaml_ and append the option _imageMaximumGCAge: 1d1h_ 
vi /var/lib/kubelet/config.yaml
Append below line
imageMaximumGCAge: 1d1h

Restart the kubelet service
sytemctl restart kubelet


### Anything else we need to know?

_No response_

### Kubernetes version

<details>

```console
$ kubectl version
Client Version: v1.30.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.1


</details>


### Cloud provider

<details>
Virtual machines are deployed on KVM environment
</details>


### OS version

<details>

```console
# On Linux:
$ cat /etc/os-release
NAME="SLES"
VERSION="15-SP3"
VERSION_ID="15.3"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP3"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15:sp3"
DOCUMENTATION_URL="https://documentation.suse.com/"

$ uname -a
Linux node-10-120-127-62 5.3.18-57-default #1 SMP Wed Apr 28 10:54:41 UTC 2021 (ba3c2e9) x86_64 x86_64 x86_64 GNU/Linux



</details>


### Install tools

<details>

</details>


### Container runtime (CRI) and version (if applicable)

<details>
#crictl version
Version:  0.1.0
RuntimeName:  containerd
RuntimeVersion:  v1.6.28
RuntimeApiVersion:  v1


</details>


### Related plugins (CNI, CSI, ...) and versions (if applicable)

<details>

</details>

kubelet option ImageMaximumGCAge not accepting value in format day and hour (1d1h)
This is a GitHub Issue
repo:kubernetes
owner:kubernetes
Title : kubelet option ImageMaximumGCAge not accepting value in format day and hour (1d1h)
Issue date:

--- start body ---
### What happened?

kubelet option **imageMaximumGCAge** which allows an admin to specify a time after which unused images will be garbage collected by the Kubelet, regardless of disk usage. The value is specified as a Kubernetes duration; for example, you can set the configuration field to 3d12h, which means 3 days and 12 hours.
We set the value and kubelet is failing to start and below error is showing in journalctl logs

**May 29 15:46:05 node-10-120-127-63 kubelet[31112]: E0529 15:46:05.091483   31112 run.go:74] "command failed" err="failed to load kubelet config file, path: /var/lib/kubelet/config.yaml, error: failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to decode: time: unknown unit \"d\" in duration \"1d1h\**

This is how option is set in kubelet config
imageMaximumGCAge: 1d1h

If I change the duration to only hour e.g. 1h then it works without any issue

Here is the description about this option

https://kubernetes.io/docs/concepts/architecture/garbage-collection/





### What did you expect to happen?

option **imageMaximumGCAge** should accept the value as mentioned in the documentation in the format day and hours (1d1h) 

### How can we reproduce it (as minimally and precisely as possible)?

Edit the kubelet configuration file _/var/lib/kubelet/config.yaml_ and append the option _imageMaximumGCAge: 1d1h_ 
vi /var/lib/kubelet/config.yaml
Append below line
imageMaximumGCAge: 1d1h

Restart the kubelet service
sytemctl restart kubelet


### Anything else we need to know?

_No response_

### Kubernetes version

<details>

```console
$ kubectl version
Client Version: v1.30.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.1


</details>


### Cloud provider

<details>
Virtual machines are deployed on KVM environment
</details>


### OS version

<details>

```console
# On Linux:
$ cat /etc/os-release
NAME="SLES"
VERSION="15-SP3"
VERSION_ID="15.3"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP3"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15:sp3"
DOCUMENTATION_URL="https://documentation.suse.com/"

$ uname -a
Linux node-10-120-127-62 5.3.18-57-default #1 SMP Wed Apr 28 10:54:41 UTC 2021 (ba3c2e9) x86_64 x86_64 x86_64 GNU/Linux



</details>


### Install tools

<details>

</details>


### Container runtime (CRI) and version (if applicable)

<details>
#crictl version
Version:  0.1.0
RuntimeName:  containerd
RuntimeVersion:  v1.6.28
RuntimeApiVersion:  v1


</details>


### Related plugins (CNI, CSI, ...) and versions (if applicable)

<details>

</details>

--- end body ---
