in pkg/providers/launchtemplate/launchtemplate.go [121:173]
func (p *Provider) getStaticParameters(ctx context.Context, instanceType *cloudprovider.InstanceType, nodeClass *v1alpha2.AKSNodeClass, labels map[string]string) (*parameters.StaticParameters, error) {
var arch string = karpv1.ArchitectureAmd64
if err := instanceType.Requirements.Compatible(scheduling.NewRequirements(scheduling.NewRequirement(v1.LabelArchStable, v1.NodeSelectorOpIn, karpv1.ArchitectureArm64))); err == nil {
arch = karpv1.ArchitectureArm64
}
subnetID := lo.Ternary(nodeClass.Spec.VNETSubnetID != nil, lo.FromPtr(nodeClass.Spec.VNETSubnetID), options.FromContext(ctx).SubnetID)
if isAzureCNIOverlay(ctx) {
// TODO: make conditional on pod subnet
vnetLabels, err := p.getVnetInfoLabels(subnetID)
if err != nil {
return nil, err
}
labels = lo.Assign(labels, vnetLabels)
}
if options.FromContext(ctx).NetworkDataplane == consts.NetworkDataplaneCilium {
// This label is required for the cilium agent daemonset because
// we select the nodes for the daemonset based on this label
// - key: kubernetes.azure.com/ebpf-dataplane
// operator: In
// values:
// - cilium
labels[dataplaneLabel] = consts.NetworkDataplaneCilium
}
return ¶meters.StaticParameters{
ClusterName: options.FromContext(ctx).ClusterName,
ClusterEndpoint: p.clusterEndpoint,
Tags: nodeClass.Spec.Tags,
Labels: labels,
CABundle: p.caBundle,
Arch: arch,
GPUNode: utils.IsNvidiaEnabledSKU(instanceType.Name),
GPUDriverVersion: utils.GetGPUDriverVersion(instanceType.Name),
GPUDriverType: utils.GetGPUDriverType(instanceType.Name),
GPUImageSHA: utils.GetAKSGPUImageSHA(instanceType.Name),
TenantID: p.tenantID,
SubscriptionID: p.subscriptionID,
KubeletIdentityClientID: p.kubeletIdentityClientID,
ResourceGroup: p.resourceGroup,
Location: p.location,
ClusterID: options.FromContext(ctx).ClusterID,
APIServerName: options.FromContext(ctx).GetAPIServerName(),
KubeletClientTLSBootstrapToken: options.FromContext(ctx).KubeletClientTLSBootstrapToken,
NetworkPlugin: getAgentbakerNetworkPlugin(ctx),
NetworkPolicy: options.FromContext(ctx).NetworkPolicy,
SubnetID: subnetID,
ClusterResourceGroup: p.clusterResourceGroup,
}, nil
}