Skip to content

Add advertiseAddress to NetworkProfileSpec for split management/tenant addressing #1110

@bsctl

Description

@bsctl

New Feature

When Kamaji is used with OVN-based tenant networking, the TCP pod serves two networks:

  • the management network (for CAPI controllers)
  • the tenant OVN VPC (for workers).

Problem:

A single address cannot satisfy both: setting it to the management ClusterIP makes it unreachable from the OVN VPC, and setting it to the tenant VIP makes it unreachable from the management network.

Proposed Solution

Add an optional advertiseAddress field to NetworkProfileSpec.

When set:

  • Tenant-facing outputs use the advertise address: kubeadm-config, cluster-info, admin.conf, konnectivity --proxy-server-host, and kube-apiserver --advertise-address.
  • Management-facing outputs remain unchanged: status.controlPlaneEndpoint stays on the management address
  • Cert SANs include both addresses
  • Backward compatible: when unset, behavior is identical to upstream

This enables OVN relays to present a stable VIP on the tenant network while CAPI continues to reach the TCP via the management network.

To be used with CAPI, similar advertiseAddress field to KamajiControlPlane.Spec.Network (and KCPTemplate) and propagate it to TenantControlPlane.Spec.NetworkProfile.AdvertiseAddress during reconciliation.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions