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
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
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 |