Comment on page
Networking
Learn more about network options for Virtual Servers.
Networking for Virtual Servers can be as simplistic or as fine-grained as your use case dictates. If you'd like to attach a Public IP or LoadBalancer IP to your Virtual Server, this is the section to do it.
Additional Resources
Cloud UI
CLI
Terraform

More advanced networking options for Virtual Servers are configured by interacting directly with the YAML editor, but Public IP and LoadBalancer IP configuration options are also exposed via graphical toggles in this expandable. These toggles are switched on and off according to whether or not you want the Virtual Server to have either kind of IP address provisioned to it.
Attaching a Public IP to the Virtual Server will allow it to be accessible through the Internet via an assigned IPv4 address by a created Kubernetes service. When
network.directAttachLoadBalancerIP
is turned on (true
) a new Service will be created, and its LoadBalancer IP will be directly attached to the Virtual Server.The graphical toggles affect the
network.directAttachLoadBalancerIP
and .network.public
options in the CRD manifest respectively, toggling their values between true
and false
.
When both options are set to true
, public networking is provided via an automatically-provisioned public IP address. When both are false
, public networking is disabled, and no public IP will be provisioned.
Example in plain text:
network:
public: true
directAttachLoadBalancerIP: true
Note
When both
network.directAttachLoadBalancerIP
and network.public
are set to false
, the Virtual Server Operator (VSO) creates a "Headless Service," in order to resolve internal DNS using cluster DNS.When
network.directAttachLoadBalancerIP
is set to true
, custom UDP and TCP ports may not be set.All other networking options for Virtual Servers provisioned through the CoreWeave Cloud UI must be configured through the YAML manifest.
By default, a persistent MAC address, derived from the Virtual Server's name, is assigned to the Virtual Server. To override this, you may include MAC address configurations in the
.network.macAddress
field.Custom MAC addresses for Virtual Servers are configured with dashes separating each octet:
macAddress: A2-1F-EE-09-06-5D
DNS policies for Virtual Servers refer to the Kubernetes Pod DNS policies. By default, Virtual Servers have a DNS policy of
ClusterFirst
.The TCP and UDP ports to expose on the Virtual Server are configured using the
tcp.ports
and udp.ports
lists in the YAML manifest respectively.Note
When
network.directAttachLoadBalancerIP
is set to true
, custom UDP and TCP ports may not be set.Desired ports may be configured in their respective lists, as seen in this example:

Example in plain text:
network:
public: true
directAttachLoadBalancerIP: false
tcp:
ports:
- 22
- 443
- 3389
udp:
ports:
- 3389
- 4172
Floating IPs allow stable IP addresses to be assigned from the load balancer IP of each Service. These allow for custom DNS configurations, and predictable addressing.
Floating IPs can be specified in the YAML manifest using a YAML list:
floatingIPs: [240.141.77.141, 82.110.59.244]
Additional Resources
To configure networking options for Virtual Servers deployed using the Kubernetes CLI, configure the options under the
network
stanza of the spec
: network:
public: true
tcp:
ports:
- 22
The table below describes all available configuration options for user accounts on Virtual Servers:
Field name | Field type | Description |
---|---|---|
network.floatingIPs | [] | |
network.floatingIPs[ ].serviceName | String | Name of the service |
network.tcp | {} | Defines the TCP network configuration |
network.tcp.ports | [] | List of TCP ports to expose |
network.udp | {} | Defines the UDP network configuration |
network.udp.ports | [] | List of UDP ports to expose |
network.public | Boolean | Whether a public IP will be assigned |
network.macAddress | String | Set MAC address for VS. If not provided, Virtual Server generates a unicast/local type MAC address |
network.dnsConfig | ||
network.dnsPolicy |