Skip to content

[Feature] Ocean for AKS: support localDnsProfile (AKS LocalDNS) on Virtual Node Groups #692

Description

@willianantunes-jsm

[Feature] Ocean for AKS: support localDnsProfile (AKS LocalDNS) on Virtual Node Groups

Repo: spotinst/terraform-provider-spotinst (mirror the ask on the TF surface we consume Ocean through)


Summary

Please add the AKS localDnsProfile (LocalDNS) agent-pool property to Ocean-for-AKS Virtual Node Groups,
spotinst_ocean_aks_np and spotinst_ocean_aks_np_virtual_node_group (and the underlying API/SDK), so
Ocean-provisioned nodes come up with LocalDNS enabled.

Motivation

AKS LocalDNS (a per-node CoreDNS proxy with serve-stale and TCP to CoreDNS on 169.254.10.10/.11) is the
Azure-native fix for node-local DNS failures on churning spot nodes. It is a per-agent-pool property
(Microsoft.ContainerService/managedClusters/agentPools, localDnsProfile), but Ocean VNGs cannot express it.

What we verified (2026-07-06)

  • LocalDNS works on a plain AKS pool, but setting localDnsProfile out-of-band on an Ocean-managed pool
    does not survive: Ocean provisions new nodes into pools created from its own desired state, minting a new
    pool with localDnsProfile: null.
  • spotinst-sdk-go service/ocean/providers/azure_np (VirtualNodeGroup, VirtualNodeGroupTemplate,
    NodePoolProperties, LinuxOSConfig.Sysctls) has no localDnsProfile (or customData) field, so there
    is no way to express LocalDNS via Ocean today.

Request

Add local_dns_profile (or equivalent) to the Ocean AKS-NP VNG and template schema, mapped to the AKS
agent-pool API, with mode and per-zone (root and cluster.local) forward, cache, and serveStale settings.

Related

  • Filed with Spot support as case 05055736 (roadmap and preview-status question tracked there).
  • AKS-native LocalDNS Terraform support: hashicorp/terraform-provider-azurerm #32379 (PR, open) and #31342 (open).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions