controllers

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2022 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

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) Reconcile

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) Reconcile

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

Jump to

Keyboard shortcuts

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