runtime

package
v0.0.0-...-d691e2b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package runtime

Package runtime

Package runtime

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewContainerRuntime

func NewContainerRuntime(runtimeType string, cmd string, logger *logs.Logger) (cm api.ContainerManager, err error)

Types

type Manager

type Manager struct {
	ResourceManager
	api.ContainerManager
}

type ResourceControl

type ResourceControl struct {
	Options *ResourceOption
	// contains filtered or unexported fields
}

func (*ResourceControl) ContainerResourceStats

func (rc *ResourceControl) ContainerResourceStats(ID string) (stats *api.ResourceStats, err error)

func (*ResourceControl) ContainerResources

func (rc *ResourceControl) ContainerResources(ID string) (resource *api.Resource, err error)

func (*ResourceControl) FrozenContainer

func (rc *ResourceControl) FrozenContainer(ID string) error

func (*ResourceControl) GetDefaultResourceConfig

func (rc *ResourceControl) GetDefaultResourceConfig() *runtimeapi.ResourceConfig

func (*ResourceControl) GetResourceConfigByReadableMemory

func (rc *ResourceControl) GetResourceConfigByReadableMemory(memoryStr string) (config *runtimeapi.ResourceConfig, err error)

func (*ResourceControl) GetTotalResources

func (rc *ResourceControl) GetTotalResources() *api.FuncletResource

func (*ResourceControl) HasSufficientResources

func (rc *ResourceControl) HasSufficientResources(o *ResourceOption, containerNum int) (has bool, err error)

HasSufficientResources check the total resource is sufficient

func (*ResourceControl) ThawContainer

func (rc *ResourceControl) ThawContainer(ID string) error

func (*ResourceControl) UpdateContainerResource

func (rc *ResourceControl) UpdateContainerResource(ID string, config *runtimeapi.ResourceConfig) error

type ResourceManager

type ResourceManager interface {
	// HasSufficientResources
	HasSufficientResources(o *ResourceOption, containerNum int) (has bool, err error)
	// GetDefaultResourceConfig
	GetDefaultResourceConfig() *runtimeapi.ResourceConfig
	// GetResourceConfigByReadableMemory
	GetResourceConfigByReadableMemory(memoryStr string) (config *runtimeapi.ResourceConfig, err error)
	// GetTotalResources
	GetTotalResources() *api.FuncletResource
	// FrozenContainer
	FrozenContainer(ID string) error
	// ThawContainer
	ThawContainer(ID string) error
	// ContainerResources
	ContainerResources(ID string) (resource *api.Resource, err error)
	// ContainerResourceStats
	ContainerResourceStats(ID string) (stats *api.ResourceStats, err error)
	// UpdateContainerResource
	UpdateContainerResource(ID string, config *runtimeapi.ResourceConfig) error
}

func NewResourceManager

func NewResourceManager(o *ResourceOption, containerNum int) (rm ResourceManager, err error)

type ResourceOption

type ResourceOption struct {
	CgroupRootPath string
	TotalMemory    string
	TotalCPUs      float64
	ReservedMemory string
	ReservedCPUs   float64
	MemLimits      string
	CPURequests    float64
	CPULimits      float64
}

func NewResourceOption

func NewResourceOption() *ResourceOption

func (*ResourceOption) AddFlags

func (s *ResourceOption) AddFlags(fs *pflag.FlagSet)

type RuntimeManagerInterface

type RuntimeManagerInterface interface {
	api.ContainerManager
	ResourceManager
}

func NewRuntimeManager

func NewRuntimeManager(p *RuntimeManagerParameters) (rm RuntimeManagerInterface, err error)

type RuntimeManagerParameters

type RuntimeManagerParameters struct {
	ContainerNum int
	RuntimeCmd   string
	Option       *ResourceOption
	Logger       *logs.Logger
}

Directories

Path Synopsis
Package api
Package api
Package cgroup
Package cgroup
Package runtime
Package runtime
Package runc
Package runc

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL