kubernetesk8s.io/kubernetes/pkg/kubelet/cadvisor Index | Files | Directories

package cadvisor

import "k8s.io/kubernetes/pkg/kubelet/cadvisor"

Kubelet interactions with cAdvisor.

Index

Constants

const (
	// Please keep this in sync with the one in:
	// github.com/google/cadvisor/container/crio/client.go
	CrioSocket = "/var/run/crio/crio.sock"
)

Functions

func CapacityFromMachineInfo

func CapacityFromMachineInfo(info *cadvisorapi.MachineInfo) v1.ResourceList

func EphemeralStorageCapacityFromFsInfo

func EphemeralStorageCapacityFromFsInfo(info cadvisorapi2.FsInfo) v1.ResourceList

func UsingLegacyCadvisorStats

func UsingLegacyCadvisorStats(runtime, runtimeEndpoint string) bool

CRI integrations should get container metrics via CRI. Docker uses the built-in cadvisor to gather such metrics on Linux for historical reasons. cri-o relies on cadvisor as a temporary workaround. The code should be removed. Related issue: https://github.com/kubernetes/kubernetes/issues/51798 UsingLegacyCadvisorStats returns true if container stats are provided by cadvisor instead of through the CRI

Types

type ImageFsInfoProvider

type ImageFsInfoProvider interface {
	// ImageFsInfoLabel returns the label cAdvisor should use to find the filesystem holding container images.
	ImageFsInfoLabel() (string, error)
}

ImageFsInfoProvider informs cAdvisor how to find imagefs for container images.

func NewImageFsInfoProvider

func NewImageFsInfoProvider(runtime, runtimeEndpoint string) ImageFsInfoProvider

NewImageFsInfoProvider returns a provider for the specified runtime configuration.

type Interface

type Interface interface {
	Start() error
	DockerContainer(name string, req *cadvisorapi.ContainerInfoRequest) (cadvisorapi.ContainerInfo, error)
	ContainerInfo(name string, req *cadvisorapi.ContainerInfoRequest) (*cadvisorapi.ContainerInfo, error)
	ContainerInfoV2(name string, options cadvisorapiv2.RequestOptions) (map[string]cadvisorapiv2.ContainerInfo, error)
	SubcontainerInfo(name string, req *cadvisorapi.ContainerInfoRequest) (map[string]*cadvisorapi.ContainerInfo, error)
	MachineInfo() (*cadvisorapi.MachineInfo, error)

	VersionInfo() (*cadvisorapi.VersionInfo, error)

	// Returns usage information about the filesystem holding container images.
	ImagesFsInfo() (cadvisorapiv2.FsInfo, error)

	// Returns usage information about the root filesystem.
	RootFsInfo() (cadvisorapiv2.FsInfo, error)

	// Get events streamed through passedChannel that fit the request.
	WatchEvents(request *events.Request) (*events.EventChannel, error)

	// Get filesystem information for the filesystem that contains the given file.
	GetDirFsInfo(path string) (cadvisorapiv2.FsInfo, error)
}

Interface is an abstract interface for testability. It abstracts the interface to cAdvisor.

func New

func New(imageFsInfoProvider ImageFsInfoProvider, rootPath string, usingLegacyStats bool) (Interface, error)

Source Files

cadvisor_unsupported.go doc.go helpers_unsupported.go types.go util.go

Directories

PathSynopsis
pkg/kubelet/cadvisor/testing
Version
v1.14.6
Published
Aug 16, 2019
Platform
js/wasm
Imports
9 packages
Last checked
1 minute ago

Tools for package owners.