README

Go Reference

golang.org/x/build/kubernetes

Package kubernetes contains a minimal client for the Kubernetes API.

Expand ▾ Collapse ▴

Documentation

Overview

    Package kubernetes contains a minimal client for the Kubernetes API.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type Client

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

      Client is a client for the Kubernetes master.

      func NewClient

      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

        func (c *Client) Close() error

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

          func (*Client) DeletePod

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

            PodDelete deletes the specified Kubernetes pod.

            func (*Client) DialPod

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

            func (*Client) DialService

            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

              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

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

                  PodNodes returns the list of nodes that comprise the Kubernetes cluster

                  func (*Client) GetPods

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

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

                    func (*Client) GetServiceEndpoints

                    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

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

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

                        func (*Client) PodLog

                        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

                          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

                            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

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

                                Endpoint represents a service endpoint address.

                                type PodStatusResult

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

                                  PodStatusResult wraps an api.PodStatus and error.

                                  Directories

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