Skip to content

WekaClient

WekaClient

kubectl explain wekaclient

WekaClient is the Schema for the clients API

Field Description Default Validation
apiVersion string weka.weka.io/v1alpha1
kind string WekaClient
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec WekaClientSpec
status WekaClientStatus

WekaClientSpec

kubectl explain wekaclient.spec

WekaClientSpec defines the desired state of WekaClient

Appears in: - WekaClient

Field Description Default Validation
image string full container image in format of quay.io/weka.io/weka-in-container:VERSION Pattern: ^.+:\d+\.\d+\.\d+.*$
imagePullSecret string
port integer if not set (0), weka will find a free port from the portRange
agentPort integer if not set (0), weka will find a free port from the portRange
portRange PortRange used for dynamic port allocation
nodeSelector object (keys:string, values:string)
wekaSecretRef string
network Network
driversDistService string
joinIpPorts string array
targetCluster ObjectReference
cpuPolicy CpuPolicy auto Enum: [auto shared dedicated dedicated_ht manual]
cpuRequest string
coresNum integer
extraCores integer extraCores reserves additional CPUs for the pod on top of the weka FE cores. Minimum: 0
coreIds integer array
nonDatapathCoreIds integer array
tracesConfiguration TracesConfiguration
tolerations string array
rawTolerations Toleration array
serviceAccountName string
additionalMemory integer memory to add/decrease from "auto-calculated" memory
resources PodResourcesSpec experimental: pod resources to be proxied as-is to the pod spec
hugepages integer hugepages, value in megabytes
hugepagesOffset integer value in megabytes to offset
wekaHomeConfig WekahomeClientConfig DEPRECATED, kept for compatibility with old API clients, not taking any action, to be removed on new API version
wekaHome WekahomeClientConfig
upgradePolicy UpgradePolicy
allowHotUpgrade boolean
overrides WekaClientSpecOverrides
autoRemoveTimeout Duration sets weka cluster-side timeout, if client is not coming back in specified duration it will be auto removed from cluster config 24h Pattern: ^(0\|([0-9]+(\.[0-9]+)?(ns\|us\|µs\|ms\|s\|m\|h))+)$
Type: string
globalPVC PVCConfig
csiConfig ClientCsiConfig EXPERIMENTAL, ALPHA STATE, should not be used in production: if set, allows to reuse the same csi resources for multiple clients Type: object
numa WekaNuma Numa configures NUMA confinement for this client container

ClientCsiConfig

kubectl explain wekaclient.spec.csiConfig

Appears in: - WekaClientSpec

Field Description Default Validation
csiGroup string
disableControllerCreation boolean
advanced AdvancedCsiConfig
AdvancedCsiConfig
kubectl explain wekaclient.spec.csiConfig.advanced

Appears in: - ClientCsiConfig - CsiConfig

Field Description Default Validation
enforceTrustedHttps boolean
nodeLabels object (keys:string, values:string)
nodeTolerations Toleration array
controllerLabels object (keys:string, values:string)
controllerTolerations Toleration array
skipGarbageCollection boolean

CpuPolicy

Underlying type: string

Appears in: - WekaClientSpec - WekaClusterSpec - WekaContainerSpec

Field Description
auto
shared
dedicated
dedicated_ht
manual

Network

kubectl explain wekaclient.spec.network

Appears in: - RoleNetworkSelector - WekaClientSpec - WekaClusterSpec - WekaContainerSpec

