build: Index | Files | Directories

package kubernetes

import ""

Package kubernetes contains a minimal client for the Kubernetes API.


Package Files

client.go dialer.go

type Client Uses

type Client struct {
    // contains filtered or unexported fields

Client is a client for the Kubernetes master.

func NewClient Uses

func NewClient(baseURL string, client *http.Client) (*Client, error)

NewClient returns a new Kubernetes client. The provided host is an url (scheme://hostname[:port]) of a Kubernetes master without any path. The provided client is an authorized http.Client used to perform requests to the Kubernetes API master.

func (*Client) Close Uses

func (c *Client) Close() error

Close closes any idle HTTP connections still connected to the Kubernetes master.

func (*Client) DeletePod Uses

func (c *Client) DeletePod(ctx context.Context, podName string) error

PodDelete deletes the specified Kubernetes pod.

func (*Client) DialPod Uses

func (c *Client) DialPod(ctx context.Context, podName string, port int) (net.Conn, error)

func (*Client) DialService Uses

func (c *Client) DialService(ctx context.Context, serviceName string) (net.Conn, error)

DialService connects to the named service. The service must have only one port. For multi-port services, use DialServicePort.

func (*Client) DialServicePort Uses

func (c *Client) DialServicePort(ctx context.Context, serviceName, portName string) (net.Conn, error)

DialServicePort connects to the named port on the named service. If portName is the empty string, the service must have exactly 1 port.

func (*Client) GetNodes Uses

func (c *Client) GetNodes(ctx context.Context) ([]api.Node, error)

PodNodes returns the list of nodes that comprise the Kubernetes cluster

func (*Client) GetPods Uses

func (c *Client) GetPods(ctx context.Context) ([]api.Pod, error)

GetPods returns all pods in the cluster, regardless of status.

func (*Client) GetServiceEndpoints Uses

func (c *Client) GetServiceEndpoints(ctx context.Context, serviceName, portName string) ([]Endpoint, error)

GetServiceEndpoints returns the endpoints for the named service. If portName is non-empty, only endpoints matching that port name are returned.

func (*Client) GetServices Uses

func (c *Client) GetServices(ctx context.Context) ([]api.Service, error)

GetServices returns all services in the cluster, regardless of status.

func (*Client) PodLog Uses

func (c *Client) PodLog(ctx context.Context, podName string) (string, error)

PodLog retrieves the container log for the first container in the pod.

func (*Client) PodStatus Uses

func (c *Client) PodStatus(ctx context.Context, podName string) (*api.PodStatus, error)

Retrieve the status of a pod synchronously from the Kube API server.

func (*Client) RunLongLivedPod Uses

func (c *Client) RunLongLivedPod(ctx context.Context, pod *api.Pod) (*api.PodStatus, error)

RunLongLivedPod creates a new pod resource in the default pod namespace with the given pod API specification. It assumes the pod runs a long-lived server (i.e. if the container exit quickly quickly, even with success, then that is an error).

It returns the pod status once it has entered the Running phase. An error is returned if the pod can not be created, or if ctx.Done is closed.

type Endpoint Uses

type Endpoint struct {
    IP       string
    Port     int
    PortName string
    Protocol string // "TCP" or "UDP"; never empty

Endpoint represents a service endpoint address.

type PodStatusResult Uses

type PodStatusResult struct {
    Pod  *api.Pod
    Type string
    Err  error

PodStatusResult wraps an api.PodStatus and error.


apiPackage api contains the Kubernetes v1 API types.
gkePackage gke contains code for interacting with Google Container Engine (GKE), the hosted version of Kubernetes on Google Cloud Platform.

Package kubernetes imports 18 packages (graph) and is imported by 14 packages. Updated 2021-01-21. Refresh now. Tools for package owners.