Kata runtime does not honor static cpu policy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Triaged
|
Low
|
Unassigned |
Bug Description
Brief Description
-----------------
I enabled static cpu policy kube-cpu-
The server has 2 cpu's reserved for the system, so any static cpu assignments should start at 2.
I launch a pod with the following spec:
apiVersion: v1
kind: Pod
metadata:
name: testpod1
spec:
runtimeClassName: kata
containers:
- name: appcntr1
image: centos/tools
imagePullPo
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 300000; done;" ]
resources:
requests:
cpu: 2
memory: "1Gi"
limits:
cpu: 2
memory: "1Gi"
I would expect the container to be pinned to cpu's 2-3, insted it is pinned to 0,1 which are the reserved cpu's
I then launch another pod with the following spec:
apiVersion: v1
kind: Pod
metadata:
name: testpod3
spec:
runtimeClassName: kata
containers:
- name: appcntr1
image: centos/tools
imagePullPo
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 300000; done;" ]
resources:
requests:
cpu: 3
memory: "1Gi"
limits:
cpu: 3
memory: "1Gi"
I would expect the container to be pinned to cpu's 4-6. Instead it is also pinned to 0,1
Finally I launch a pod with best effort
apiVersion: v1
kind: Pod
metadata:
name: testpod4
spec:
runtimeClassName: kata
containers:
- name: appcntr1
image: centos/tools
imagePullPo
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 300000; done;" ]
It ends up getting pinned to cpu 0. I would have expected it to float across all cpu's not statically reserved.
Kata-runtime is not honoring the k8s cpu polices,
Severity
--------
Major, kata not useable for any high performance workloads
Steps to Reproduce
------------------
See above
Expected Behavior
------------------
See above
Actual Behavior
----------------
Does not work
Reproducibility
---------------
100%
System Configuration
-------
All
Branch/Pull Time/Commit
-------
BUILD_DATE=
Last Pass
---------
Never likely
Timestamp/Logs
--------------
2020-02-
2020-02-
2020-02-
2020-02-
2020-02-
2020-02-
2020-02-
2020-02-
Test Activity
-------------
Developer testing
Workaround
----------
None
summary: |
- Kata runtime does nor honor static cpu policy + Kata runtime does not honor static cpu policy |
Changed in starlingx: | |
assignee: | Lin Shuicheng (shuicheng) → nobody |
stx.4.0 / high priority - serious limitation with kata containers.
Unsure if this is related to the upstream kata container project or specific to StarlingX