vkubelet

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2018 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PodStatusReason_ProviderFailed = "ProviderFailed"
)

Variables

This section is empty.

Functions

func ApiServerHandler

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

func ApiServerHandlerExec added in v0.4.1

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

func ApiserverStart

func ApiserverStart(provider Provider)

func NotFound

func NotFound(w http.ResponseWriter, r *http.Request)

Types

type Provider

type Provider interface {
	// CreatePod takes a Kubernetes Pod and deploys it within the provider.
	CreatePod(pod *v1.Pod) error

	// UpdatePod takes a Kubernetes Pod and updates it within the provider.
	UpdatePod(pod *v1.Pod) error

	// DeletePod takes a Kubernetes Pod and deletes it from the provider.
	DeletePod(pod *v1.Pod) error

	// GetPod retrieves a pod by name from the provider (can be cached).
	GetPod(namespace, name string) (*v1.Pod, error)

	// GetContainerLogs retrieves the logs of a container by name from the provider.
	GetContainerLogs(namespace, podName, containerName string, tail int) (string, error)

	// ExecInContainer executes a command in a container in the pod, copying data
	// between in/out/err and the container's stdin/stdout/stderr.
	ExecInContainer(name string, uid types.UID, container string, cmd []string, in io.Reader, out, err io.WriteCloser, tty bool, resize <-chan remotecommand.TerminalSize, timeout time.Duration) error

	// GetPodStatus retrieves the status of a pod by name from the provider.
	GetPodStatus(namespace, name string) (*v1.PodStatus, error)

	// GetPods retrieves a list of all pods running on the provider (can be cached).
	GetPods() ([]*v1.Pod, error)

	// Capacity returns a resource list with the capacity constraints of the provider.
	Capacity() v1.ResourceList

	// NodeConditions returns a list of conditions (Ready, OutOfDisk, etc), which is
	// polled periodically to update the node status within Kubernetes.
	NodeConditions() []v1.NodeCondition

	// NodeAddresses returns a list of addresses for the node status
	// within Kubernetes.
	NodeAddresses() []v1.NodeAddress

	// NodeDaemonEndpoints returns NodeDaemonEndpoints for the node status
	// within Kubernetes.
	NodeDaemonEndpoints() *v1.NodeDaemonEndpoints

	// OperatingSystem returns the operating system the provider is for.
	OperatingSystem() string
}

Provider contains the methods required to implement a virtual-kubelet provider.

type Server

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

Server masquarades itself as a kubelet and allows for the virtual node to be backed by non-vm/node providers.

func New

func New(nodeName, operatingSystem, namespace, kubeConfig, provider, providerConfig, taintKey string, disableTaint bool) (*Server, error)

New creates a new virtual-kubelet server.

func (*Server) Run

func (s *Server) Run() error

Run starts the server, registers it with Kubernetes and begins watching/reconciling the cluster. Run will block until Stop is called or a SIGINT or SIGTERM signal is received.

func (*Server) Stop

func (s *Server) Stop()

Stop shutsdown the server. It does not shutdown pods assigned to the virtual node.

Jump to

Keyboard shortcuts

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