kubernetes

package
v0.0.0-...-80a9e2a Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: BSD-3-Clause Imports: 17 Imported by: 40

README

Go Reference

golang.org/x/build/kubernetes

Package kubernetes contains a minimal client for the Kubernetes API.

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, namespace 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

DeletePod 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)

GetNodes 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, 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.

Jump to

Keyboard shortcuts

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