Documentation ¶
Overview ¶
Copyright 2020 Gravitational, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Cgroup Configuration -------------------- Planet uses a customized cgroup structure, that's designed to prevent CPU resource starvation of critical services.
Notes: - The cgroup customization is within planet cgroup namespace only - Systems with less than 5 cores, will not reserve resources in kubernetes
- Relative prioritization will still be applied
- User tasks will be capped at a maximum CPU usage
- 500 millicores on systems with less than 5 cores
- 10% of system resources (0.6/6, 1/10, 2/20, 4/40 cores etc) on 6 cores or more
- User tasks run with high scheduling priority
- The idea is, an administrator should always be able to troubleshoot a system
- However, because CPU usage is capped at 10%, an administrator shouldn't interfere with system services
- Planet services and user tasks take scheduling priority over kubernetes pods
- System and User tasks always have priority over pods
- kubernetes remains responsible for setting pod cgroup settings, and relative priority between pods