Documentation ¶
Index ¶
- func RunCRIService(cfg *config.Config) (err error)
- type ContainerManager
- func (cm *ContainerManager) ContainerStatus(containerID string) (*runtimeapi.ContainerStatus, error)
- func (cm *ContainerManager) CreateContainer(podSandboxID string, config *runtimeapi.ContainerConfig, ...) (string, error)
- func (cm *ContainerManager) Exec(*runtimeapi.ExecRequest) (*runtimeapi.ExecResponse, error)
- func (cm *ContainerManager) ListContainers(filter *runtimeapi.ContainerFilter) ([]*runtimeapi.Container, error)
- func (cm *ContainerManager) RemoveContainer(containerID string) error
- func (cm *ContainerManager) StartContainer(containerID string) error
- func (cm *ContainerManager) StopContainer(containerID string, timeout int64) error
- type ContainerStatsManager
- type IContainerManager
- type IImageManager
- type IPodSandboxManager
- type ImageManager
- func (im *ImageManager) ImageFsInfo() ([]*runtimeapi.FilesystemUsage, error)
- func (im *ImageManager) ImageStatus(image *runtimeapi.ImageSpec) (*runtimeapi.Image, error)
- func (im *ImageManager) ListImages(filter *runtimeapi.ImageFilter) ([]*runtimeapi.Image, error)
- func (im *ImageManager) PullImage(image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, ...) (string, error)
- func (im *ImageManager) RemoveImage(image *runtimeapi.ImageSpec) error
- type PodSandboxManager
- func (psm *PodSandboxManager) ListPodSandbox(filter *runtimeapi.PodSandboxFilter) ([]*runtimeapi.PodSandbox, error)
- func (psm *PodSandboxManager) PodSandboxStatus(podSandboxID string) (*runtimeapi.PodSandboxStatus, error)
- func (psm *PodSandboxManager) RemovePodSandbox(podSandboxID string) error
- func (psm *PodSandboxManager) RunPodSandbox(config *runtimeapi.PodSandboxConfig, runtimeHandler string) (_ string, err error)
- func (psm *PodSandboxManager) StopPodSandbox(podSandboxID string) (err error)
- func (psm *PodSandboxManager) Version(apiVersion string) (*runtimeapi.VersionResponse, error)
- type RuntimeService
- type RuntimeVersioner
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunCRIService ¶
Types ¶
type ContainerManager ¶
type ContainerManager struct{}
ContainerManager is the implement of interface IContainerManager.
func NewContainerManager ¶
func NewContainerManager() (*ContainerManager, error)
NewContainerManager create ContainerManager instance
func (*ContainerManager) ContainerStatus ¶
func (cm *ContainerManager) ContainerStatus(containerID string) (*runtimeapi.ContainerStatus, error)
ContainerStatus returns the status of the container.
func (*ContainerManager) CreateContainer ¶
func (cm *ContainerManager) CreateContainer(podSandboxID string, config *runtimeapi.ContainerConfig, sandboxConfig *runtimeapi.PodSandboxConfig) (string, error)
CreateContainer creates a new container in specified PodSandbox.
func (*ContainerManager) Exec ¶
func (cm *ContainerManager) Exec(*runtimeapi.ExecRequest) (*runtimeapi.ExecResponse, error)
Exec prepares a streaming endpoint to execute a command in the container, and returns the address.
func (*ContainerManager) ListContainers ¶
func (cm *ContainerManager) ListContainers(filter *runtimeapi.ContainerFilter) ([]*runtimeapi.Container, error)
ListContainers lists all containers by filters.
func (*ContainerManager) RemoveContainer ¶
func (cm *ContainerManager) RemoveContainer(containerID string) error
RemoveContainer removes the container.
func (*ContainerManager) StartContainer ¶
func (cm *ContainerManager) StartContainer(containerID string) error
StartContainer starts the container.
func (*ContainerManager) StopContainer ¶
func (cm *ContainerManager) StopContainer(containerID string, timeout int64) error
StopContainer stops a running container with a grace period (i.e., timeout).
type ContainerStatsManager ¶
type ContainerStatsManager interface { // ContainerStats returns stats of the container. If the container does not // exist, the call returns an error. ContainerStats(containerID string) (*runtimeapi.ContainerStats, error) // ListContainerStats returns stats of all running containers. ListContainerStats(filter *runtimeapi.ContainerStatsFilter) ([]*runtimeapi.ContainerStats, error) // PodSandboxStats returns stats of the pod. If the pod does not // exist, the call returns an error. PodSandboxStats(podSandboxID string) (*runtimeapi.PodSandboxStats, error) // ListPodSandboxStats returns stats of all running pods. ListPodSandboxStats(filter *runtimeapi.PodSandboxStatsFilter) ([]*runtimeapi.PodSandboxStats, error) }
ContainerStatsManager contains methods for retrieving the container statistics.
type IContainerManager ¶
type IContainerManager interface { // CreateContainer creates a new container in specified PodSandbox. CreateContainer(podSandboxID string, config *runtimeapi.ContainerConfig, sandboxConfig *runtimeapi.PodSandboxConfig) (string, error) // StartContainer starts the container. StartContainer(containerID string) error // StopContainer stops a running container with a grace period (i.e., timeout). StopContainer(containerID string, timeout int64) error // RemoveContainer removes the container. RemoveContainer(containerID string) error // ListContainers lists all containers by filters. ListContainers(filter *runtimeapi.ContainerFilter) ([]*runtimeapi.Container, error) // ContainerStatus returns the status of the container. ContainerStatus(containerID string) (*runtimeapi.ContainerStatus, error) // UpdateContainerResources updates the cgroup resources for the container. UpdateContainerResources(containerID string, resources *runtimeapi.LinuxContainerResources) error // ExecSync executes a command in the container, and returns the stdout output. // If command exits with a non-zero exit code, an error is returned. ExecSync(containerID string, cmd []string, timeout time.Duration) (stdout []byte, stderr []byte, err error) // Exec prepares a streaming endpoint to execute a command in the container, and returns the address. Exec(*runtimeapi.ExecRequest) (*runtimeapi.ExecResponse, error) // Attach prepares a streaming endpoint to attach to a running container, and returns the address. Attach(req *runtimeapi.AttachRequest) (*runtimeapi.AttachResponse, error) // ReopenContainerLog asks runtime to reopen the stdout/stderr log file // for the container. If it returns error, new container log file MUST NOT // be created. ReopenContainerLog(ContainerID string) error }
IContainerManager contains methods to manipulate containers managed by a container runtime. The methods are thread-safe.
type IImageManager ¶
type IImageManager interface { // ListImages lists the existing images. ListImages(filter *runtimeapi.ImageFilter) ([]*runtimeapi.Image, error) // ImageStatus returns the status of the image. ImageStatus(image *runtimeapi.ImageSpec) (*runtimeapi.Image, error) // PullImage pulls an image with the authentication config. PullImage(image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig) (string, error) // RemoveImage removes the image. RemoveImage(image *runtimeapi.ImageSpec) error // ImageFsInfo returns information of the filesystem that is used to store images. ImageFsInfo() ([]*runtimeapi.FilesystemUsage, error) }
IImageManager interface should be implemented by a container image manager. The methods should be thread-safe.
type IPodSandboxManager ¶
type IPodSandboxManager interface { // RunPodSandbox creates and starts a pod-level sandbox. Runtimes should ensure the sandbox is in ready state. RunPodSandbox(config *runtimeapi.PodSandboxConfig, runtimeHandler string) (string, error) // StopPodSandbox stops the sandbox. If there are any running containers in the sandbox, they should be force terminated. StopPodSandbox(podSandboxID string) error // RemovePodSandbox removes the sandbox. If there are running containers in the sandbox, they should be forcibly removed. RemovePodSandbox(podSandboxID string) error // PodSandboxStatus returns the Status of the PodSandbox. PodSandboxStatus(podSandboxID string) (*runtimeapi.PodSandboxStatus, error) // ListPodSandbox returns a list of Sandbox. ListPodSandbox(filter *runtimeapi.PodSandboxFilter) ([]*runtimeapi.PodSandbox, error) // PortForward prepares a streaming endpoint to forward ports from a PodSandbox, and returns the address. PortForward(*runtimeapi.PortForwardRequest) (*runtimeapi.PortForwardResponse, error) }
PodSandboxManager contains methods for operating on PodSandboxes. The methods are thread-safe.
type ImageManager ¶
type ImageManager struct{}
func NewImageManager ¶
func NewImageManager() (*ImageManager, error)
NewImageManager create ImageManager instance
func (*ImageManager) ImageFsInfo ¶
func (im *ImageManager) ImageFsInfo() ([]*runtimeapi.FilesystemUsage, error)
ImageFsInfo returns information of the filesystem that is used to store images.
func (*ImageManager) ImageStatus ¶
func (im *ImageManager) ImageStatus(image *runtimeapi.ImageSpec) (*runtimeapi.Image, error)
ImageStatus returns the status of the image.
func (*ImageManager) ListImages ¶
func (im *ImageManager) ListImages(filter *runtimeapi.ImageFilter) ([]*runtimeapi.Image, error)
ListImages lists the existing images.
func (*ImageManager) PullImage ¶
func (im *ImageManager) PullImage(image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig) (string, error)
PullImage pulls an image with the authentication config.
func (*ImageManager) RemoveImage ¶
func (im *ImageManager) RemoveImage(image *runtimeapi.ImageSpec) error
RemoveImage removes the image.
type PodSandboxManager ¶
type PodSandboxManager struct { ContainerManager ContainerManager // SandboxBaseDir is the directory used to store sandbox files like /etc/hosts, /etc/resolv.conf, etc. SandboxBaseDir string // SandboxImage is the image used by sandbox container. SandboxImage string }
func NewPodSandboxManager ¶
func NewPodSandboxManager() (psm *PodSandboxManager, err error)
NewPodSandboxManager create PodSandboxManager instance
func (*PodSandboxManager) ListPodSandbox ¶
func (psm *PodSandboxManager) ListPodSandbox(filter *runtimeapi.PodSandboxFilter) ([]*runtimeapi.PodSandbox, error)
ListPodSandbox returns a list of Sandbox.
func (*PodSandboxManager) PodSandboxStatus ¶
func (psm *PodSandboxManager) PodSandboxStatus(podSandboxID string) (*runtimeapi.PodSandboxStatus, error)
PodSandboxStatus returns the Status of the PodSandbox.
func (*PodSandboxManager) RemovePodSandbox ¶
func (psm *PodSandboxManager) RemovePodSandbox(podSandboxID string) error
RemovePodSandbox removes the sandbox. If there are running containers in the sandbox, they should be forcibly removed.
func (*PodSandboxManager) RunPodSandbox ¶
func (psm *PodSandboxManager) RunPodSandbox(config *runtimeapi.PodSandboxConfig, runtimeHandler string) (_ string, err error)
RunPodSandbox creates and starts a pod-level sandbox. Runtimes should ensure the sandbox is in ready state.
func (*PodSandboxManager) StopPodSandbox ¶
func (psm *PodSandboxManager) StopPodSandbox(podSandboxID string) (err error)
StopPodSandbox stops the sandbox. If there are any running containers in the sandbox, they should be force terminated.
func (*PodSandboxManager) Version ¶
func (psm *PodSandboxManager) Version(apiVersion string) (*runtimeapi.VersionResponse, error)
Version returns the runtime name, runtime version and runtime API version.
type RuntimeService ¶
type RuntimeService interface { RuntimeVersioner IContainerManager IPodSandboxManager ContainerStatsManager // UpdateRuntimeConfig updates runtime configuration if specified UpdateRuntimeConfig(runtimeConfig *runtimeapi.RuntimeConfig) error // Status returns the status of the runtime. Status() (*runtimeapi.RuntimeStatus, error) }
RuntimeService interface should be implemented by a container runtime. The methods should be thread-safe.
type RuntimeVersioner ¶
type RuntimeVersioner interface { // Version returns the runtime name, runtime version and runtime API version Version(apiVersion string) (*runtimeapi.VersionResponse, error) }
RuntimeVersioner contains methods for runtime name, version and API version.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service serves the kubelet runtime grpc api which will be consumed by kubelet.
func NewService ¶
NewService creates a brand new cri service.