Documentation ¶
Index ¶
- Constants
- Variables
- type PoisonPillConfigReconciler
- type PoisonPillRemediationReconciler
- func (r *PoisonPillRemediationReconciler) GetLastSeenPprNamespace() string
- func (r *PoisonPillRemediationReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
- func (r *PoisonPillRemediationReconciler) SetupWithManager(mgr ctrl.Manager) error
- func (r *PoisonPillRemediationReconciler) WasLastSeenPprMachine() bool
Constants ¶
View Source
const (
PPRFinalizer = "poison-pill.medik8s.io/ppr-finalizer"
)
Variables ¶
View Source
var ( NodeUnschedulableTaint = &v1.Taint{ Key: "node.kubernetes.io/unschedulable", Effect: v1.TaintEffectNoSchedule, } )
Functions ¶
This section is empty.
Types ¶
type PoisonPillConfigReconciler ¶
type PoisonPillConfigReconciler struct { client.Client Log logr.Logger Scheme *runtime.Scheme InstallFileFolder string DefaultPpcCreator func(c client.Client) error Namespace string }
PoisonPillConfigReconciler reconciles a PoisonPillConfig object
func (*PoisonPillConfigReconciler) SetupWithManager ¶
func (r *PoisonPillConfigReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type PoisonPillRemediationReconciler ¶
type PoisonPillRemediationReconciler struct { client.Client Log logr.Logger Scheme *runtime.Scheme Rebooter reboot.Rebooter // note that this time must include the time for a unhealthy node without api-server access to reach the conclusion that it's unhealthy // this should be at least worst-case time to reach a conclusion from the other peers * request context timeout + watchdog interval + maxFailuresThreshold * reconcileInterval + padding SafeTimeToAssumeNodeRebooted time.Duration MyNodeName string //we need to restore the node only after the cluster realized it can reschecudle the affected workloads //as of writing this lines, kubernetes will check for pods with non-existent node once in 20s, and allows //40s of grace period for the node to reappear before it deletes the pods. //see here: https://github.com/kubernetes/kubernetes/blob/7a0638da76cb9843def65708b661d2c6aa58ed5a/pkg/controller/podgc/gc_controller.go#L43-L47 RestoreNodeAfter time.Duration // contains filtered or unexported fields }
PoisonPillRemediationReconciler reconciles a PoisonPillRemediation object
func (*PoisonPillRemediationReconciler) GetLastSeenPprNamespace ¶ added in v0.0.5
func (r *PoisonPillRemediationReconciler) GetLastSeenPprNamespace() string
GetLastSeenPprNamespace returns the namespace of the last reconciled PPR
func (*PoisonPillRemediationReconciler) SetupWithManager ¶
func (r *PoisonPillRemediationReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
func (*PoisonPillRemediationReconciler) WasLastSeenPprMachine ¶ added in v0.0.5
func (r *PoisonPillRemediationReconciler) WasLastSeenPprMachine() bool
WasLastSeenPprMachine returns the a boolean indicating if the last reconcile PPR was pointing an unhealthy machine or a node
Click to show internal directories.
Click to hide internal directories.