v1.0.0 Latest Latest

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

Go to latest
Published: Jun 18, 2015 License: Apache-2.0 Imports: 10 Imported by: 0



Package exec scans and loads networking plugins that are installed under /usr/libexec/kubernetes/kubelet-plugins/net/exec/ The layout convention for a plugin is:

plugin-name/            (plugins have to be directories first)
plugin-name/plugin-name (executable that will be called out, see Vendoring Note for more nuances)
where, 'executable' has the following requirements:
  - should have exec permissions
  - should give non-zero exit code on failure, and zero on sucess
  - the arguments will be <action> <pod_namespace> <pod_name> <docker_id_of_infra_container>
    whereupon, <action> will be one of:
      - init, called when the kubelet loads the plugin
      - setup, called after the infra container of a pod is
             created, but before other containers of the pod are created
      - teardown, called before the pod infra container is killed

As the executables are called, the file-descriptors stdin, stdout, stderr remain open. The combined output of stdout/stderr is captured and logged.

Note: If the pod infra container self-terminates (e.g. crashes or is killed), the entire pod lifecycle will be restarted, but teardown will not be called.

Vendoring Note:

Plugin Names can be vendored also. Use '~' as the escaped name for plugin directories.
And expect command line argument to call vendored plugins as 'vendor/pluginName'
e.g. pluginName = mysdn
     vendorname = mycompany
then, plugin layout should be
     mycompany~mysdn/mysdn (this becomes the executable)
and, call the kubelet with '--network-plugin=mycompany/mysdn'



View Source
const X_OK = 0x1


This section is empty.


func ProbeNetworkPlugins

func ProbeNetworkPlugins() []network.NetworkPlugin


This section is empty.

Jump to

Keyboard shortcuts

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