Field Description Default Validation
ethDevice string The name of a single network interface (for example, eth1) to be used by every backend container.
This is for clusters that use only one dedicated NIC for the data path.
You cannot use this field with ethDevices.
If you leave this empty, the system automatically uses the node’s interface associated with the first subnet defined in deviceSubnets.
ethDevices string array A list of network interface names to be used by backend containers when you have multiple dedicated NICs.
The order of interfaces in this list is important, as it maps directly to the ethSlots index (the first interface maps to slot-0, the second to slot-1, and so on).
You cannot use this field with ethDevice. Ensure that every interface listed here exists on all nodes that are part of the cluster.
gateway string The default gateway IPv4 address for the backend containers’ data-path network.
This is only necessary if backend subnets need to communicate with destinations outside of their local network (L2 segment).
If you have a flat, non-routed backend network, you can leave this field empty.
udpMode boolean A setting that enables or disables UDP encapsulation for backend traffic.
- false (default): Uses standard raw Ethernet frames. true: Wraps data-path traffic in UDP packets.
This is required if your network infrastructure or CNI (Container Network Interface) blocks traffic that isn’t IP-based.
deviceSubnets string array A list of backend subnets in CIDR notation (for example, 192.168.10.0/24).
The operator assigns IP addresses from these subnets to the backend containers for their data path network
items:Pattern: ^([0-9]\{1,3\}\.)\{3\}[0-9]\{1,3\}\/[0-9]\{1,2\}$
selectors NetworkSelector array Selectors define how backend data-path network interfaces are chosen on each node.
managementIpsSelectors NetworkSelector array Selectors for management IPs used for cluster API and agent communication.
bindManagementAll boolean BindManagementAll controls whether Weka containers bind to all network interfaces or only to specific management interfaces.
When set to false (default), containers will only listen on the management ips interfaces (restrict_listen mode).
When set to true, containers will listen on all ips (0.0.0.0) instead of specific IP addresses.
nvidiaVfSingleIp boolean NvidiaVfSingleIp indicates whether NVIDIA virtual functions (VFs) should be configured to use a single-ip weka mode, where multiple weka processes can share same VF
When not set defaults to false, in future releases, when auto-discovery of capabilities will be implemented not set might translate to true on supported setups
allocateVfPerIoNode boolean
NetworkSelector
kubectl explain wekaclient.spec.network.selectors

Appears in: - Network

Field Description Default Validation
subnet string CIDR subnet (e.g. 192.168.10.0/24) to filter interfaces. Only interfaces with an IP in this subnet are eligible.
min integer Minimum number of interfaces required from nodes matching this selector.
max integer Maximum number of interfaces to select per node matching this selector.
deviceNames string array
rdmaOnly boolean
disableRdma boolean

ObjectReference

kubectl explain wekaclient.spec.targetCluster

Appears in: - RemoteTracesSessionConfig - WekaClientSpec

Field Description Default Validation
name string
namespace string

PVCConfig

kubectl explain wekaclient.spec.globalPVC

Appears in: - WekaClientSpec - WekaClusterSpec - WekaContainerSpec

Field Description Default Validation
name string Name of the PersistentVolumeClaim to mount into all Weka containers.
path string Mount path inside the Weka container. Defaults to /opt/k8s-weka when empty.

PodResourcesSpec

kubectl explain wekaclient.spec.resources

Appears in: - DriverDistPayload - WekaClientSpec - WekaContainerSpec

Field Description Default Validation
requests PodResources
limits PodResources
PodResources
kubectl explain wekaclient.spec.resources.requests

Appears in: - PodResourcesSpec

Field Description Default Validation
cpu Quantity
memory Quantity
hugepages-2Mi Quantity Hugepages2Mi is requested verbatim as the pod's hugepages-2Mi resource. 1Gi pages are
not settable through this field.

PortRange

kubectl explain wekaclient.spec.portRange

Appears in: - WekaClientSpec - WekaContainerSpec

Field Description Default Validation
basePort integer 45000 Maximum: 65535
portRange integer number of ports to check for availability
if 0 - will check all ports from basePort to 65535
0

TracesConfiguration

kubectl explain wekaclient.spec.tracesConfiguration

TraceConfiguration defines the configuration for the traces, accepts parameters in gigabytes

Appears in: - WekaClientSpec - WekaClusterSpec - WekaContainerSpec

Field Description Default Validation
maxCapacityPerIoNode integer 10
ensureFreeSpace integer 20
dumperConfigMode DumperConfigMode auto Enum: [override partial-override auto cluster]
DumperConfigMode

Underlying type: string

Appears in: - TracesConfiguration

Field Description
auto
override
partial-override
cluster

UpgradePolicy

kubectl explain wekaclient.spec.upgradePolicy

Appears in: - WekaClientSpec

