mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Merge pull request #73342 from szuecs/fix/period-not-reset-if-gate-not-set
cpuPeriod was not reset
This commit is contained in:
commit
c9964aa519
@ -18,11 +18,6 @@ limitations under the License.
|
|||||||
|
|
||||||
package kuberuntime
|
package kuberuntime
|
||||||
|
|
||||||
import (
|
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
|
||||||
kubefeatures "k8s.io/kubernetes/pkg/features"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// Taken from lmctfy https://github.com/google/lmctfy/blob/master/lmctfy/controllers/cpu_controller.cc
|
// Taken from lmctfy https://github.com/google/lmctfy/blob/master/lmctfy/controllers/cpu_controller.cc
|
||||||
minShares = 2
|
minShares = 2
|
||||||
@ -59,9 +54,6 @@ func milliCPUToQuota(milliCPU int64, period int64) (quota int64) {
|
|||||||
if milliCPU == 0 {
|
if milliCPU == 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !utilfeature.DefaultFeatureGate.Enabled(kubefeatures.CPUCFSQuotaPeriod) {
|
|
||||||
period = quotaPeriod
|
|
||||||
}
|
|
||||||
|
|
||||||
// we then convert your milliCPU to a value normalized over a period
|
// we then convert your milliCPU to a value normalized over a period
|
||||||
quota = (milliCPU * period) / milliCPUToCPU
|
quota = (milliCPU * period) / milliCPUToCPU
|
||||||
|
@ -22,6 +22,8 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
|
kubefeatures "k8s.io/kubernetes/pkg/features"
|
||||||
runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2"
|
runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/qos"
|
"k8s.io/kubernetes/pkg/kubelet/qos"
|
||||||
)
|
)
|
||||||
@ -67,7 +69,10 @@ func (m *kubeGenericRuntimeManager) generateLinuxContainerConfig(container *v1.C
|
|||||||
if m.cpuCFSQuota {
|
if m.cpuCFSQuota {
|
||||||
// if cpuLimit.Amount is nil, then the appropriate default value is returned
|
// if cpuLimit.Amount is nil, then the appropriate default value is returned
|
||||||
// to allow full usage of cpu resource.
|
// to allow full usage of cpu resource.
|
||||||
cpuPeriod := int64(m.cpuCFSQuotaPeriod.Duration / time.Microsecond)
|
cpuPeriod := int64(quotaPeriod)
|
||||||
|
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.CPUCFSQuotaPeriod) {
|
||||||
|
cpuPeriod = int64(m.cpuCFSQuotaPeriod.Duration / time.Microsecond)
|
||||||
|
}
|
||||||
cpuQuota := milliCPUToQuota(cpuLimit.MilliValue(), cpuPeriod)
|
cpuQuota := milliCPUToQuota(cpuLimit.MilliValue(), cpuPeriod)
|
||||||
lc.Resources.CpuQuota = cpuQuota
|
lc.Resources.CpuQuota = cpuQuota
|
||||||
lc.Resources.CpuPeriod = cpuPeriod
|
lc.Resources.CpuPeriod = cpuPeriod
|
||||||
|
Loading…
Reference in New Issue
Block a user