v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2024 License: Apache-2.0, Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=karpenter.k8s.azure

Index

Constants

This section is empty.

Variables

View Source
var (
	LabelDomain = "karpenter.k8s.azure"

	// may not be able to use Regular instead of On-demand
	PrioritySpot             = string(compute.Spot)
	PriorityRegular          = string(compute.Regular)
	AzureToKubeArchitectures = map[string]string{

		"x64":   v1alpha5.ArchitectureAmd64,
		"Arm64": v1alpha5.ArchitectureArm64,
	}
	RestrictedLabelDomains = []string{
		LabelDomain,
	}

	// alternative zone label for Machine (the standard one is protected for AKS nodes)
	AlternativeLabelTopologyZone = LabelDomain + "/zone"

	ManufacturerNvidia = "nvidia"

	LabelSKUTier = LabelDomain + "/sku-tier" // Basic, Standard [, Premium?]

	// composites
	LabelSKUName   = LabelDomain + "/sku-name"   // Standard_A1_v2
	LabelSKUSize   = LabelDomain + "/sku-size"   // A1_v2
	LabelSKUSeries = LabelDomain + "/sku-series" // DCSv3 (Family+Subfamily+AdditionalFeatures+Version]

	// size parts
	LabelSKUFamily         = LabelDomain + "/sku-family"    // standardAv2Family
	LabelSKUSubfamily      = LabelDomain + "/sku-subfamily" // TODO:example
	LabelSKUCPU            = LabelDomain + "/sku-cpu"       // sku.vCPUs
	LabelSKUCPUConstrained = LabelDomain + "/sku-cpu-constrained"
	LabelSKUAccelerator    = LabelDomain + "/sku-accelerator"
	LabelSKUVersion        = LabelDomain + "/sku-version" // v1 (?), v2,v3,...

	// capabilities (from additive features in VM size name, or from SKU capabilities)
	// https://learn.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions
	LabelSKUCpuTypeAmd              = LabelDomain + "/sku-cpu-type-amd"              // a
	LabelSKUStorageBlockPerformance = LabelDomain + "/sku-storage-block-performance" // b
	LabelSKUConfidential            = LabelDomain + "/sku-confidential"              // c
	LabelSKUStorageDiskful          = LabelDomain + "/sku-storage-diskful"           // d
	LabelSKUIsolatedSize            = LabelDomain + "/sku-isolated-size"             // i
	LabelSKUMemoryLow               = LabelDomain + "/sku-memory-low"                // l
	LabelSKUMemoryIntensive         = LabelDomain + "/sku-memory-intensive"          // m
	LabelSKUMemoryTiny              = LabelDomain + "/sku-memory-tiny"               // t
	LabelSKUStoragePremiumCapable   = LabelDomain + "/sku-storage-premium-capable"   // s = sku.UltraSSDAvailable (?)

	LabelSKUMemory                = LabelDomain + "/sku-memory"                 // sku.MemoryGB
	LabelSKUHyperVGeneration      = LabelDomain + "/sku-hyperv-generation"      // sku.HyperVGenerations
	LabelSKUAcceleratedNetworking = LabelDomain + "/sku-networking-accelerated" // sku.AcceleratedNetworkingEnabled

	LabelSKUEncryptionAtHostSupported = LabelDomain + "/sku-encryptionathost-capable"     // sku.EncryptionAtHostSupported
	LabelSKUEphemeralOSDiskSupported  = LabelDomain + "/sku-storage-os-ephemeral-capable" // sku.EphemeralOSDiskSupported
	LabelSKUCachedDiskSize            = LabelDomain + "/sku-storage-cache-maxsize"        // sku.CachedDiskBytes
	LabelSKUMaxResourceVolume         = LabelDomain + "/sku-storage-temp-maxsize"         // sku.MaxResourceVolumeMB

	// GPU LABELS!
	LabelSKUGPUName         = LabelDomain + "/sku-gpu-name"         // ie GPU Accelerator type we parse from vmSize
	LabelSKUGPUManufacturer = LabelDomain + "/sku-gpu-manufacturer" // ie NVIDIA, AMD, etc
	LabelSKUGPUCount        = LabelDomain + "/sku-gpu-count"        // ie 16, 32, etc

	SkuFeatureToLabel = map[rune]string{
		'a': LabelSKUCpuTypeAmd,
		'b': LabelSKUStorageBlockPerformance,
		'c': LabelSKUConfidential,
		'd': LabelSKUStorageDiskful,
		'i': LabelSKUIsolatedSize,
		'l': LabelSKUMemoryLow,
		'm': LabelSKUMemoryIntensive,
		't': LabelSKUMemoryTiny,
		's': LabelSKUStoragePremiumCapable,
	}
)
View Source
var (
	Scheme             = runtime.NewScheme()
	Group              = "karpenter.k8s.azure"
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: "v1alpha1"}
	SchemeBuilder      = runtime.NewSchemeBuilder(func(scheme *runtime.Scheme) error {
		scheme.AddKnownTypes(SchemeGroupVersion)
		metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
		return nil
	})
)

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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