policy

package
v0.0.0-...-0997622 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2017 License: Apache-2.0, Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const GroupName = "policy"

GroupName is the group name use in this package

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func DeepCopy_policy_Eviction

func DeepCopy_policy_Eviction(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_policy_PodDisruptionBudget

func DeepCopy_policy_PodDisruptionBudget(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_policy_PodDisruptionBudgetList

func DeepCopy_policy_PodDisruptionBudgetList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_policy_PodDisruptionBudgetSpec

func DeepCopy_policy_PodDisruptionBudgetSpec(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_policy_PodDisruptionBudgetStatus

func DeepCopy_policy_PodDisruptionBudgetStatus(in interface{}, out interface{}, c *conversion.Cloner) error

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func RegisterDeepCopies

func RegisterDeepCopies(scheme *runtime.Scheme) error

RegisterDeepCopies adds deep-copy functions to the given scheme. Public to allow building arbitrary schemes.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Eviction

type Eviction struct {
	unversioned.TypeMeta `json:",inline"`

	// ObjectMeta describes the pod that is being evicted.
	// +optional
	api.ObjectMeta `json:"metadata,omitempty"`

	// DeleteOptions may be provided
	// +optional
	DeleteOptions *api.DeleteOptions `json:"deleteOptions,omitempty"`
}

Eviction evicts a pod from its node subject to certain policies and safety constraints. This is a subresource of Pod. A request to cause such an eviction is created by POSTing to .../pods/<pod name>/eviction.

func (*Eviction) CodecDecodeSelf

func (x *Eviction) CodecDecodeSelf(d *codec1978.Decoder)

func (*Eviction) CodecEncodeSelf

func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder)

type PodDisruptionBudget

type PodDisruptionBudget struct {
	unversioned.TypeMeta `json:",inline"`
	// +optional
	api.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the PodDisruptionBudget.
	// +optional
	Spec PodDisruptionBudgetSpec `json:"spec,omitempty"`
	// Most recently observed status of the PodDisruptionBudget.
	// +optional
	Status PodDisruptionBudgetStatus `json:"status,omitempty"`
}

PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods

func (*PodDisruptionBudget) CodecDecodeSelf

func (x *PodDisruptionBudget) CodecDecodeSelf(d *codec1978.Decoder)

func (*PodDisruptionBudget) CodecEncodeSelf

func (x *PodDisruptionBudget) CodecEncodeSelf(e *codec1978.Encoder)

type PodDisruptionBudgetList

type PodDisruptionBudgetList struct {
	unversioned.TypeMeta `json:",inline"`
	// +optional
	unversioned.ListMeta `json:"metadata,omitempty"`
	Items                []PodDisruptionBudget `json:"items"`
}

PodDisruptionBudgetList is a collection of PodDisruptionBudgets.

func (*PodDisruptionBudgetList) CodecDecodeSelf

func (x *PodDisruptionBudgetList) CodecDecodeSelf(d *codec1978.Decoder)

func (*PodDisruptionBudgetList) CodecEncodeSelf

func (x *PodDisruptionBudgetList) CodecEncodeSelf(e *codec1978.Encoder)

type PodDisruptionBudgetSpec

type PodDisruptionBudgetSpec struct {
	// An eviction is allowed if at least "minAvailable" pods selected by
	// "selector" will still be available after the eviction, i.e. even in the
	// absence of the evicted pod.  So for example you can prevent all voluntary
	// evictions by specifying "100%".
	// +optional
	MinAvailable intstr.IntOrString `json:"minAvailable,omitempty"`

	// Label query over pods whose evictions are managed by the disruption
	// budget.
	// +optional
	Selector *unversioned.LabelSelector `json:"selector,omitempty"`
}

PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.

func (*PodDisruptionBudgetSpec) CodecDecodeSelf

func (x *PodDisruptionBudgetSpec) CodecDecodeSelf(d *codec1978.Decoder)

func (*PodDisruptionBudgetSpec) CodecEncodeSelf

func (x *PodDisruptionBudgetSpec) CodecEncodeSelf(e *codec1978.Encoder)

type PodDisruptionBudgetStatus

type PodDisruptionBudgetStatus struct {
	// Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and other
	// status informatio is valid only if observedGeneration equals to PDB's object generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// DisruptedPods contains information about pods whose eviction was
	// processed by the API server eviction subresource handler but has not
	// yet been observed by the PodDisruptionBudget controller.
	// A pod will be in this map from the time when the API server processed the
	// eviction request to the time when the pod is seen by PDB controller
	// as having been marked for deletion (or after a timeout). The key in the map is the name of the pod
	// and the value is the time when the API server processed the eviction request. If
	// the deletion didn't occur and a pod is still there it will be removed from
	// the list automatically by PodDisruptionBudget controller after some time.
	// If everything goes smooth this map should be empty for the most of the time.
	// Large number of entries in the map may indicate problems with pod deletions.
	DisruptedPods map[string]unversioned.Time `json:"disruptedPods" protobuf:"bytes,5,rep,name=disruptedPods"`

	// Number of pod disruptions that are currently allowed.
	PodDisruptionsAllowed int32 `json:"disruptionsAllowed"`

	// current number of healthy pods
	CurrentHealthy int32 `json:"currentHealthy"`

	// minimum desired number of healthy pods
	DesiredHealthy int32 `json:"desiredHealthy"`

	// total number of pods counted by this disruption budget
	ExpectedPods int32 `json:"expectedPods"`
}

PodDisruptionBudgetStatus represents information about the status of a PodDisruptionBudget. Status may trail the actual state of a system.

func (*PodDisruptionBudgetStatus) CodecDecodeSelf

func (x *PodDisruptionBudgetStatus) CodecDecodeSelf(d *codec1978.Decoder)

func (*PodDisruptionBudgetStatus) CodecEncodeSelf

func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder)

Directories

Path Synopsis
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
Package policy is for any kind of policy object.
Package policy is for any kind of policy object.

Jump to

Keyboard shortcuts

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