@aws-quickstart/eks-blueprints
    Preparing search index...

    Type Alias NodePoolV1Spec

    Utility type for Karpenter NodePool Specs for v1

    type NodePoolV1Spec = {
        annotations?: Values;
        disruption?: {
            budgets?: DisruptionBudget[];
            consolidateAfter?: Sec | Min | Hour;
            consolidationPolicy?: "WhenEmptyOrUnderutilized" | "WhenEmpty";
        };
        expireAfter?: "Never"
        | Sec
        | Min
        | Hour;
        labels?: Values;
        limits?: { cpu?: number; memory?: string; [k: string]: unknown };
        requirements?: NodePoolRequirementValues;
        startupTaints?: Taint[];
        taints?: Taint[];
        weight?: number;
    }
    Index

    Properties

    annotations?: Values

    Annotations applied to all nodes

    disruption?: {
        budgets?: DisruptionBudget[];
        consolidateAfter?: Sec | Min | Hour;
        consolidationPolicy?: "WhenEmptyOrUnderutilized" | "WhenEmpty";
    }

    Disruption section which describes the ways in which Karpenter can disrupt and replace Nodes Configuration in this section constrains how aggressive Karpenter can be with performing operations like rolling Nodes due to them hitting their maximum lifetime (expiry) or scaling down nodes to reduce cluster cost Only applicable for versions v0.32 or later

    consolidation policy - will default to WhenUnderutilized if not provided

    How long Karpenter waits to consolidate nodes - cannot be set when the policy is WhenUnderutilized

    How long Karpenter waits to expire nodes

    expireAfter?: "Never" | Sec | Min | Hour

    The amount of time a Node can live on the cluster before being removed Avoiding long-running Nodes helps to reduce security vulnerabilities as well as to reduce the chance of issues that can plague Nodes with long uptimes such as file fragmentation or memory leaks from system processes You can choose to disable expiration entirely by setting the string value 'Never' here Note: changing this value in the nodepool will drift the nodeclaims.

    labels?: Values

    Labels applied to all nodes

    limits?: { cpu?: number; memory?: string; [k: string]: unknown }

    Limits define a set of bounds for provisioning capacity. Resource limits constrain the total size of the cluster. Limits prevent Karpenter from creating new instances once the limit is exceeded.

    Type declaration

    • [k: string]: unknown

      Extended resources are fully-qualified resource names outside the kubernetes.io domain. They allow cluster operators to advertise and users to consume the non-Kubernetes-built-in resources such as hardware devices GPUs, RDMAs, SR-IOVs... e.g nvidia.com/gpu, amd.com/gpu, etc...

    • Optionalcpu?: number
    • Optionalmemory?: string

    Requirement properties for Node Pool (Optional) - If not provided, the add-on will deploy one with no value, providing no restrictions when Karpenter optimizes.

    startupTaints?: Taint[]

    Provisioned nodes will have these taints, but pods do not need to tolerate these taints to be provisioned by this provisioner. These taints are expected to be temporary and some other entity (e.g. a DaemonSet) is responsible for removing the taint after it has finished initializing the node.

    taints?: Taint[]

    Taints for the provisioned nodes - Taints may prevent pods from scheduling if they are not tolerated by the pod.

    weight?: number

    Priority given to the provisioner when the scheduler considers which provisioner to select. Higher weights indicate higher priority when comparing provisioners.