OS Requirements

Realtime Scheduling

The cluster SHOULD run a kernel configured without CONFIG_RT_GROUP_SCHED. The cluster MUST run with a kernel configured without CONFIG_RT_GROUP_SCHED or with the kernel.sched_rt_runtime_us sysctl set to -1.

Setting the kernel.sched_rt_runtime_us sysctl to -1 is NOT RECOMMENDED for production use.

For more discussion on this see issue #121.

While docker supports using realtime features on systems with CONFIG_RT_GROUP_SCHED and a non--1 value for kernel.sched_rt_runtime_us, Kubernetes does currently not support that. Once support for that lands, we may increase our k8s version requirements in favour of this requirement.

Below, we describe how to check whether your os fulfills this requirement and, if it does not, how to get around it.

Check

You can check whether you are running a kernel built with CONFIG_RT_GROUP_SCHED enabled by executing:

grep CONFIG_RT_GROUP_SCHED /boot/config-$(uname -r)

Workaround

You can run the following daemon as a workaround for this problem.

kubectl -n $YAOOK_OP_NAMESPACE apply -f ci/devel_integration_tests/deploy/realtime-hack.yaml