Documentation ¶
Index ¶
- func New(scope AgentPoolScope) *aso.Service[*asocontainerservicev1.ManagedClustersAgentPool, AgentPoolScope]
- type AgentPoolScope
- type AgentPoolSpec
- func (s *AgentPoolSpec) Parameters(ctx context.Context, existing *asocontainerservicev1.ManagedClustersAgentPool) (params *asocontainerservicev1.ManagedClustersAgentPool, err error)
- func (s *AgentPoolSpec) ResourceRef() *asocontainerservicev1.ManagedClustersAgentPool
- func (s *AgentPoolSpec) WasManaged(resource *asocontainerservicev1.ManagedClustersAgentPool) bool
- type KubeletConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶ added in v0.5.2
func New(scope AgentPoolScope) *aso.Service[*asocontainerservicev1.ManagedClustersAgentPool, AgentPoolScope]
New creates a new service.
Types ¶
type AgentPoolScope ¶ added in v1.5.0
type AgentPoolScope interface { azure.ClusterDescriber aso.Scope Name() string NodeResourceGroup() string AgentPoolSpec() azure.ASOResourceSpecGetter[*asocontainerservicev1.ManagedClustersAgentPool] SetAgentPoolProviderIDList([]string) SetAgentPoolReplicas(int32) SetAgentPoolReady(bool) SetCAPIMachinePoolReplicas(replicas *int) SetCAPIMachinePoolAnnotation(key, value string) RemoveCAPIMachinePoolAnnotation(key string) SetSubnetName() }
AgentPoolScope defines the scope interface for an agent pool.
type AgentPoolSpec ¶ added in v1.5.0
type AgentPoolSpec struct { // Name is the name of the ASO ManagedClustersAgentPool resource. Name string // Namespace is the namespace of the ASO ManagedClustersAgentPool resource. Namespace string // AzureName is the name of the agentpool resource in Azure. AzureName string // ResourceGroup is the name of the Azure resource group for the AKS Cluster. ResourceGroup string // Cluster is the name of the AKS cluster. Cluster string // Version defines the desired Kubernetes version. Version *string // SKU defines the Azure VM size for the agent pool VMs. SKU string // Replicas is the number of desired machines. Replicas int // OSDiskSizeGB is the OS disk size in GB for every machine in this agent pool. OSDiskSizeGB int // VnetSubnetID is the Azure Resource ID for the subnet which should contain nodes. VnetSubnetID string // Mode represents mode of an agent pool. Possible values include: 'System', 'User'. Mode string // Maximum number of nodes for auto-scaling MaxCount *int `json:"maxCount,omitempty"` // Minimum number of nodes for auto-scaling MinCount *int `json:"minCount,omitempty"` // Node labels - labels for all of the nodes present in node pool NodeLabels map[string]string `json:"nodeLabels,omitempty"` // NodeTaints specifies the taints for nodes present in this agent pool. NodeTaints []string `json:"nodeTaints,omitempty"` // EnableAutoScaling - Whether to enable auto-scaler EnableAutoScaling bool `json:"enableAutoScaling,omitempty"` // AvailabilityZones represents the Availability zones for nodes in the AgentPool. AvailabilityZones []string // MaxPods specifies the kubelet --max-pods configuration for the agent pool. MaxPods *int `json:"maxPods,omitempty"` // OsDiskType specifies the OS disk type for each node in the pool. Allowed values are 'Ephemeral' and 'Managed'. OsDiskType *string `json:"osDiskType,omitempty"` // EnableUltraSSD enables the storage type UltraSSD_LRS for the agent pool. EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` // OSType specifies the operating system for the node pool. Allowed values are 'Linux' and 'Windows' OSType *string `json:"osType,omitempty"` // EnableNodePublicIP controls whether or not nodes in the agent pool each have a public IP address. EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` // NodePublicIPPrefixID specifies the public IP prefix resource ID which VM nodes should use IPs from. NodePublicIPPrefixID string `json:"nodePublicIPPrefixID,omitempty"` // ScaleSetPriority specifies the ScaleSetPriority for the node pool. Allowed values are 'Spot' and 'Regular' ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` // ScaleDownMode affects the cluster autoscaler behavior. Allowed values are 'Deallocate' and 'Delete' ScaleDownMode *string `json:"scaleDownMode,omitempty"` // SpotMaxPrice defines max price to pay for spot instance. Allowed values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. SpotMaxPrice *resource.Quantity `json:"spotMaxPrice,omitempty"` // KubeletConfig specifies the kubelet configurations for nodes. KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` // KubeletDiskType specifies the kubelet disk type for each node in the pool. Allowed values are 'OS' and 'Temporary' KubeletDiskType *infrav1.KubeletDiskType `json:"kubeletDiskType,omitempty"` // AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default. AdditionalTags infrav1.Tags // LinuxOSConfig specifies the custom Linux OS settings and configurations LinuxOSConfig *infrav1.LinuxOSConfig // EnableFIPS indicates whether FIPS is enabled on the node pool EnableFIPS *bool // EnableEncryptionAtHost indicates whether host encryption is enabled on the node pool EnableEncryptionAtHost *bool }
AgentPoolSpec contains agent pool specification details.
func (*AgentPoolSpec) Parameters ¶ added in v1.5.0
func (s *AgentPoolSpec) Parameters(ctx context.Context, existing *asocontainerservicev1.ManagedClustersAgentPool) (params *asocontainerservicev1.ManagedClustersAgentPool, err error)
Parameters returns the parameters for the agent pool.
func (*AgentPoolSpec) ResourceRef ¶ added in v1.12.0
func (s *AgentPoolSpec) ResourceRef() *asocontainerservicev1.ManagedClustersAgentPool
ResourceRef implements azure.ASOResourceSpecGetter.
func (*AgentPoolSpec) WasManaged ¶ added in v1.12.0
func (s *AgentPoolSpec) WasManaged(resource *asocontainerservicev1.ManagedClustersAgentPool) bool
WasManaged implements azure.ASOResourceSpecGetter.
type KubeletConfig ¶ added in v1.7.0
type KubeletConfig struct { // CPUManagerPolicy - CPU Manager policy to use. CPUManagerPolicy *string // CPUCfsQuota - Enable CPU CFS quota enforcement for containers that specify CPU limits. CPUCfsQuota *bool // CPUCfsQuotaPeriod - Sets CPU CFS quota period value. CPUCfsQuotaPeriod *string // ImageGcHighThreshold - The percent of disk usage after which image garbage collection is always run. ImageGcHighThreshold *int // ImageGcLowThreshold - The percent of disk usage before which image garbage collection is never run. ImageGcLowThreshold *int // TopologyManagerPolicy - Topology Manager policy to use. TopologyManagerPolicy *string // AllowedUnsafeSysctls - Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`). AllowedUnsafeSysctls []string // FailSwapOn - If set to true it will make the Kubelet fail to start if swap is enabled on the node. FailSwapOn *bool // ContainerLogMaxSizeMB - The maximum size (e.g. 10Mi) of container log file before it is rotated. ContainerLogMaxSizeMB *int // ContainerLogMaxFiles - The maximum number of container log files that can be present for a container. The number must be ≥ 2. ContainerLogMaxFiles *int // PodMaxPids - The maximum number of processes per pod. PodMaxPids *int }
KubeletConfig defines the set of kubelet configurations for nodes in pools.
Click to show internal directories.
Click to hide internal directories.