You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Create a ClusterIP Service for VMs without public IP to enable FQDN-based access within a tenant #1731
Currently, when creating a VM with external: true, the platform automatically creates a LoadBalancer Service and assigns a public IP. This behavior works well and allows accessing the VM via its FQDN (for example vm-instance-example).
However, when a VM does not have a public IP, no Service is created. As a consequence, accessing this VM from another VM within the same tenant requires using its internal IP address, which introduces several drawbacks:
Internal IPs are not user-friendly
They may change over time
They break name-based communication consistency inside the tenant
Problem
From a VM inside a tenant:
VMs with a public IP can be accessed via their FQDN
VMs without a public IP can only be accessed via their internal IP
This creates an inconsistency in how VMs are addressed within the same tenant.
Expected Behavior
For VMs without a public IP, the behavior should be similar to VMs with external: true, but using an internal-only Service.
Specifically, a headless ClusterIP Service should be created automatically at VM creation time, allowing:
DNS-based access using the VM FQDN
Stable, name-based communication between VMs within the same tenant
No external exposure
Proposed Solution
When a VM is created without a public IP, automatically create the following Service:
Activity
[vm] Always expose VMs with a service
[vm] Always expose VMs with a service
[vm] Always expose VMs with a service (#1738)
[vm] Always expose VMs with a service
[vm] Always expose VMs with a service
[vm] Always expose VMs with a service (#1738)
[vm] Always expose VMs with a service (#1738)
[vm] Always expose VMs with a service
[vm] Always expose VMs with a service (#1738)