Documentation ¶
Index ¶
Constants ¶
const (
DeletionTimeout = 2 * 60 * time.Second
)
DeletionTimeout sets maximum time from the moment a pod is added to DisruptedPods in PDB.Status to the time when the pod is expected to be seen by PDB controller as having been marked for deletion. If the pod was not marked for deletion during that time it is assumed that it won't be deleted at all and the corresponding entry can be removed from pdb.Status.DisruptedPods. It is assumed that pod/pdb apiserver to controller latency is relatively small (like 1-2sec) so the below value should be more than enough. If the controller is running on a different node it is important that the two nodes have synced clock (via ntp for example). Otherwise PodDisruptionBudget controller may not provide enough protection against unwanted pod disruptions.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DisruptionController ¶
type DisruptionController struct {
// contains filtered or unexported fields
}
func NewDisruptionController ¶
func NewDisruptionController( podInformer coreinformers.PodInformer, pdbInformer policyinformers.PodDisruptionBudgetInformer, rcInformer coreinformers.ReplicationControllerInformer, rsInformer appsv1informers.ReplicaSetInformer, dInformer appsv1informers.DeploymentInformer, ssInformer appsv1informers.StatefulSetInformer, kubeClient clientset.Interface, restMapper apimeta.RESTMapper, scaleNamespacer scaleclient.ScalesGetter, discoveryClient discovery.DiscoveryInterface, ) *DisruptionController
func (*DisruptionController) Run ¶
func (dc *DisruptionController) Run(ctx context.Context)