manager

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2024 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Overview

Package manager contains most of the implementation of the zeropod-manager node daemon. It takes care of loading eBPF programs, providing metrics and monitors the shims for status updates.

Index

Constants

View Source
const (
	CPUAnnotationKey    = "zeropod.ctrox.dev/cpu-requests"
	MemoryAnnotationKey = "zeropod.ctrox.dev/memory-requests"
)
View Source
const (
	StatusLabelKeyPrefix = "status.zeropod.ctrox.dev"
)

Variables

View Source
var (
	ScaledDownCPU    = resource.MustParse("1m")
	ScaledDownMemory = resource.MustParse("1Ki")
)

Functions

func AttachRedirectors added in v0.2.0

func AttachRedirectors(ctx context.Context) error

AttachRedirectors scans the zeropod maps path in the bpf file system for directories named after the pid of the sandbox container. It does an initial iteration over all directories and then starts a goroutine which watches for fsevents. When the associated netns of the sandbox container can be found it attaches the redirector BPF programs to the network interfaces of the sandbox. The directories are expected to be created by the zeropod shim on startup.

func Handler

func Handler(w http.ResponseWriter, req *http.Request)

func StartSubscribers added in v0.3.0

func StartSubscribers(ctx context.Context, podHandlers ...PodHandler) error

Types

type PodHandler added in v0.4.0

type PodHandler interface {
	// Handle a status update with the associated pod. Changes made to
	// the pod object will be applied after all handlers have been called.
	// Pod status updates are ignored and won't be applied.
	Handle(context.Context, *v1.ContainerStatus, *corev1.Pod) error
}

type PodLabeller added in v0.4.0

type PodLabeller struct {
	// contains filtered or unexported fields
}

func NewPodLabeller added in v0.4.0

func NewPodLabeller() *PodLabeller

func (*PodLabeller) Handle added in v0.4.0

func (pl *PodLabeller) Handle(ctx context.Context, status *v1.ContainerStatus, pod *corev1.Pod) error

type PodScaler added in v0.3.0

type PodScaler struct {
	// contains filtered or unexported fields
}

func NewPodScaler added in v0.3.0

func NewPodScaler() *PodScaler

func (*PodScaler) Handle added in v0.3.0

func (ps *PodScaler) Handle(ctx context.Context, status *v1.ContainerStatus, pod *corev1.Pod) error

type Redirector added in v0.2.0

type Redirector struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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