Documentation ¶
Overview ¶
Docker integration using pkg/kubelet/api/v1alpha1/runtime/api.pb.go.
Index ¶
Constants ¶
const ( // DockerImageIDPrefix is the prefix of image id in container status. DockerImageIDPrefix = dockertools.DockerPrefix // DockerPullableImageIDPrefix is the prefix of pullable image id in container status. DockerPullableImageIDPrefix = dockertools.DockerPullablePrefix )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DockerLegacyService ¶
type DockerLegacyService interface { // Supporting legacy methods for docker. LegacyExec(containerID kubecontainer.ContainerID, cmd []string, stdin io.Reader, stdout, stderr io.WriteCloser, tty bool, resize <-chan term.Size) error LegacyAttach(id kubecontainer.ContainerID, stdin io.Reader, stdout, stderr io.WriteCloser, tty bool, resize <-chan term.Size) error LegacyPortForward(sandboxID string, port uint16, stream io.ReadWriteCloser) error }
DockerLegacyService is an interface that embeds all legacy methods for backward compatibility.
type DockerService ¶
type DockerService interface { internalApi.RuntimeService internalApi.ImageManagerService DockerLegacyService Start() error }
DockerService is an interface that embeds both the new RuntimeService and ImageService interfaces, while including DockerLegacyService for backward compatibility.
func NewDockerService ¶
func NewDockerService(client dockertools.DockerInterface, seccompProfileRoot string, podSandboxImage string, streamingConfig *streaming.Config, pluginSettings *NetworkPluginSettings, cgroupsName string) (DockerService, error)
NOTE: Anything passed to DockerService should be eventually handled in another way when we switch to running the shim as a different process.
type NetworkPluginSettings ¶
type NetworkPluginSettings struct { // HairpinMode is best described by comments surrounding the kubelet arg HairpinMode componentconfig.HairpinMode // NonMasqueradeCIDR is the range of ips which should *not* be included // in any MASQUERADE rules applied by the plugin NonMasqueradeCIDR string // PluginName is the name of the plugin, runtime shim probes for PluginName string // PluginBinDir is the directory in which the binaries for the plugin with // PluginName is kept. The admin is responsible for provisioning these // binaries before-hand. PluginBinDir string // PluginConfDir is the directory in which the admin places a CNI conf. // Depending on the plugin, this may be an optional field, eg: kubenet // generates its own plugin conf. PluginConfDir string // MTU is the desired MTU for network devices created by the plugin. MTU int // RuntimeHost is an interface that serves as a trap-door from plugin back // into the kubelet. // TODO: This shouldn't be required, remove once we move host ports into CNI // and figure out bandwidth shaping. See corresponding comments above // network.Host interface. LegacyRuntimeHost network.LegacyHost }
NetworkPluginSettings is the subset of kubelet runtime args we pass to the container runtime shim so it can probe for network plugins. In the future we will feed these directly to a standalone container runtime process.