Skip to main content

Kubernetes CLI

Deploy Virtual Servers via the Kubernetes CLI

Virtual Servers are deployed to CoreWeave Cloud as Custom Resource Definitions (CRDs), so the kubectl command line tool may be used to deploy Virtual Servers onto CoreWeave Cloud. CRDs may also be edited from the Cloud UI using the YAML editor on the Virtual Servers deployment page.

Prerequisites

Before you can access CoreWeave Cloud, you must first request an account.

To use the Kubernetes CLI as your deployment method, you will first need to obtain valid access credentials in the form of a kubeconfig file. See Obtain Access Credentials for more information.

Configuration examples

CoreWeave provides example YAML manifests on GitHub.

Configuration quick reference

The table below is intended as a quick-reference guide for all available configuration options using the Kubernetes CLI deployment method. Learn more about each configuration option in their respective pages under Virtual Server Configuration Options.

FieldTypeDescription
regionStringDefines the region where the Virtual Server is deployed
osDefines the Operating System type
os.typeStringThe Operating System type - Linux/Windows
affinityAffinityDefines affinity for Virtual Server
os.enableUEFIBootBooleanEnable the UEFI bootloader
resourcesDefines the resources and devices allocated to the Virtual Server
resources.definitionStringThe resource definition - defaults to 'a'
resources.cpuDefines the CPU allocation
resources.cpu.typeStringThe type of CPU to allocate
resources.cpu.countIntThe number of CPU cores to allocate
resources.gpuDefines the GPU allocation
resources.gpu.typeStringThe type of GPU to allocate
resources.gpu.countIntThe number of GPU(s) to allocate
resources.memoryStringThe amount of memory to allocate
storageDefines the root storage and additional storage devices
storage.rootDefines the root file system PVC
storage.root.sizeStringThe volume size
storage.root.sourceDataVolumeSourceThe DataVolume source for the root file system
storage.root.storageClassNameStringThe storage class name for the root PVC
storage.root.volumeModeStringThe volume mode for the root PVC
storage.root.accessModeStringThe access mode name for the root PVC
storage.root.ephemeralBooleanSets whether the root disk is ephemeral
storage.additionalDisks[]A list of PVC references to be added as disk devices
storage.additionalDisks[ ].nameStringName of the disk
storage.additionalDisks[ ].specVolumeSourceThe VolumeSource for the disk
storage.additionalDisks[].readOnlyBooleanWhether or not the additional disk is readOnly; default is false; see: Read-only additional disks
storage.additionalDisks[].serialStringThe root disk serial number, when not specified Virtual Server generates serial and preserves between restarts.
storage.filesystems[]A list of PVC references to be mounted
storage.filesystems[ ].nameStringName of the mount
storage.filesystems[ ].mountPointStringDesired mount point, defaults to /mnt if not specified
storage.filesystems[ ].specVolumeSourceThe VolumeSource for the file system mount
storage.swapStringAdds swap volume to system in specific size.
users[]A list of users to be added by cloud-init (if supported by the OS)
users[ ].usernameStringUsername for the user
users[ ].passwordStringPassword for the user
users[ ].sshpublickeyStringAn SSH public key for the user
networkDefines the network configuration
network.directAttachLoadBalancerIPBooleanDirectly attach a loadbalancer IP to the Virtual Server
network.floatingIPs[]A list of service references to be added as floating IPs
network.floatingIPs[ ].serviceNameStringName of the service
network.tcpDefines the TCP network configuration
network.tcp.ports[]List of TCP ports to expose
network.udpDefines the UDP network configuration
network.udp.ports[]List of UDP ports to expose
network.publicBooleanDetermines whether a public IP will be assigned
network.macAddressStringSets the MAC address for the Virtual Server - if not provided, the Virtual Server generates a unicast/local type MAC address
network.dnsConfigPodDNSConfigDefines the DNS parameters of the VS. Defult value is DNSClusterFirst.
network.dnsPolicyDNSPolicySets the DNS policy for VS. The default value is ClustrFirst
firmwareFirmwareFirmware identification fields
firmware.UUIDStringUUID reported by the VMI bios; defaults to a randomly generated UUID
firmware.SerialStringThe system-serial-number in SMBIOS.
cloudInit [¹]StringDefine any cloud-init parameters
runStrategyVirtualMachineRunStrategyDefines the RunStrategy parameter. Default value is RerunOnFailure.
useVirtioTransitionalBooleanEnables virtio-transitional to support compatibility with old guest operating systems. Default value is false.
terminationGracePeriodSecondsNumberSpecifies the number in seconds before the guest is killed. Allows shutting down operating system gracefully. Defaults to 300 for Windows, 60 for Linux.
initializeRunningBooleanDefines whether or not the Virtual Server will be started as soon as it is created and initialized