Node CPU limit is smaller than CPU allocatable

Hello, picking a random node of my cluster I see two weird things:

  1. cpu limit is far smaller than cpu allocatable (300m vs 1930m)
  2. cpu request > cpu limit (610m vs 300m)

Why is so? For 1. I’d expect my node to use 100% of allocatable cpu if they need; for 2. it goes against what I read: request value should be smaller than the limit.

$ kubectl describe node/ip-10-0-101-161.eu-central-1.compute.internal
Name:               ip-10-0-101-161.eu-central-1.compute.internal
Roles:              <none>
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/instance-type=t3.small
                    beta.kubernetes.io/os=linux
                    failure-domain.beta.kubernetes.io/region=eu-central-1
                    failure-domain.beta.kubernetes.io/zone=eu-central-1a
                    kubernetes.io/arch=amd64
                    kubernetes.io/hostname=ip-10-0-101-161.eu-central-1.compute.internal
                    kubernetes.io/os=linux
                    node.kubernetes.io/instance-type=t3.small
                    topology.kubernetes.io/region=eu-central-1
                    topology.kubernetes.io/zone=eu-central-1a
Annotations:        node.alpha.kubernetes.io/ttl: 0
                    volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Fri, 07 Aug 2020 17:38:02 +0200
Taints:             <none>
Unschedulable:      false
Lease:
  HolderIdentity:  ip-10-0-101-161.eu-central-1.compute.internal
  AcquireTime:     <unset>
  RenewTime:       Wed, 12 Aug 2020 11:24:09 +0200
Conditions:
  Type             Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----             ------  -----------------                 ------------------                ------                       -------
  MemoryPressure   False   Wed, 12 Aug 2020 11:23:15 +0200   Fri, 07 Aug 2020 17:38:02 +0200   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure     False   Wed, 12 Aug 2020 11:23:15 +0200   Fri, 07 Aug 2020 17:38:02 +0200   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure      False   Wed, 12 Aug 2020 11:23:15 +0200   Fri, 07 Aug 2020 17:38:02 +0200   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready            True    Wed, 12 Aug 2020 11:23:15 +0200   Fri, 07 Aug 2020 17:38:22 +0200   KubeletReady                 kubelet is posting ready status
Addresses:
  InternalIP:   10.0.101.161
  ExternalIP:   <REDACTED>
  Hostname:     ip-10-0-101-161.eu-central-1.compute.internal
  InternalDNS:  ip-10-0-101-161.eu-central-1.compute.internal
  ExternalDNS:  <REDACTED>
Capacity:
  attachable-volumes-aws-ebs:  25
  cpu:                         2
  ephemeral-storage:           104845292Ki
  hugepages-1Gi:               0
  hugepages-2Mi:               0
  memory:                      2002016Ki
  pods:                        11
Allocatable:
  attachable-volumes-aws-ebs:  25
  cpu:                         1930m
  ephemeral-storage:           95551679124
  hugepages-1Gi:               0
  hugepages-2Mi:               0
  memory:                      1514592Ki
  pods:                        11
System Info:
  Machine ID:                 ec26981de68c956e67b9fedcb9a1ac2f
  System UUID:                EC26981D-E68C-956E-67B9-FEDCB9A1AC2F
  Boot ID:                    2c7159a2-b16b-45b8-8fab-358f94c0d649
  Kernel Version:             4.14.186-146.268.amzn2.x86_64
  OS Image:                   Amazon Linux 2
  Operating System:           linux
  Architecture:               amd64
  Container Runtime Version:  docker://19.3.6
  Kubelet Version:            v1.17.9-eks-4c6976
  Kube-Proxy Version:         v1.17.9-eks-4c6976
ProviderID:                   aws:///eu-central-1a/i-050a41dcf25b6635e
Non-terminated Pods:          (11 in total)
  Namespace                   Name                                          CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                   ----                                          ------------  ----------  ---------------  -------------  ---
  amazon-cloudwatch           cloudwatch-agent-v45h2                        200m (10%)    200m (10%)  200Mi (13%)      200Mi (13%)    46h
  amazon-cloudwatch           fluentd-cloudwatch-7b5tp                      100m (5%)     0 (0%)      200Mi (13%)      400Mi (27%)    46h
  cert-manager                cert-manager-9b8969d86-l7ckr                  0 (0%)        0 (0%)      0 (0%)           0 (0%)         4d17h
  cert-manager                cert-manager-cainjector-8545fdf87c-bjw8h      0 (0%)        0 (0%)      0 (0%)           0 (0%)         4d17h
  cert-manager                cert-manager-webhook-8c5db9fb6-9dg8n          0 (0%)        0 (0%)      0 (0%)           0 (0%)         4d17h
  ingress-nginx               ingress-nginx-controller-5cc4589cc8-hxjs2     100m (5%)     0 (0%)      90Mi (6%)        0 (0%)         4d17h
  kube-system                 aws-node-gtdsf                                10m (0%)      0 (0%)      0 (0%)           0 (0%)         4d17h
  kube-system                 cluster-autoscaler-695cb999b7-nn7ts           100m (5%)     100m (5%)   300Mi (20%)      300Mi (20%)    4d17h
  kube-system                 kube-proxy-b9j52                              100m (5%)     0 (0%)      0 (0%)           0 (0%)         4d17h
  kubernetes-dashboard        dashboard-metrics-scraper-76585494d8-ggtxr    0 (0%)        0 (0%)      0 (0%)           0 (0%)         4d17h
  kubernetes-dashboard        kubernetes-dashboard-5996555fd8-zc56p         0 (0%)        0 (0%)      0 (0%)           0 (0%)         4d17h
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                    Requests     Limits
  --------                    --------     ------
  cpu                         610m (31%)   300m (15%)
  memory                      790Mi (53%)  900Mi (60%)
  ephemeral-storage           0 (0%)       0 (0%)
  hugepages-1Gi               0 (0%)       0 (0%)
  hugepages-2Mi               0 (0%)       0 (0%)
  attachable-volumes-aws-ebs  0            0
Events:                       <none>

Cluster information:

Kubernetes version: 1.17.9
Cloud being used: AWS EKS on t3.small nodes
Installation method: N/A
Host OS: Amazon Linux 2
CNI and version: amazon-k8s-cni 1.6.3
CRI and version: docker 19.3.6