nsenter

package
v1.12.0-alpha.0 Latest Latest
Warning

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

Go to latest
Published: May 17, 2018 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Nsenter

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

Nsenter is part of experimental support for running the kubelet in a container.

Nsenter requires:

  1. Docker >= 1.6 due to the dependency on the slave propagation mode of the bind-mount of the kubelet root directory in the container. Docker 1.5 used a private propagation mode for bind-mounts, so mounts performed in the host's mount namespace do not propagate out to the bind-mount in this docker version.
  2. The host's root filesystem must be available at /rootfs
  3. The nsenter binary must be on the Kubelet process' PATH in the container's filesystem.
  4. The Kubelet process must have CAP_SYS_ADMIN (required by nsenter); at the present, this effectively means that the kubelet is running in a privileged container.
  5. The volume path used by the Kubelet must be the same inside and outside the container and be writable by the container (to initialize volume) contents. TODO: remove this requirement.
  6. The host image must have "mount", "findmnt", "umount", "stat", "touch", "mkdir", "ls", "sh" and "chmod" binaries in /bin, /usr/sbin, or /usr/bin
  7. The host image should have systemd-run in /bin, /usr/sbin, or /usr/bin if systemd is installed/enabled in the operating system.

For more information about mount propagation modes, see:

https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt

func NewNsenter

func NewNsenter() (*Nsenter, error)

NewNsenter constructs a new instance of Nsenter

func (*Nsenter) AbsHostPath

func (ne *Nsenter) AbsHostPath(command string) string

AbsHostPath returns the absolute runnable path for a specified command

func (ne *Nsenter) EvalSymlinks(pathname string) (string, error)

EvalSymlinks returns the path name on the host after evaluating symlinks on the host.

func (*Nsenter) Exec

func (ne *Nsenter) Exec(cmd string, args []string) exec.Cmd

Exec executes nsenter commands in hostProcMountNsPath mount namespace

func (*Nsenter) KubeletPath added in v1.11.0

func (ne *Nsenter) KubeletPath(pathname string) (string, error)

KubeletPath returns the path name that can be accessed by containerized kubelet, after evaluating symlinks on the host.

func (*Nsenter) SupportsSystemd

func (ne *Nsenter) SupportsSystemd() (string, bool)

SupportsSystemd checks whether command systemd-run exists

Jump to

Keyboard shortcuts

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