@@ -560,9 +560,13 @@ func (s *ClusterScope) VNetSpec() azure.ASOResourceSpecGetter[*asonetworkv1api20
560560// PrivateDNSSpec returns the private dns zone spec.
561561func (s * ClusterScope ) PrivateDNSSpec () (zoneSpec azure.ResourceSpecGetter , linkSpec , recordSpec []azure.ResourceSpecGetter ) {
562562 if s .IsAPIServerPrivate () {
563+ resourceGroup := s .ResourceGroup ()
564+ if s .AzureCluster .Spec .NetworkSpec .PrivateDNSZoneResourceGroup != "" {
565+ resourceGroup = s .AzureCluster .Spec .NetworkSpec .PrivateDNSZoneResourceGroup
566+ }
563567 zone := privatedns.ZoneSpec {
564568 Name : s .GetPrivateDNSZoneName (),
565- ResourceGroup : s . ResourceGroup () ,
569+ ResourceGroup : resourceGroup ,
566570 ClusterName : s .ClusterName (),
567571 AdditionalTags : s .AdditionalTags (),
568572 }
@@ -574,7 +578,7 @@ func (s *ClusterScope) PrivateDNSSpec() (zoneSpec azure.ResourceSpecGetter, link
574578 SubscriptionID : s .SubscriptionID (),
575579 VNetResourceGroup : s .Vnet ().ResourceGroup ,
576580 VNetName : s .Vnet ().Name ,
577- ResourceGroup : s . ResourceGroup () ,
581+ ResourceGroup : resourceGroup ,
578582 ClusterName : s .ClusterName (),
579583 AdditionalTags : s .AdditionalTags (),
580584 }
@@ -585,7 +589,7 @@ func (s *ClusterScope) PrivateDNSSpec() (zoneSpec azure.ResourceSpecGetter, link
585589 SubscriptionID : s .SubscriptionID (),
586590 VNetResourceGroup : peering .ResourceGroup ,
587591 VNetName : peering .RemoteVnetName ,
588- ResourceGroup : s . ResourceGroup () ,
592+ ResourceGroup : resourceGroup ,
589593 ClusterName : s .ClusterName (),
590594 AdditionalTags : s .AdditionalTags (),
591595 }
@@ -598,7 +602,7 @@ func (s *ClusterScope) PrivateDNSSpec() (zoneSpec azure.ResourceSpecGetter, link
598602 IP : s .APIServerPrivateIP (),
599603 },
600604 ZoneName : s .GetPrivateDNSZoneName (),
601- ResourceGroup : s . ResourceGroup () ,
605+ ResourceGroup : resourceGroup ,
602606 }
603607
604608 return zone , links , records
0 commit comments