WekaCluster¶
WekaCluster¶
kubectl explain wekacluster
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string |
weka.weka.io/v1alpha1 |
||
kind string |
WekaCluster |
||
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata. |
||
spec WekaClusterSpec |
|||
status WekaClusterStatus |
WekaClusterSpec¶
kubectl explain wekacluster.spec
WekaClusterSpec defines the desired state of WekaCluster
Appears in: - WekaCluster
| Field | Description | Default | Validation |
|---|---|---|---|
template string |
A template/strategy of how to build a cluster, right now only "dynamic" supported, explicitly specifying config of a cluster | dynamic | |
image string |
full container image name in format of quay.io/weka.io/weka-in-container:VERSION | Pattern: ^.+:\d+\.\d+\.\d+.*$ |
|
imagePullSecret string |
image pull secret to use for pulling the image | ||
driversDistService string |
endpoint for distribution service, global https://drivers.weka.io or in-k8s-cluster "https://weka-drivers-dist.namespace.svc.cluster.local:60001" | ||
nodeSelector object (keys:string, values:string) |
node selector for the weka containers | ||
roleNodeSelector RoleNodeSelector |
node selector for the weka containers per role, overrides global nodeSelector | ||
roleAnnotations RoleAnnotations |
annotations for the weka containers per role | ||
roleNetworkSelector RoleNetworkSelector |
network selector for the weka containers per role, overrides global network | ||
roleNuma RoleNumaSelector |
NUMA configuration for the weka containers per role, overrides global numa | ||
failureDomain FailureDomain |
failure domain configuration for weka containers | ||
podConfig PodConfiguration |
advanced pod affinities configuration | ||
cpuPolicy CpuPolicy |
cpu policy to use for scheduling cores for weka, unless instructed by weka team, keep default of auto manual and shared are same, with shared being deprecated when manual is used - no exclusive cores will be allocaated on k8s/cgroup level, assuming good alignment of cores usage across different applications, like weka and slurm there is no need to specify siblings in this list, but on the side of other applications like slurm, both weka core and its siblings should be excluded from used cpu set |
auto | Enum: [auto shared dedicated dedicated_ht manual] |
tracesConfiguration TracesConfiguration |
traces capacities configuration for weka containers | ||
tolerations string array |
simplified tolerations, checked only by key existence, expanding to NoExecute|NoSchedule tolerations | ||
rawTolerations Toleration array |
tolerations in standard k8s format | ||
wekaHome WekaHomeConfig |
weka home configuration | ||
ipv6 boolean |
use ipv6 for weka cluster networking configuration | ||
additionalMemory AdditionalMemory |
additional memory to allocate for weka containers | ||
ports ClusterPorts |
port allocation for weka containers, if not set, free range will be auto selected. Currently allocated ports can be seen in wekacluster.status.ports | ||
operatorSecretRef string |
reference to the secret containing the weka system credentials used by operator, used in flow of migration | ||
expandEndpoints string array |
endpoint of existing weka cluster, containers created for this k8s-driver cluster will join existing weka cluster, used in flow of migration | ||
dynamicTemplate WekaClusterTemplate |
weka cluster topology configuration | ||
network Network |
weka cluster network configuration | ||
hotSpare integer |
A hot spare is reserved capacity designed to handle data rebuilds while maintaining the system's net capacity, even in the event of failure domains being lost See: https://docs.weka.io/weka-system-overview/ssd-capacity-management#hot-spare |
0 | |
redundancyLevel integer |
storage capacity dedicated to system protection (2/4). https://docs.weka.io/weka-system-overview/ssd-capacity-management#protection-level | ||
stripeWidth integer |
stripe width is the number of blocks within a common protection set, ranging from 3 to 16 https://docs.weka.io/weka-system-overview/ssd-capacity-management#stripe-width | ||
leadershipRaftSize integer |
size of raft for leadership, defaults to 5, 5/9 are supported | ||
bucketRaftSize integer |
size of raft for buckets, defaults to 5, 5/9 are supported | ||
startIoConditions StartIoConditions |
conditions that must be met before starting IO | ||
gracefulDestroyDuration Duration |
During this period the cluster will not be destroyed (protection from accidental deletion) Note: due to discrepancies in validation vs parsing, we use a Pattern instead of Format=duration. Seehttps://bugzilla.redhat.com/show_bug.cgi?id=2050332 https://github.com/kubernetes/apimachinery/issues/131 https://github.com/kubernetes/apiextensions-apiserver/issues/56 |
24h | Pattern: ^(0\|([0-9]+(\.[0-9]+)?(ns\|us\|µs\|ms\|s\|m\|h))+)$ Type: string |
overrides WekaClusterSpecOverrides |
Advanced override settings for cluster operations. Only use when explicitly instructed by Weka support. | ||
csiConfig CsiConfig |
Configuration for the Weka CSI Driver integration. Controls how the CSI driver discovers and connects to this cluster. | ||
globalPVC PVCConfig |
Reference to a PVC shared by all Weka containers. Use to persist container state on nodes lacking local NVMe storage. | ||
serviceAccountName string |
Name of the Kubernetes ServiceAccount for Weka container pods. Operator default is used if empty. | ||
roleCoreIds RoleCoreIds |
RoleCoreIds defines a list of CPU core IDs (as seen by the host) that should be assigned to containers of the specific role when CpuPolicy is set to "manual". If the slice for the given role is empty, core ids will not be set for that role, and the manual policy will fail validation on pod start. NOTE: The semantics are the same as for NodeSelector/Annotations structures – a single list per role which will be copied to every container of that role. Users are responsible to provide a set that makes sense for their topology. Example: roleCoreIds: compute: [0,1,2,3] drive: [4,5,6,7] will result in every compute container getting coreIds [0,1,2,3] and every drive container getting [4,5,6,7]. |
Type: object |
|
roleNonDatapathCoreIds RoleCoreIds |
RoleNonDatapathCoreIds defines CPU core IDs (as seen by the host) to pin management/aux (non-IONode) processes to, per container role. Applicable when CpuPolicy is "manual" or "shared". When set, weka pins management processes to these cores instead of deriving them automatically. |
Type: object |
|
encryption EncryptionConfig |
Encryption configuration for data at rest. Configure a HashiCorp Vault KMS for production use. | ||
nfs NfsConfig |
|||
s3 S3Config |
|||
smbw SmbwConfig |
|||
telemetry TelemetryConfig |
Telemetry configuration for exporting audit logs and other telemetry data | ||
catalog CatalogConfig |
Catalog configuration for data catalog service | ||
numa WekaNuma |
NUMA confinement configuration for all weka containers, overridden per role by roleNuma |
AdditionalMemory¶
kubectl explain wekacluster.spec.additionalMemory
Appears in: - WekaClusterSpec
CatalogConfig¶
kubectl explain wekacluster.spec.catalog
CatalogConfig defines configuration for the data catalog service
Appears in: - WekaClusterSpec
ClusterPorts¶
kubectl explain wekacluster.spec.ports
ClusterPorts defines the port allocation for the Weka cluster. We should not be updating Spec, as it's a user interface and we should not break ability to update spec file. Therefore, when BasePort is 0, and PortRange is 0, we have application level defaults that will be written in here.
Appears in: - WekaClusterSpec - WekaClusterStatus
CpuPolicy¶
Underlying type: string
Appears in: - WekaClientSpec - WekaClusterSpec - WekaContainerSpec
| Field | Description |
|---|---|
auto |
|
shared |
|
dedicated |
|
dedicated_ht |
|
manual |
CsiConfig¶
kubectl explain wekacluster.spec.csiConfig
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
endpointsSubnets string array |
CIDR subnets to filter which management IPs are advertised to the CSI driver. Leave empty to advertise all. | ||
csiGroup string |
CSI driver group name. Scopes CSI resources when multiple Weka clusters coexist in the same namespace. | ||
advanced AdvancedCsiConfig |
Advanced CSI driver settings. Should not be changed unless explicitly instructed by Weka support. |
AdvancedCsiConfig¶
kubectl explain wekacluster.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 |
EncryptionConfig¶
kubectl explain wekacluster.spec.encryption
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
vault VaultConfig |
Configures a HashiCorp Vault KMS for encryption key management. Recommended for production. | ||
internal InternalEncryptionConfig |
InternalConfig defines internal encryption settings, encryption key stored in weka configuration, for production systems use real KMS, however this mode can be useful to evaluate performance of encrypted filesystems |
InternalEncryptionConfig¶
kubectl explain wekacluster.spec.encryption.internal
Appears in: - EncryptionConfig
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean |
VaultConfig¶
kubectl explain wekacluster.spec.encryption.vault
Appears in: - EncryptionConfig
FailureDomain¶
kubectl explain wekacluster.spec.failureDomain
Appears in: - WekaClusterSpec - WekaContainerSpec
Network¶
kubectl explain wekacluster.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 wekacluster.spec.network.selectors
Appears in: - Network
NfsConfig¶
kubectl explain wekacluster.spec.nfs
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
interfaces string array |
|||
ipRanges string array |
PVCConfig¶
kubectl explain wekacluster.spec.globalPVC
Appears in: - WekaClientSpec - WekaClusterSpec - WekaContainerSpec
PodConfiguration¶
kubectl explain wekacluster.spec.podConfig
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
topologySpreadConstraints RawExtension |
controls the distribution of weka containers across the failure domains | Schemaless: {} |
|
roleTopologySpreadConstraints RoleTopologySpreadConstraints |
takes precedence over the topologySpreadConstraints |
||
affinity RawExtension |
advanced scheduling constraints | Schemaless: {} |
|
roleAffinity RoleAffinity |
affinity per container role takes precedence over the affinity field |
RoleAffinity¶
kubectl explain wekacluster.spec.podConfig.roleAffinity
Appears in: - PodConfiguration
| Field | Description | Default | Validation |
|---|---|---|---|
compute RawExtension |
Schemaless: {} |
||
drive RawExtension |
Schemaless: {} |
||
s3 RawExtension |
Schemaless: {} |
||
nfs RawExtension |
Schemaless: {} |
||
smbw RawExtension |
Schemaless: {} |
RoleTopologySpreadConstraints¶
kubectl explain wekacluster.spec.podConfig.roleTopologySpreadConstraints
Appears in: - PodConfiguration
| Field | Description | Default | Validation |
|---|---|---|---|
compute RawExtension |
Schemaless: {} |
||
drive RawExtension |
Schemaless: {} |
||
s3 RawExtension |
Schemaless: {} |
||
nfs RawExtension |
Schemaless: {} |
||
smbw RawExtension |
Schemaless: {} |
RoleAnnotations¶
kubectl explain wekacluster.spec.roleAnnotations
Appears in: - WekaClusterSpec
RoleCoreIds¶
kubectl explain wekacluster.spec.roleCoreIds
RoleCoreIds defines CPU core id lists per container role for Manual CPU policy. Each slice contains the core IDs (as visible to the node OS) that should be pinned to every container of the corresponding role. If a slice is empty or omitted, no explicit core pinning will be applied for that role.
Validation: - Type: object
Appears in: - WekaClusterSpec
RoleNetworkSelector¶
kubectl explain wekacluster.spec.roleNetworkSelector
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
compute Network |
network selector for compute weka containers | ||
drive Network |
network selector for drive weka containers | ||
s3 Network |
network selector for s3 weka containers | ||
nfs Network |
network selector for nfs weka containers | ||
smbw Network |
network selector for smbw weka containers | ||
dataServices Network |
network selector for data services weka containers |
RoleNodeSelector¶
kubectl explain wekacluster.spec.roleNodeSelector
Appears in: - WekaClusterSpec
RoleNumaSelector¶
kubectl explain wekacluster.spec.roleNuma
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
compute WekaNuma |
NUMA configuration for compute weka containers | ||
drive WekaNuma |
NUMA configuration for drive weka containers | ||
s3 WekaNuma |
NUMA configuration for s3 weka containers | ||
nfs WekaNuma |
NUMA configuration for nfs weka containers | ||
smbw WekaNuma |
NUMA configuration for smbw weka containers | ||
dataServices WekaNuma |
NUMA configuration for data services weka containers |
WekaNuma¶
kubectl explain wekacluster.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. |
S3Config¶
kubectl explain wekacluster.spec.s3
Appears in: - WekaClusterSpec
SmbwConfig¶
kubectl explain wekacluster.spec.smbw
Appears in: - WekaClusterSpec
StartIoConditions¶
kubectl explain wekacluster.spec.startIoConditions
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
minNumDrives integer |
minimum number of drives that should be added to the cluster before starting IO |
TelemetryConfig¶
kubectl explain wekacluster.spec.telemetry
TelemetryConfig defines the telemetry export configuration for the Weka cluster
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
exports TelemetryExport array |
List of telemetry exports to configure |
TelemetryExport¶
kubectl explain wekacluster.spec.telemetry.exports
TelemetryExport defines a single telemetry export destination
Appears in: - TelemetryConfig
| Field | Description | Default | Validation |
|---|---|---|---|
name string |
Name is the unique identifier for this export | ||
sources string array |
Sources specifies which telemetry sources to export (e.g., "audit") | ||
splunk SplunkExportConfig |
Splunk configuration for Splunk HEC export |
SplunkExportConfig¶
kubectl explain wekacluster.spec.telemetry.exports.splunk
SplunkExportConfig defines Splunk-specific export configuration
Appears in: - TelemetryExport
TracesConfiguration¶
kubectl explain wekacluster.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 |
WekaClusterSpecOverrides¶
kubectl explain wekacluster.spec.overrides
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
allowS3ClusterDestroy boolean |
When true, permits cluster deletion even when an active S3 cluster exists. Destructive — will erase all S3 data. | ||
allowSmbwClusterDestroy boolean |
When true, permits the operator to destroy the SMB-W cluster it manages once SMB-W is torn down (no SMB-W containers desired). Destructive — will erase all SMB share configuration. | ||
allowNfsInterfaceGroupDestroy boolean |
When true, permits the operator to remove the NFS interface group it manages once NFS is torn down. Destructive — also drops the interface group's floating IP ranges. | ||
disregardRedundancy boolean |
disregard redundancy constraints, useful for testing, should not be used in production as misaligns failure domains | ||
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 |
image to be used for loading drivers, do not use unless explicitly instructed by Weka team | ||
forceAio boolean |
force weka to use drives in aio mode and not direct nvme (impacts performance, but might serve as a fallback in case of incompatible device) | ||
postFormClusterScript string |
script to run post cluster create (i.e before starting io) | ||
upgradeForceReplace boolean |
unsafe operation, skips graceful stop of weka container for a quick replacement to a new image, should not be used unless instructed explicitly by weka personnel | ||
upgradeForceReplaceDrives boolean |
unsafe operation, skips graceful stop of drive weka container for a quick replacement to a new image, should not be used unless instructed explicitly by weka personnel | ||
upgradeAllAtOnce boolean |
unsafe operation, should not be used unless instructed explicitly by weka personnel | ||
upgradePaused boolean |
Pause upgrade | ||
upgradePausePreCompute boolean |
Prevent from moving into compute phase | ||
podTerminationDeactivationTimeout Duration |
Timeout duration for deactivating pods that are terminating longer than this duration. When nil (default), the default timeout of 5 minutes is used. When set to 0, deactivation of terminating pods is disabled. Otherwise, the specified duration is used. |
Pattern: ^(0\|([0-9]+(\.[0-9]+)?(ns\|us\|µs\|ms\|s\|m\|h))+)$ Type: string Optional: {} |
|
paused boolean |
Pause the cluster - all containers will be stopped forcefully. nil (not set): no propagation, allows direct container-level state manipulation. true: pause all containers. false: actively unpause containers that are in paused state. |
||
cancelDeletion boolean |
Cancel deletion of the cluster if it is in graceful destroy period, a disaster recovery mechanism | ||
dpdkBaseMemoryMb DpdkBaseMemoryMbOverride |
|||
machineIdentifierNodeRef string |
used to override machine identifier node reference for backend containers (drive, compute, etc.) | ||
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: {} |
DpdkBaseMemoryMbOverride¶
kubectl explain wekacluster.spec.overrides.dpdkBaseMemoryMb
DpdkBaseMemoryMbOverride specifies DPDK base memory overrides (in MiB) per container mode. Used for hugepages calculation and resources.json configuration. Default value is 64 MiB per core. Only positive values are applied; zero or unset means use default.
Appears in: - WekaClusterSpecOverrides
| Field | Description | Default | Validation |
|---|---|---|---|
drive integer |
|||
compute integer |
|||
s3 integer |
|||
nfs integer |
|||
smbw integer |
|||
dataServices integer |
WekaClusterTemplate¶
kubectl explain wekacluster.spec.dynamicTemplate
Appears in: - WekaClusterSpec
| Field | Description | Default | Validation |
|---|---|---|---|
computeContainers integer |
Number of compute containers per cluster node. | Minimum: 0 |
|
driveContainers integer |
Number of drive containers per cluster node. | Minimum: 0 |
|
s3Containers integer |
Number of S3 gateway containers per cluster node. | Minimum: 0 |
|
computeCores integer |
Number of cores allocated to each compute container. | Minimum: 0 |
|
driveCores integer |
Number of cores allocated to each drive container. | Minimum: 0 |
|
s3Cores integer |
Number of cores allocated to each S3 gateway container. | Minimum: 0 |
|
numDrives integer |
Number of virtual or physical drives per drive container. Mutually exclusive with containerCapacity. | Minimum: 0 |
|
computeExtraCores integer |
Minimum: 0 |
||
driveExtraCores integer |
Minimum: 0 |
||
s3ExtraCores integer |
Additional non-DPDK cores for S3 gateway containers, used for background tasks. | Minimum: 0 |
|
driveHugepages integer |
Hugepage allocation in MiB for drive containers. 0 means auto-calculated. | Minimum: 0 |
|
driveHugepagesOffset integer |
Offset in MiB applied to the auto-calculated hugepage allocation for drive containers. | Minimum: 0 |
|
computeHugepages integer |
Hugepage allocation in MiB for compute containers. 0 means auto-calculated. | Minimum: 0 |
|
computeHugepagesOffset integer |
Offset in MiB applied to the auto-calculated hugepage allocation for compute containers. | Minimum: 0 |
|
s3FrontendHugepages integer |
Hugepage allocation in MiB for S3 gateway frontend threads. | Minimum: 0 |
|
s3FrontendHugepagesOffset integer |
Offset in MiB applied to the auto-calculated hugepage allocation for S3 frontend threads. | Minimum: 0 |
|
envoyCores integer |
Number of cores allocated to the Envoy proxy process used by the S3 gateway. | Minimum: 0 |
|
nfsContainers integer |
Number of NFS protocol containers per cluster node. | Minimum: 0 |
|
nfsCores integer |
Number of cores allocated to each NFS container. | Minimum: 0 |
|
nfsExtraCores integer |
Additional non-DPDK cores for NFS containers. | Minimum: 0 |
|
nfsFrontendHugepages integer |
Hugepage allocation in MiB for NFS frontend threads. | Minimum: 0 |
|
nfsFrontendHugepagesOffset integer |
Offset in MiB for NFS frontend hugepage allocation. | Minimum: 0 |
|
smbwContainers integer |
number of SMB-W containers (3-8) | Minimum: 0 |
|
smbwCores integer |
number of SMB-W cores per container | Minimum: 0 |
|
smbwExtraCores integer |
number of SMB-W extra cores per container | Minimum: 0 |
|
smbwFrontendHugepages integer |
hugepage allocation for SMB-W frontend | Minimum: 0 |
|
smbwFrontendHugepagesOffset integer |
hugepage offset for SMB-W frontend | Minimum: 0 |
|
driveCapacity integer |
DriveCapacity is the capacity in GiB to allocate per single virtual drive. NumDrives multiplied by DriveCapacity gives the total capacity requested by each drive container. This value determines how much capacity each container receives from shared drives. |
Minimum: 0 |
|
containerCapacity integer |
ContainerCapacity specifies the total capacity (in GiB) requested by each container when using shared drives via SSD proxy. This value takes precedence over DriveCapacity when both are set. It allows more flexible capacity allocation. |
Minimum: 0 |
|
clusterCapacity string |
ClusterCapacity is a human-friendly target USABLE capacity for the whole cluster. Alternative to ContainerCapacity: instead of sizing each container, the operator translates this target into failure domains built from whole containers and grows toward it (capacity only ever increases). Mutually exclusive with ContainerCapacity, NumDrives and DriveCapacity. Unit handling: the suffix determines whether decimal (base-1000) or binary (base-1024) interpretation is used. - Binary (IEC): "GiB"/"Gi", "TiB"/"Ti", "MiB"/"Mi", etc. e.g. "8000GiB" = 8000 GiB - Decimal (SI): "GB", "TB", "MB", etc. e.g. "8000GB" ≈ 7450 GiB - Bare unit (no "B"): "8000g", "300t" — treated as binary for backward compatibility |
||
driveTypesRatio DriveTypesRatio |
DriveTypesRatio specifies the desired ratio of drive types (TLC vs QLC) when allocating drives for the cluster. | ||
dataServicesContainers integer |
Minimum: 0 |
||
dataServicesCores integer |
Minimum: 0 |
||
dataServicesExtraCores integer |
|||
dataServicesHugepages integer |
Minimum: 0 |
||
dataServicesHugepagesOffset integer |
Minimum: 0 |
||
dataServicesFeCores integer |
Minimum: 0 |
DriveTypesRatio¶
kubectl explain wekacluster.spec.dynamicTemplate.driveTypesRatio
Appears in: - WekaClusterTemplate - WekaContainerSpec
| Field | Description | Default | Validation |
|---|---|---|---|
tlc integer |
0 | Minimum: 0 |
|
qlc integer |
0 | Minimum: 0 |
WekaHomeConfig¶
kubectl explain wekacluster.spec.wekaHome
Appears in: - WekaClusterSpec
WekaClusterStatus¶
kubectl explain wekacluster.status
WekaClusterStatus defines the observed state of WekaCluster
Appears in: - WekaCluster
| Field | Description | Default | Validation |
|---|---|---|---|
status WekaClusterStatusEnum |
|||
conditions Condition array |
|||
clusterID string |
|||
traceId string |
|||
spanId string |
|||
lastAppliedImage string |
|||
lastAppliedSpec string |
|||
lastAppliedPodConfigHash string |
|||
ports ClusterPorts |
|||
stats ClusterMetrics |
|||
printer ClusterPrinterColumns |
|||
timestamps object (keys:string, values:Time) |
ClusterMetrics¶
Appears in: - WekaClusterStatus
| Field | Description | Default | Validation |
|---|---|---|---|
containers ContainersMetrics |
|||
ioStats IoStats |
|||
drives DriveMetrics |
|||
alertsCount IntMetric |
|||
clusterStatus StringMetric |
|||
capacity CapacityMetrics |
|||
numFailures object (keys:string, values:FloatMetric) |
|||
lastUpdate Time |
|||
filesystem FilesystemMetrics |
CapacityMetrics¶
Appears in: - ClusterMetrics
| Field | Description | Default | Validation |
|---|---|---|---|
totalBytes IntMetric |
|||
unprovisionedBytes IntMetric |
|||
unavailableBytes IntMetric |
|||
hotSpareBytes IntMetric |
IntMetric¶
Underlying type: integer
Appears in: - CapacityMetrics - ClusterMetrics - EntityStatefulNum - FilesystemMetrics - StatusIops - StatusThroughput - WekaContainerMetrics
ContainersMetrics¶
Appears in: - ClusterMetrics
| Field | Description | Default | Validation |
|---|---|---|---|
drive ContainerMetrics |
|||
compute ContainerMetrics |
|||
s3 ContainerMetrics |
|||
nfs ContainerMetrics |
ContainerMetrics¶
Appears in: - ContainersMetrics
| Field | Description | Default | Validation |
|---|---|---|---|
numContainers EntityStatefulNum |
|||
processes EntityStatefulNum |
|||
cpuUtilization FloatMetric |
EntityStatefulNum¶
Appears in: - ClientMetrics - ContainerMetrics - DriveMetrics - WekaContainerMetrics
| Field | Description | Default | Validation |
|---|---|---|---|
active IntMetric |
|||
created IntMetric |
|||
desired IntMetric |
FloatMetric¶
Underlying type: string
Appears in: - ClusterMetrics - ContainerMetrics - MinMaxAvgPercent - WekaContainerMetrics
DriveMetrics¶
Appears in: - ClusterMetrics - WekaContainerMetrics
| Field | Description | Default | Validation |
|---|---|---|---|
counters EntityStatefulNum |
|||
failures DriveFailures array |
DriveFailures¶
Appears in: - DriveMetrics
| Field | Description | Default | Validation |
|---|---|---|---|
serialId string |
|||
wekaDriveId string |
FilesystemMetrics¶
FilesystemMetrics contains metrics about filesystem usage
Appears in: - ClusterMetrics
| Field | Description | Default | Validation |
|---|---|---|---|
totalProvisionedCapacity IntMetric |
TotalProvisionedCapacity is the sum of total_budget for all filesystems | ||
totalUsedCapacity IntMetric |
TotalUsedCapacity is the sum of used_total for all filesystems | ||
totalAvailableCapacity IntMetric |
TotalAvailableCapacity is the difference between TotalProvisionedCapacity and TotalUsedCapacity | ||
totalProvisionedSSDCapacity IntMetric |
SSD-specific metrics | ||
totalUsedSSDCapacity IntMetric |
|||
totalAvailableSSDCapacity IntMetric |
|||
hasTieredFilesystems boolean |
Object Store metrics | ||
totalObsCapacity IntMetric |
|||
obsBucketCount IntMetric |
|||
activeObsBucketCount IntMetric |
IoStats¶
Appears in: - ClusterMetrics
| Field | Description | Default | Validation |
|---|---|---|---|
throughput StatusThroughput |
|||
iops StatusIops |
StatusIops¶
Appears in: - IoStats
| Field | Description | Default | Validation |
|---|---|---|---|
read IntMetric |
|||
write IntMetric |
|||
metadata IntMetric |
Refer to Kubernetes API documentation for fields of metadata. |
||
total IntMetric |
StatusThroughput¶
Appears in: - IoStats
| Field | Description | Default | Validation |
|---|---|---|---|
read IntMetric |
|||
write IntMetric |
StringMetric¶
Underlying type: string
Appears in: - ClientPrinterColumns - ClusterMetrics - ClusterPrinterColumns - ContainerPrinterColumns
ClusterPrinterColumns¶
Appears in: - WekaClusterStatus
| Field | Description | Default | Validation |
|---|---|---|---|
computeContainers StringMetric |
|||
driveContainers StringMetric |
|||
drives StringMetric |
|||
throughput StringMetric |
|||
iops StringMetric |
|||
filesystemCapacity StringMetric |
Information about filesystem capacity: Available/Used | ||
capacity StringMetric |
Aggregated raw provisioned drive-sharing capacity per type, e.g. "TLC 100TiB / QLC 200TiB" |
WekaClusterStatusEnum¶
Underlying type: string
Appears in: - WekaClusterStatus
| Field | Description |
|---|---|
Init |
|
Ready |
|
WaitForDrives |
|
StartingIO |
|
Paused |
|
GracePeriod |
|
Destroying |
|
Deallocating |