Skip to content

Latest commit

 

History

History
431 lines (431 loc) · 8.91 KB

File metadata and controls

431 lines (431 loc) · 8.91 KB

Packages:

karpenter.sh/v1alpha3

Package v1alpha3 contains API Schema definitions for the v1alpha3 API group

Resource Types:

    Cluster

    (Appears on: ProvisionerSpec)

    Cluster configures the cluster that the provisioner operates against. If not specified, it will default to using the controller’s kube-config.

    Field Description
    endpoint
    string

    Endpoint is required for nodes to connect to the API Server.

    caBundle
    string
    (Optional)

    CABundle used by nodes to verify API Server certificates. If omitted (nil), it will be dynamically loaded at runtime from the in-cluster configuration file /var/run/secrets/kubernetes.io/serviceaccount/ca.crt. An empty value (“”) can be used to signal that no CABundle should be used.

    name
    string
    (Optional)

    Name may be required to detect implementing cloud provider resources.

    Constraints

    (Appears on: ProvisionerSpec)

    Constraints are applied to all nodes created by the provisioner. They can be overriden by NodeSelectors at the pod level.

    Field Description
    taints
    []Kubernetes core/v1.Taint
    (Optional)

    Taints will be applied to every node launched by the Provisioner. If specified, the provisioner will not provision nodes for pods that do not have matching tolerations.

    labels
    map[string]string
    (Optional)

    Labels will be applied to every node launched by the Provisioner unless overriden by pod node selectors. Well known labels control provisioning behavior. Additional labels may be supported by your cloudprovider.

    zones
    []string
    (Optional)

    Zones constrains where nodes will be launched by the Provisioner. If unspecified, defaults to all zones in the region. Cannot be specified if label “topology.kubernetes.io/zone” is specified.

    instanceTypes
    []string
    (Optional)

    InstanceTypes constrains which instances types will be used for nodes launched by the Provisioner. If unspecified, it will support all types. Cannot be specified if label “node.kubernetes.io/instance-type” is specified.

    architecture
    string
    (Optional)

    Architecture constrains the underlying node architecture

    operatingSystem
    string
    (Optional)

    OperatingSystem constrains the underlying node operating system

    Provisioner

    Provisioner is the Schema for the Provisioners API

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    ProvisionerSpec


    cluster
    Cluster

    Cluster that launched nodes connect to.

    Constraints
    Constraints

    (Members of Constraints are embedded into this type.)

    (Optional)

    Constraints are applied to all nodes launched by this provisioner.

    ttlSecondsAfterEmpty
    int64
    (Optional)

    TTLSecondsAfterEmpty is the number of seconds the controller will wait before attempting to terminate a node, measured from when the node is detected to be empty. A Node is considered to be empty when it does not have pods scheduled to it, excluding daemonsets.

    Termination due to underutilization is disabled if this field is not set.

    ttlSecondsUntilExpired
    int64
    (Optional)

    TTLSecondsUntilExpired is the number of seconds the controller will wait before terminating a node, measured from when the node is created. This is useful to implement features like eventually consistent node upgrade, memory leak protection, and disruption testing.

    Termination due to expiration is disabled if this field is not set.

    status
    ProvisionerStatus

    ProvisionerSpec

    (Appears on: Provisioner)

    ProvisionerSpec is the top level provisioner specification. Provisioners launch nodes in response to pods where status.conditions[type=unschedulable, status=true]. Node configuration is driven by through a combination of provisioner specification (defaults) and pod scheduling constraints (overrides). A single provisioner is capable of managing highly diverse capacity within a single cluster and in most cases, only one should be necessary. For advanced use cases like workload separation and sharding, it’s possible to define multiple provisioners. These provisioners may have different defaults and can be specifically targeted by pods using pod.spec.nodeSelector[“karpenter.sh/provisioner-name”]=$PROVISIONER_NAME.

    Field Description
    cluster
    Cluster

    Cluster that launched nodes connect to.

    Constraints
    Constraints

    (Members of Constraints are embedded into this type.)

    (Optional)

    Constraints are applied to all nodes launched by this provisioner.

    ttlSecondsAfterEmpty
    int64
    (Optional)

    TTLSecondsAfterEmpty is the number of seconds the controller will wait before attempting to terminate a node, measured from when the node is detected to be empty. A Node is considered to be empty when it does not have pods scheduled to it, excluding daemonsets.

    Termination due to underutilization is disabled if this field is not set.

    ttlSecondsUntilExpired
    int64
    (Optional)

    TTLSecondsUntilExpired is the number of seconds the controller will wait before terminating a node, measured from when the node is created. This is useful to implement features like eventually consistent node upgrade, memory leak protection, and disruption testing.

    Termination due to expiration is disabled if this field is not set.

    ProvisionerStatus

    (Appears on: Provisioner)

    ProvisionerStatus defines the observed state of Provisioner

    Field Description
    lastScaleTime
    knative.dev/pkg/apis.VolatileTime
    (Optional)

    LastScaleTime is the last time the Provisioner scaled the number of nodes

    conditions
    knative.dev/pkg/apis.Conditions
    (Optional)

    Conditions is the set of conditions required for this provisioner to scale its target, and indicates whether or not those conditions are met.


    Generated with gen-crd-api-reference-docs on git commit bc99951.