kubernetesk8s.io/kubernetes/pkg/registry/core/pod/storage Index | Files

package storage

import "k8s.io/kubernetes/pkg/registry/core/pod/storage"

Index

Constants

const (
	// MaxDisruptedPodSize is the max size of PodDisruptionBudgetStatus.DisruptedPods. API server eviction
	// subresource handler will refuse to evict pods covered by the corresponding PDB
	// if the size of the map exceeds this value. It means a large number of
	// evictions have been approved by the API server but not noticed by the PDB controller yet.
	// This situation should self-correct because the PDB controller removes
	// entries from the map automatically after the PDB DeletionTimeout regardless.
	MaxDisruptedPodSize = 2000
)

Variables

var EvictionsRetry = wait.Backoff{
	Steps:    20,
	Duration: 500 * time.Millisecond,
	Factor:   1.0,
	Jitter:   0.1,
}

EvictionsRetry is the retry for a conflict where multiple clients are making changes to the same resource.

Types

type BindingREST

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

BindingREST implements the REST endpoint for binding pods to nodes when etcd is in use.

func (*BindingREST) Create

func (r *BindingREST) Create(ctx genericapirequest.Context, obj runtime.Object, createValidation rest.ValidateObjectFunc, includeUninitialized bool) (out runtime.Object, err error)

Create ensures a pod is bound to a specific host.

func (*BindingREST) New

func (r *BindingREST) New() runtime.Object

New creates a new binding resource

type EvictionREST

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

EvictionREST implements the REST endpoint for evicting pods from nodes

func (*EvictionREST) Create

func (r *EvictionREST) Create(ctx genericapirequest.Context, obj runtime.Object, createValidation rest.ValidateObjectFunc, includeUninitialized bool) (runtime.Object, error)

Create attempts to create a new eviction. That is, it tries to evict a pod.

func (*EvictionREST) GroupVersionKind

func (r *EvictionREST) GroupVersionKind(containingGV schema.GroupVersion) schema.GroupVersionKind

GroupVersionKind specifies a particular GroupVersionKind to discovery

func (*EvictionREST) New

func (r *EvictionREST) New() runtime.Object

New creates a new eviction resource

type PodStorage

type PodStorage struct {
	Pod         *REST
	Binding     *BindingREST
	Eviction    *EvictionREST
	Status      *StatusREST
	Log         *podrest.LogREST
	Proxy       *podrest.ProxyREST
	Exec        *podrest.ExecREST
	Attach      *podrest.AttachREST
	PortForward *podrest.PortForwardREST
}

PodStorage includes storage for pods and all sub resources

func NewStorage

func NewStorage(optsGetter generic.RESTOptionsGetter, k client.ConnectionInfoGetter, proxyTransport http.RoundTripper, podDisruptionBudgetClient policyclient.PodDisruptionBudgetsGetter) PodStorage

NewStorage returns a RESTStorage object that will work against pods.

type REST

type REST struct {
	*genericregistry.Store
	// contains filtered or unexported fields
}

REST implements a RESTStorage for pods

func (*REST) Categories

func (r *REST) Categories() []string

Categories implements the CategoriesProvider interface. Returns a list of categories a resource is part of.

func (*REST) ResourceLocation

func (r *REST) ResourceLocation(ctx genericapirequest.Context, name string) (*url.URL, http.RoundTripper, error)

ResourceLocation returns a pods location from its HostIP

func (*REST) ShortNames

func (r *REST) ShortNames() []string

ShortNames implements the ShortNamesProvider interface. Returns a list of short names for a resource.

type StatusREST

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

StatusREST implements the REST endpoint for changing the status of a pod.

func (*StatusREST) Get

Get retrieves the object from the storage. It is required to support Patch.

func (*StatusREST) New

func (r *StatusREST) New() runtime.Object

New creates a new pod resource

func (*StatusREST) Update

func (r *StatusREST) Update(ctx genericapirequest.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc) (runtime.Object, bool, error)

Update alters the status subset of an object.

Source Files

eviction.go storage.go

Version
v1.9.1
Published
Jan 3, 2018
Platform
js/wasm
Imports
28 packages
Last checked
5 minutes ago

Tools for package owners.