Skip to main content

Create a VPC

A VPC defines a network isolation configuration for attaching CoreWeave products such as CKS clusters. VPCs are created by making a VPC Custom Resource (CR) in the organization's namespace with the kubectl CLI.

To create a VPC, create a manifest similar to example-vpc.yaml below.

example-vpc.yaml
apiVersion: nimbus.infra.coreweave.com/v1alpha1
kind: VPC
metadata:
name: my-vpc-us-east-02 # Name provided by the customer, with region appended.
namespace: <Org ID>
Replace with your Org ID, found in Console settings.
spec:
network:
hostPrefixes:
- 10.184.192.0/18 # Region default prefix (populated if missing)
placement:
region: US-EAST-02 # Target region (required)

The highlighted network.hostPrefixes block is optional. Multiple custom prefixes can be added to the default VPC to facilitate communication with other VPCs in the same DC, or to remote Cloud providers or on-premises networks through a VPN or Direct Connect.

VPC hostPrefixes cannot be modified or removed after they are added to a VPC. hostPrefixes are assigned when the Node boots and cannot be modified while running. VPCs also cannot be deleted while connected to CKS clusters or other CoreWeave products.

Important

SUNK users take note: If network.hostPrefixes is supplied, it should have a minimum prefix length of /18. Prefixes smaller than /18 do not have physical location based IP addresses which are used for calculating adjacency.

After the manifest is configured, use kubectl to create the VPC.

Example
$
kubectl apply -f example-vpc.yaml -n <Org ID>
Replace with your Org ID, found in Console settings.

More information

See the VPC Custom Resource reference guide for more details about the VPC manifest.