Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CloudProvider ¶
type CloudProvider interface { // Create a node given constraints and instance type options. This API uses a // callback pattern to enable cloudproviders to batch capacity creation // requests. The callback must be called with a theoretical node object that // is fulfilled by the cloud providers capacity creation request. Create(context.Context, *NodeRequest) (*v1.Node, error) // Delete node in cloudprovider Delete(context.Context, *v1.Node) error // GetInstanceTypes returns instance types supported by the cloudprovider. // Availability of types or zone may vary by provisioner or over time. Regardless of // availability, the GetInstanceTypes method should always return all instance types, // even those with no offerings available. GetInstanceTypes(context.Context, *v1alpha5.Provisioner) ([]InstanceType, error) // Default is a hook for additional defaulting logic at webhook time. Default(context.Context, *v1alpha5.Provisioner) // Validate is a hook for additional validation logic at webhook time. Validate(context.Context, *v1alpha5.Provisioner) *apis.FieldError // Name returns the CloudProvider implementation name. Name() string }
CloudProvider interface is implemented by cloud providers to support provisioning.
type InstanceType ¶
type InstanceType interface { // Name of the instance type, must correspond to v1.LabelInstanceTypeStable Name() string // Requirements returns a flexible set of properties that may be selected // for scheduling. Must be defined for every well known label, even if empty. Requirements() scheduling.Requirements // Note that though this is an array it is expected that all the Offerings are unique from one another Offerings() []Offering // Resources are the full allocatable resource capacities for this instance type Resources() v1.ResourceList // Overhead is the amount of resource overhead expected to be used by kubelet and any other system daemons outside // of Kubernetes. Overhead() v1.ResourceList // Price is a metric that is used to optimize pod placement onto nodes. This can be an actual monetary price per hour // for the instance type, or just a weighting where lower 'prices' are preferred. Price() float64 }
InstanceType describes the properties of a potential node (either concrete attributes of an instance of this type or supported options in the case of arrays)
type NodeRequest ¶ added in v0.8.0
type NodeRequest struct { Template *scheduling.NodeTemplate InstanceTypeOptions []InstanceType }
Directories
¶
Path | Synopsis |
---|---|
apis/v1alpha1
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=karpenter.k8s.aws
|
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=karpenter.k8s.aws |
Click to show internal directories.
Click to hide internal directories.