Documentation

Overview

    Package images is responsible for managing lifecycle of container images.

    Index

    Constants

    This section is empty.

    Variables

    View Source
    var (
    	// ErrImagePullBackOff - Container image pull failed, kubelet is backing off image pull
    	ErrImagePullBackOff = errors.New("ImagePullBackOff")
    
    	// ErrImageInspect - Unable to inspect image
    	ErrImageInspect = errors.New("ImageInspectError")
    
    	// ErrImagePull - General image pull error
    	ErrImagePull = errors.New("ErrImagePull")
    
    	// ErrImageNeverPull - Required Image is absent on host and PullPolicy is NeverPullImage
    	ErrImageNeverPull = errors.New("ErrImageNeverPull")
    
    	// ErrRegistryUnavailable - Get http error when pulling image from registry
    	ErrRegistryUnavailable = errors.New("RegistryUnavailable")
    
    	// ErrInvalidImageName - Unable to parse the image name.
    	ErrInvalidImageName = errors.New("InvalidImageName")
    )

    Functions

    This section is empty.

    Types

    type ImageGCManager

    type ImageGCManager interface {
    	// Applies the garbage collection policy. Errors include being unable to free
    	// enough space as per the garbage collection policy.
    	GarbageCollect() error
    
    	// Start async garbage collection of images.
    	Start()
    
    	GetImageList() ([]container.Image, error)
    
    	// Delete all unused images.
    	DeleteUnusedImages() error
    }

      ImageGCManager is an interface for managing lifecycle of all images. Implementation is thread-safe.

      func NewImageGCManager

      func NewImageGCManager(runtime container.Runtime, statsProvider StatsProvider, recorder record.EventRecorder, nodeRef *v1.ObjectReference, policy ImageGCPolicy, sandboxImage string) (ImageGCManager, error)

        NewImageGCManager instantiates a new ImageGCManager object.

        type ImageGCPolicy

        type ImageGCPolicy struct {
        	// Any usage above this threshold will always trigger garbage collection.
        	// This is the highest usage we will allow.
        	HighThresholdPercent int
        
        	// Any usage below this threshold will never trigger garbage collection.
        	// This is the lowest threshold we will try to garbage collect to.
        	LowThresholdPercent int
        
        	// Minimum age at which an image can be garbage collected.
        	MinAge time.Duration
        }

          ImageGCPolicy is a policy for garbage collecting images. Policy defines an allowed band in which garbage collection will be run.

          type ImageManager

          type ImageManager interface {
          	// EnsureImageExists ensures that image specified in `container` exists.
          	EnsureImageExists(pod *v1.Pod, container *v1.Container, pullSecrets []v1.Secret, podSandboxConfig *runtimeapi.PodSandboxConfig) (string, string, error)
          }

            ImageManager provides an interface to manage the lifecycle of images. Implementations of this interface are expected to deal with pulling (downloading), managing, and deleting container images. Implementations are expected to abstract the underlying runtimes. Implementations are expected to be thread safe.

            func NewImageManager

            func NewImageManager(recorder record.EventRecorder, imageService kubecontainer.ImageService, imageBackOff *flowcontrol.Backoff, serialized bool, qps float32, burst int) ImageManager

              NewImageManager instantiates a new ImageManager object.

              type StatsProvider

              type StatsProvider interface {
              	// ImageFsStats returns the stats of the image filesystem.
              	ImageFsStats() (*statsapi.FsStats, error)
              }

                StatsProvider is an interface for fetching stats used during image garbage collection.