Documentation ¶
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.
Functions ¶
This section is empty.
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 context.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) NamespaceScoped ¶
func (r *BindingREST) NamespaceScoped() bool
NamespaceScoped fulfill rest.Scoper
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 context.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 ¶
Categories implements the CategoriesProvider interface. Returns a list of categories a resource is part of.
func (*REST) ResourceLocation ¶
func (r *REST) ResourceLocation(ctx context.Context, name string) (*url.URL, http.RoundTripper, error)
ResourceLocation returns a pods location from its HostIP
func (*REST) ShortNames ¶
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 ¶
func (r *StatusREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error)
Get retrieves the object from the storage. It is required to support Patch.
func (*StatusREST) Update ¶
func (r *StatusREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc) (runtime.Object, bool, error)
Update alters the status subset of an object.