text: Title: container image garbage collector should use custom eviction thresholds
  Body: ### What happened?
  
  When setting custom eviction thresholds (e.g. imagefs.available), the garbage collector ignores them and uses default thresholds
  
  ### What did you expect to happen?
  
  Garbage collector should use configured thresholds as described in the [official doc](https://v1-21.docs.kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#hard-eviction-thresholds)
  
  ### How can we reproduce it (as minimally and precisely as possible)?
  
  1. Configure a node to use custom thresholds. In my case I used KubeletDynamicConfig with this configuration
  ```
  evictionHard:
    imagefs.available: 10%
    memory.available: 100Mi
    nodefs.available: 500Mi
    nodefs.inodesFree: 1%
  ```
  
  These are reflected on the kubelet logs
  ```
  Dec 09 12:37:03 dabu-paas-4559-eviction-imagefs-2.novalocal kubelet[22275]: I1209 12:37:03.173955   22275 container_manager_linux.go:283] "Creating Container Manager object based on Node Config" nodeConfig={RuntimeCgroupsName: SystemCgroupsName: KubeletCgroupsName: ContainerRuntime:docker CgroupsPerQOS:true CgroupRoot:/ CgroupDriver:systemd KubeletRootDir:/var/lib/kubelet ProtectKernelDefaults:true NodeAllocatableConfig:{KubeReservedCgroupName: SystemReservedCgroupName: ReservedSystemCPUs: EnforceNodeAllocatable:map[pods:{}] KubeReserved:map[memory:{i:{value:1854917837 scale:0} d:{Dec:<nil>} s:1854917837 Format:DecimalSI}] SystemReserved:map[memory:{i:{value:104857600 scale:0} d:{Dec:<nil>} s:104857600 Format:DecimalSI}] HardEvictionThresholds:[{Signal:imagefs.available Operator:LessThan Value:{Quantity:<nil> Percentage:0.1} GracePeriod:0s MinReclaim:<nil>} {Signal:memory.available Operator:LessThan Value:{Quantity:100Mi Percentage:0} GracePeriod:0s MinReclaim:<nil>} {Signal:nodefs.available Operator:LessThan Value:{Quantity:500Mi Percentage:0} GracePeriod:0s MinReclaim:<nil>} {Signal:nodefs.inodesFree Operator:LessThan Value:{Quantity:<nil> Percentage:0.01} GracePeriod:0s MinReclaim:<nil>}]} QOSReserved:map[] ExperimentalCPUManagerPolicy:none ExperimentalTopologyManagerScope:container ExperimentalCPUManagerReconcilePeriod:10s ExperimentalMemoryManagerPolicy:None ExperimentalMemoryManagerReservedMemory:[] ExperimentalPodPidsLimit:-1 EnforceCPULimits:true CPUCFSQuotaPeriod:100ms ExperimentalTopologyManagerPolicy:none}
  ```
  2. In order to test imagefs fill the disk between 85%-90%
  ```
  $ fallocate -l 60G 1.file
  $ df -h
  Filesystem      Size  Used Avail Use% Mounted on
  devtmpfs        3.9G     0  3.9G   0% /dev
  tmpfs           3.9G     0  3.9G   0% /dev/shm
  tmpfs           3.9G   12M  3.9G   1% /run
  tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
  /dev/vda1        80G   70G   11G  88% /
  ```
  3. Check the kubelet logs and see that garbage collector started on default eviction threshold for imagefs.available (15%)
  ```
  Dec 09 14:32:05 dabu-paas-4559-eviction-imagefs-2.novalocal kubelet[22275]: I1209 14:32:05.024600   22275 image_gc_manager.go:304] "Disk usage on image filesystem is over the high threshold, trying to free bytes down to the low threshold" usage=88 highThreshold=85 amountToFree=6369021132 lowThreshold=80
  Dec 09 14:32:05 dabu-paas-4559-eviction-imagefs-2.novalocal kubelet[22275]: I1209 14:32:05.042523   22275 image_gc_manager.go:375] "Removing image to free bytes" imageID="sha256:b5af743e598496e8ebd7a6eb3fea76a6464041581520d1c2315c95f993287303" size=5132544
  Dec 09 14:32:05 dabu-paas-4559-eviction-imagefs-2.novalocal kubelet[22275]: I1209 14:32:05.409469   22275 image_gc_manager.go:375] "Removing image to free bytes" imageID="sha256:ae6fea104d3daa8321f9ba27767b3f8f25eefc37d6cbfea7a611da15cacae153" size=544852054
  Dec 09 14:32:06 dabu-paas-4559-eviction-imagefs-2.novalocal kubelet[22275]: I1209 14:32:06.356941   22275 image_gc_manager.go:375] "Removing image to free bytes" imageID="sha256:16d2f904b0d85ecaa7e3ff622f0e50fc423a428921b2b5eebc08d2289e655497" size=45478559
  Dec 09 14:32:11 dabu-paas-4559-eviction-imagefs-2.novalocal kubelet[22275]: I1209 14:32:11.741400   22275 image_gc_manager.go:375] "Removing image to free bytes" imageID="sha256:595939470a0624bda1507d07e92eb74100b23b0cddb2f67722ca48ee3f5b2b55" size=41343869
  Dec 09 14:32:14 dabu-paas-4559-eviction-imagefs-2.novalocal kubelet[22275]: I1209 14:32:14.525022   22275 image_gc_manager.go:375] "Removing image to free bytes" imageID="sha256:3f39089e90831c3ef411fe78d2ac642187b617feacacbf72e3f27e28c8dea487" size=88062800
  Dec 09 14:32:14 dabu-paas-4559-eviction-imagefs-2.novalocal kubelet[22275]: I1209 14:32:14.641097   22275 image_gc_manager.go:375] "Removing image to free bytes" imageID="sha256:f0b02e9d092d905d0d87a8455a1ae3e9bb47b4aa3dc125125ca5cd10d6441c9f" size=1231733
  Dec 09 14:32:15 dabu-paas-4559-eviction-imagefs-2.novalocal kubelet[22275]: E1209 14:32:15.058968   22275 kubelet.go:1306] "Image garbage collection failed once. Stats initialization may not have completed yet" err="failed to garbage collect required amount of images. Wanted to free 6369021132 bytes, but freed 726101559 bytes"
  ```
  
  ### Anything else we need to know?
  
  I only tested with imagesfs.available (both percentage and value) and not with the other eviction thresholds. I used KubeletDynamicConfig to set the eviction thresholds. As the log states, the eviction thresholds were applied to the node.
  
  ### Kubernetes version
  
  <details>
  
  ```console
  $ kubectl version
  Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1", GitCommit:"5e58841cce77d4bc13713ad2b91fa0d961e69192", GitTreeState:"clean", BuildDate:"2021-05-12T14:18:45Z", GoVersion:"go1.16.4", Compiler:"gc", Platform:"linux/amd64"}
  Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1", GitCommit:"5e58841cce77d4bc13713ad2b91fa0d961e69192", GitTreeState:"clean", BuildDate:"2021-05-12T14:12:29Z", GoVersion:"go1.16.4", Compiler:"gc", Platform:"linux/amd64"}
  ```
  
  </details>
  
  
  ### Cloud provider
  
  <details>
  Vanilla k8s
  </details>
  
  
  ### OS version
  
  <details>
  
  ```console
  # On Linux:
  $ cat /etc/os-release
  NAME="Red Hat Enterprise Linux Server"
  VERSION="7.9 (Maipo)"
  ID="rhel"
  ID_LIKE="fedora"
  VARIANT="Server"
  VARIANT_ID="server"
  VERSION_ID="7.9"
  PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
  ANSI_COLOR="0;31"
  CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
  HOME_URL="https://www.redhat.com/"
  BUG_REPORT_URL="https://bugzilla.redhat.com/"
  
  REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
  REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
  REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
  REDHAT_SUPPORT_PRODUCT_VERSION="7.9"
  $ uname -a
  Linux dabu-paas-4559-eviction-imagefs-2.novalocal 3.10.0-1160.el7.x86_64 #1 SMP Tue Aug 18 14:50:17 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux
  
  ```
  
  </details>
  
  
  ### Install tools
  
  <details>
  kubeadm
  </details>
  
  
  ### Container runtime (CRI) and and version (if applicable)
  
  <details>
  
  </details>
  
  
  ### Related plugins (CNI, CSI, ...) and versions (if applicable)
  
  <details>
  
  </details>
  