12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /*
- Copyright 2015 The Kubernetes Authors.
- 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.
- */
- package cm
- import (
- "k8s.io/kubernetes/pkg/api"
- )
- // Manages the containers running on a machine.
- type ContainerManager interface {
- // Runs the container manager's housekeeping.
- // - Ensures that the Docker daemon is in a container.
- // - Creates the system container where all non-containerized processes run.
- Start(*api.Node) error
- // Returns resources allocated to system cgroups in the machine.
- // These cgroups include the system and Kubernetes services.
- SystemCgroupsLimit() api.ResourceList
- // Returns a NodeConfig that is being used by the container manager.
- GetNodeConfig() NodeConfig
- // Returns internal Status.
- Status() Status
- // NewPodContainerManager is a factory method which returns a podContainerManager object
- // Returns a noop implementation if qos cgroup hierarchy is not enabled
- NewPodContainerManager() PodContainerManager
- // GetMountedSubsystems returns the mounted cgroup subsytems on the node
- GetMountedSubsystems() *CgroupSubsystems
- // GetQOSContainersInfo returns the names of top level QoS containers
- GetQOSContainersInfo() QOSContainersInfo
- }
- type NodeConfig struct {
- RuntimeCgroupsName string
- SystemCgroupsName string
- KubeletCgroupsName string
- ContainerRuntime string
- CgroupsPerQOS bool
- CgroupRoot string
- ProtectKernelDefaults bool
- }
- type Status struct {
- // Any soft requirements that were unsatisfied.
- SoftRequirements error
- }
|