diff --git a/aks-node-controller/parser/parser.go b/aks-node-controller/parser/parser.go index f90a11f562e..35757f1336a 100644 --- a/aks-node-controller/parser/parser.go +++ b/aks-node-controller/parser/parser.go @@ -85,6 +85,7 @@ func getCSEEnv(config *aksnodeconfigv1.Configuration) map[string]string { "CONFIG_GPU_DRIVER_IF_NEEDED": fmt.Sprintf("%v", config.GetGpuConfig().GetConfigGpuDriver()), "ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED": fmt.Sprintf("%v", config.GetGpuConfig().GetGpuDevicePlugin()), "MANAGED_GPU_EXPERIENCE_AFEC_ENABLED": fmt.Sprintf("%v", config.GetGpuConfig().GetManagedGpuExperienceAfecEnabled()), + "ENABLE_MANAGED_GPU": fmt.Sprintf("%v", config.GetGpuConfig().GetEnableManagedGpu()), "TELEPORTD_PLUGIN_DOWNLOAD_URL": config.GetTeleportConfig().GetTeleportdPluginDownloadUrl(), "CREDENTIAL_PROVIDER_DOWNLOAD_URL": config.GetKubeBinaryConfig().GetLinuxCredentialProviderUrl(), "CONTAINERD_VERSION": config.GetContainerdConfig().GetContainerdVersion(), diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go index e6141994fcd..8b294a39017 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go @@ -38,6 +38,8 @@ type GpuConfig struct { EnableAmdGpu *bool `protobuf:"varint,5,opt,name=enable_amd_gpu,json=enableAmdGpu,proto3,oneof" json:"enable_amd_gpu,omitempty"` // Specifies whether the managed GPU experience AFEC (Azure Feature Engineering Configuration) is enabled. ManagedGpuExperienceAfecEnabled bool `protobuf:"varint,6,opt,name=managed_gpu_experience_afec_enabled,json=managedGpuExperienceAfecEnabled,proto3" json:"managed_gpu_experience_afec_enabled,omitempty"` + // Specifies whether managed GPU is enabled. + EnableManagedGpu bool `protobuf:"varint,7,opt,name=enable_managed_gpu,json=enableManagedGpu,proto3" json:"enable_managed_gpu,omitempty"` } func (x *GpuConfig) Reset() { @@ -112,13 +114,20 @@ func (x *GpuConfig) GetManagedGpuExperienceAfecEnabled() bool { return false } +func (x *GpuConfig) GetEnableManagedGpu() bool { + if x != nil { + return x.EnableManagedGpu + } + return false +} + var File_aksnodeconfig_v1_gpu_config_proto protoreflect.FileDescriptor var file_aksnodeconfig_v1_gpu_config_proto_rawDesc = []byte{ 0x0a, 0x21, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x76, 0x31, 0x22, 0xdd, 0x02, 0x0a, 0x09, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x6e, + 0x69, 0x67, 0x2e, 0x76, 0x31, 0x22, 0x8b, 0x03, 0x0a, 0x09, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, @@ -138,15 +147,18 @@ var file_aksnodeconfig_v1_gpu_config_proto_rawDesc = []byte{ 0x63, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x70, 0x75, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x41, 0x66, 0x65, 0x63, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x76, 0x69, 0x64, - 0x69, 0x61, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, - 0x64, 0x5f, 0x67, 0x70, 0x75, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, - 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, - 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x5f, 0x67, 0x70, 0x75, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x70, 0x75, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x76, 0x69, 0x64, 0x69, 0x61, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x64, 0x5f, + 0x67, 0x70, 0x75, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, + 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, + 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto index d1b15907c93..9cfb5a3fbc9 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto @@ -22,4 +22,7 @@ message GpuConfig { // Specifies whether the managed GPU experience AFEC (Azure Feature Engineering Configuration) is enabled. bool managed_gpu_experience_afec_enabled = 6; + + // Specifies whether managed GPU is enabled. + bool enable_managed_gpu = 7; } diff --git a/pkg/agent/baker.go b/pkg/agent/baker.go index 7deda73b6e7..8068195534e 100644 --- a/pkg/agent/baker.go +++ b/pkg/agent/baker.go @@ -1135,6 +1135,9 @@ func getContainerServiceFuncMap(config *datamodel.NodeBootstrappingConfiguration "IsManagedGPUExperienceAFECEnabled": func() bool { return config.ManagedGPUExperienceAFECEnabled }, + "IsEnableManagedGPU": func() bool { + return config.EnableManagedGPU + }, "EnableIMDSRestriction": func() bool { return config.EnableIMDSRestriction }, diff --git a/pkg/agent/datamodel/types.go b/pkg/agent/datamodel/types.go index 84386fadda2..f880ee44829 100644 --- a/pkg/agent/datamodel/types.go +++ b/pkg/agent/datamodel/types.go @@ -1726,6 +1726,7 @@ type NodeBootstrappingConfiguration struct { EnableNvidia bool EnableAMDGPU bool ManagedGPUExperienceAFECEnabled bool + EnableManagedGPU bool EnableACRTeleportPlugin bool TeleportdPluginURL string EnableArtifactStreaming bool