Field Description Default Validation
type UpgradePolicyType all-at-once Enum: [manual all-at-once rolling all-at-once-force]
UpgradePolicyType

Underlying type: string

Appears in: - UpgradePolicy - WekaContainerSpec

Field Description
manual
rolling
all-at-once
all-at-once-force

WekaClientSpecOverrides

kubectl explain wekaclient.spec.overrides

Appears in: - WekaClientSpec

Field Description Default Validation
driversBuildId string can be used to specify a build_id for a driver in the distributor service, keep empty for auto detection default
driversLoaderImage string
machineIdentifierNodeRef string used to override machine identifier node reference for client containers
forceDrain boolean unsafe operation, forces drain on the node where the container is running, should not be used unless instructed explicitly by weka personnel, the effect of drain is throwing away all IOs and acknowledging all umounts in unsafe manner
skipActiveMountsCheck boolean option to skip active mounts check before deleting client containers
umountOnHost boolean unsafe operation, runs nsenter in root namespace to umount all wekafs mounts visible on host
dropAffinityConstraints boolean unsafe parameter, disables anti-affinities on client pods, allowing to schedule more than one client pod per node.
Running multiple clients for multiple clusters on the same node is not fully supported yet, and this flag should not be used in production.
wekaContainerName string override name used in weka local setup for the container
this can be used for integration with external client on the host
dpdkBaseMemoryMb integer
waitSinceIoProcessesUpTimeout Duration how long to wait, once IO processes are reported up, before considering the container's applied
image settled. nil/0 (default): don't wait.
Pattern: ^(0\|([0-9]+(\.[0-9]+)?(ns\|us\|µs\|ms\|s\|m\|h))+)$
Type: string
Optional: {}

WekaNuma

kubectl explain wekaclient.spec.numa

WekaNuma configures NUMA confinement for a single weka container

Appears in: - RoleNumaSelector - WekaClientSpec - WekaClusterSpec - WekaContainerSpec

Field Description Default Validation
single boolean Single, when true, confines the container to a single NUMA region Optional: {}
region integer Region is the NUMA region index to pin this container to Minimum: 0
Optional: {}
method WekaNumaMethod Method selects the enforcement mechanism Enum: [device-plugin dra]
Optional: {}
WekaNumaMethod

Underlying type: string

WekaNumaMethod defines how NUMA confinement is enforced

Validation: - Enum: [device-plugin dra]

Appears in: - WekaNuma

Field Description
device-plugin
dra WekaNumaMethodDra requests the NUMA region through a DRA ResourceClaim
(driver numa.weka.io) instead of a device-plugin extended resource.

WekahomeClientConfig

kubectl explain wekaclient.spec.wekaHomeConfig

Appears in: - WekaClientSpec

Field Description Default Validation
cacertSecret string

WekaClientStatus

kubectl explain wekaclient.status

WekaClientStatus defines the observed state of WekaClient

Appears in: - WekaClient

Field Description Default Validation
conditions Condition array
lastAppliedSpec string
status WekaClientStatusEnum Init Enum: [Init Running Upgrading Destroying]
stats ClientMetrics
printer ClientPrinterColumns

ClientMetrics

Appears in: - WekaClientStatus

Field Description Default Validation
containers EntityStatefulNum
EntityStatefulNum

Appears in: - ClientMetrics - ContainerMetrics - DriveMetrics - WekaContainerMetrics

Field Description Default Validation
active IntMetric
created IntMetric
desired IntMetric
IntMetric

Underlying type: integer

Appears in: - CapacityMetrics - ClusterMetrics - EntityStatefulNum - FilesystemMetrics - StatusIops - StatusThroughput - WekaContainerMetrics

ClientPrinterColumns

Appears in: - WekaClientStatus

Field Description Default Validation
containers StringMetric
StringMetric

Underlying type: string

Appears in: - ClientPrinterColumns - ClusterMetrics - ClusterPrinterColumns - ContainerPrinterColumns

WekaClientStatusEnum

Underlying type: string

Appears in: - WekaClientStatus

Field Description
Init
Running
Upgrading
Destroying