Skip to content

Custom drain implementation #109

Description

@alicefr

The controller currently uses k8s.io/kubectl/pkg/drain for node draining, which pulls in heavy dependencies for a fairly thin orchestration layer on top of the Eviction API (list pods, filter DaemonSet/mirror pods, evict with PDB retry, poll until deleted). A custom implementation would drop k8s.io/kubectl and k8s.io/cli-runtime and use the Eviction API directly. This should allow dropping the logwriter adapter we have, and possibly not require drain goroutines.

Issue originally reported by @jlebon in https://github.com/bootc-dev/bootc-operator/blob/main/docs/ARCHITECTURE.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions