KafkaNodePool
kafka.strimzi.io / v1
apiVersion: kafka.strimzi.io/v1
kind: KafkaNodePool
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object
spec object required
The specification of the KafkaNodePool.
jvmOptions object
JVM Options for pods.
-XX
object
A map of -XX options to the JVM.
-Xms
string
-Xms option to to the JVM.
pattern:
^[0-9]+[mMgG]?$
-Xmx
string
-Xmx option to to the JVM.
pattern:
^[0-9]+[mMgG]?$
gcLoggingEnabled
boolean
Specifies whether the Garbage Collection logging is enabled. The default is false.
javaSystemProperties []object
A map of additional system properties which will be passed using the `-D` option to the JVM.
name
string
The system property name.
value
string
The system property value.
replicas
integer required
The number of pods in the pool.
minimum:
0resources object
CPU and memory resources to reserve.
claims []object
name
string
request
string
limits
object
requests
object
roles
[]string required
The roles assigned to the node pool. Supported values are `broker` and `controller`. This property is required.
storage object required
Storage configuration (disk). Cannot be updated.
class
string
The storage class to use for dynamic volume allocation.
deleteClaim
boolean
Specifies whether the persistent volume claim is deleted when a Kafka node is deleted. Optional. Defaults to `false`.
id
integer
Storage identification number. It is mandatory only for storage volumes defined in a storage of type 'jbod'.
minimum:
0
kraftMetadata
string
Specifies whether this volume should be used for storing KRaft metadata. This property is optional. When set, the only currently supported value is `shared`. At most one volume can have this property set.
enum:
shared
selector
object
Specifies a specific persistent volume to use. It contains key:value pairs representing labels for selecting such a volume.
size
string
When `type=persistent-claim`, defines the size of the persistent volume claim, such as 100Gi. Mandatory when `type=persistent-claim`.
sizeLimit
string
When type=ephemeral, defines the total amount of local storage required for this EmptyDir volume (for example 1Gi).
pattern:
^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
type
string required
Storage type, must be either 'ephemeral', 'persistent-claim', or 'jbod'.
enum:
ephemeral, persistent-claim, jbod
volumeAttributesClass
string
Specifies `VolumeAttributeClass` name for dynamically configuring storage attributes.
volumes []object
List of volumes as Storage objects representing the JBOD disks array.
class
string
The storage class to use for dynamic volume allocation.
deleteClaim
boolean
Specifies whether the persistent volume claim is deleted when a Kafka node is deleted. Optional. Defaults to `false`.
id
integer
Storage identification number. Mandatory for storage volumes defined with a `jbod` storage type configuration.
minimum:
0
kraftMetadata
string
Specifies whether this volume should be used for storing KRaft metadata. This property is optional. When set, the only currently supported value is `shared`. At most one volume can have this property set.
enum:
shared
selector
object
Specifies a specific persistent volume to use. It contains key:value pairs representing labels for selecting such a volume.
size
string
When `type=persistent-claim`, defines the size of the persistent volume claim, such as 100Gi. Mandatory when `type=persistent-claim`.
sizeLimit
string
When type=ephemeral, defines the total amount of local storage required for this EmptyDir volume (for example 1Gi).
pattern:
^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
type
string required
Storage type, must be either 'ephemeral' or 'persistent-claim'.
enum:
ephemeral, persistent-claim
volumeAttributesClass
string
Specifies `VolumeAttributeClass` name for dynamically configuring storage attributes.
template object
Template for pool resources. The template allows users to specify how the resources belonging to this pool are generated.
initContainer object
Template for the Kafka init container.
env []object
Environment variables which should be applied to the container.
name
string
The environment variable key.
value
string
The environment variable value.
valueFrom object
Reference to the secret or config map property to which the environment variable is set.
configMapKeyRef object
Reference to a key in a config map.
key
string
name
string
optional
boolean
secretKeyRef object
Reference to a key in a secret.
key
string
name
string
optional
boolean
securityContext object
Security context for the container.
allowPrivilegeEscalation
boolean
appArmorProfile object
localhostProfile
string
type
string
capabilities object
add
[]string
drop
[]string
privileged
boolean
procMount
string
readOnlyRootFilesystem
boolean
runAsGroup
integer
runAsNonRoot
boolean
runAsUser
integer
seLinuxOptions object
level
string
role
string
type
string
user
string
seccompProfile object
localhostProfile
string
type
string
windowsOptions object
gmsaCredentialSpec
string
gmsaCredentialSpecName
string
hostProcess
boolean
runAsUserName
string
volumeMounts []object
Additional volume mounts which should be applied to the container.
mountPath
string
mountPropagation
string
name
string
readOnly
boolean
recursiveReadOnly
string
subPath
string
subPathExpr
string
kafkaContainer object
Template for the Kafka broker container.
env []object
Environment variables which should be applied to the container.
name
string
The environment variable key.
value
string
The environment variable value.
valueFrom object
Reference to the secret or config map property to which the environment variable is set.
configMapKeyRef object
Reference to a key in a config map.
key
string
name
string
optional
boolean
secretKeyRef object
Reference to a key in a secret.
key
string
name
string
optional
boolean
securityContext object
Security context for the container.
allowPrivilegeEscalation
boolean
appArmorProfile object
localhostProfile
string
type
string
capabilities object
add
[]string
drop
[]string
privileged
boolean
procMount
string
readOnlyRootFilesystem
boolean
runAsGroup
integer
runAsNonRoot
boolean
runAsUser
integer
seLinuxOptions object
level
string
role
string
type
string
user
string
seccompProfile object
localhostProfile
string
type
string
windowsOptions object
gmsaCredentialSpec
string
gmsaCredentialSpecName
string
hostProcess
boolean
runAsUserName
string
volumeMounts []object
Additional volume mounts which should be applied to the container.
mountPath
string
mountPropagation
string
name
string
readOnly
boolean
recursiveReadOnly
string
subPath
string
subPathExpr
string
perPodIngress object
Template for Kafka per-pod `Ingress` used for access from outside of Kubernetes.
metadata object
Metadata applied to the resource.
annotations
object
Annotations added to the Kubernetes resource.
labels
object
Labels added to the Kubernetes resource.
perPodRoute object
Template for Kafka per-pod `Routes` used for access from outside of OpenShift.
metadata object
Metadata applied to the resource.
annotations
object
Annotations added to the Kubernetes resource.
labels
object
Labels added to the Kubernetes resource.
perPodService object
Template for Kafka per-pod `Services` used for access from outside of Kubernetes.
metadata object
Metadata applied to the resource.
annotations
object
Annotations added to the Kubernetes resource.
labels
object
Labels added to the Kubernetes resource.
persistentVolumeClaim object
Template for all Kafka `PersistentVolumeClaims`.
metadata object
Metadata applied to the resource.
annotations
object
Annotations added to the Kubernetes resource.
labels
object
Labels added to the Kubernetes resource.
pod object
Template for Kafka `Pods`.
affinity object
The pod's affinity rules.
nodeAffinity object
preferredDuringSchedulingIgnoredDuringExecution []object
preference object
matchExpressions []object
key
string
operator
string
values
[]string
matchFields []object
key
string
operator
string
values
[]string
weight
integer
requiredDuringSchedulingIgnoredDuringExecution object
nodeSelectorTerms []object
matchExpressions []object
key
string
operator
string
values
[]string
matchFields []object
key
string
operator
string
values
[]string
podAffinity object
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object
labelSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
matchLabelKeys
[]string
mismatchLabelKeys
[]string
namespaceSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
namespaces
[]string
topologyKey
string
weight
integer
requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
matchLabelKeys
[]string
mismatchLabelKeys
[]string
namespaceSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
namespaces
[]string
topologyKey
string
podAntiAffinity object
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object
labelSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
matchLabelKeys
[]string
mismatchLabelKeys
[]string
namespaceSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
namespaces
[]string
topologyKey
string
weight
integer
requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
matchLabelKeys
[]string
mismatchLabelKeys
[]string
namespaceSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
namespaces
[]string
topologyKey
string
dnsConfig object
The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy.
nameservers
[]string
options []object
name
string
value
string
searches
[]string
dnsPolicy
string
The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`.
enum:
ClusterFirst, ClusterFirstWithHostNet, Default, None
enableServiceLinks
boolean
Indicates whether information about services should be injected into Pod's environment variables.
hostAliases []object
The pod's HostAliases. HostAliases is an optional list of hosts and IPs that will be injected into the Pod's hosts file if specified.
hostnames
[]string
ip
string
hostUsers
boolean
Use the host user namespace. Optional. Defaults to `true`. When `true` or not set, the pod runs in the host user namespace. This is required when the pod needs features available only in the host namespace, such as loading kernel modules with `CAP_SYS_MODULE`.When set to `false`, the pod runs in a new user namespace. Setting `false` helps mitigate container breakout vulnerabilities and allows containers to run as `root` without granting `root` privileges on the host. This property is alpha-level in Kubernetes and is supported only by Kubernetes clusters that enable the `UserNamespacesSupport` feature.
imagePullSecrets []object
List of references to secrets in the same namespace to use for pulling any of the images used by this Pod. When the `STRIMZI_IMAGE_PULL_SECRETS` environment variable in Cluster Operator and the `imagePullSecrets` option are specified, only the `imagePullSecrets` variable is used and the `STRIMZI_IMAGE_PULL_SECRETS` variable is ignored.
name
string
metadata object
Metadata applied to the resource.
annotations
object
Annotations added to the Kubernetes resource.
labels
object
Labels added to the Kubernetes resource.
priorityClassName
string
The name of the priority class used to assign priority to the pods.
schedulerName
string
The name of the scheduler used to dispatch this `Pod`. If not specified, the default scheduler will be used.
securityContext object
Configures pod-level security attributes and common container settings.
appArmorProfile object
localhostProfile
string
type
string
fsGroup
integer
fsGroupChangePolicy
string
runAsGroup
integer
runAsNonRoot
boolean
runAsUser
integer
seLinuxChangePolicy
string
seLinuxOptions object
level
string
role
string
type
string
user
string
seccompProfile object
localhostProfile
string
type
string
supplementalGroups
[]integer
supplementalGroupsPolicy
string
sysctls []object
name
string
value
string
windowsOptions object
gmsaCredentialSpec
string
gmsaCredentialSpecName
string
hostProcess
boolean
runAsUserName
string
terminationGracePeriodSeconds
integer
The grace period is the duration in seconds after the processes running in the pod are sent a termination signal, and the time when the processes are forcibly halted with a kill signal. Set this value to longer than the expected cleanup time for your process. Value must be a non-negative integer. A zero value indicates delete immediately. You might need to increase the grace period for very large Kafka clusters, so that the Kafka brokers have enough time to transfer their work to another broker before they are terminated. Defaults to 30 seconds.
minimum:
0
tmpDirSizeLimit
string
Defines the total amount of pod memory allocated for the temporary `EmptyDir` volume `/tmp`. Specify the allocation in memory units, for example, `100Mi` for 100 mebibytes. Default value is `5Mi`. The `/tmp` volume is backed by pod memory, not disk storage, so avoid setting a high value as it consumes pod memory resources.
pattern:
^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$tolerations []object
The pod's tolerations.
effect
string
key
string
operator
string
tolerationSeconds
integer
value
string
topologySpreadConstraints []object
The pod's topology spread constraints.
labelSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
matchLabelKeys
[]string
maxSkew
integer
minDomains
integer
nodeAffinityPolicy
string
nodeTaintsPolicy
string
topologyKey
string
whenUnsatisfiable
string
volumes []object
Additional volumes that can be mounted to the pod.
configMap object
`ConfigMap` to use to populate the volume.
defaultMode
integer
items []object
key
string
mode
integer
path
string
name
string
optional
boolean
csi object
`CSIVolumeSource` object to use to populate the volume.
driver
string
fsType
string
nodePublishSecretRef object
name
string
readOnly
boolean
volumeAttributes
object
emptyDir object
`EmptyDir` to use to populate the volume.
medium
string
Medium represents the type of storage medium should back this volume. Valid values are unset or `Memory`. When not set, it will use the node's default medium.
enum:
Memory
sizeLimit
string
The total amount of local storage required for this EmptyDir volume (for example 1Gi).
pattern:
^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$image object
`ImageVolumeSource` object to use to populate the volume.
pullPolicy
string
reference
string
name
string
Name to use for the volume. Required.
persistentVolumeClaim object
`PersistentVolumeClaim` object to use to populate the volume.
claimName
string
readOnly
boolean
secret object
`Secret` to use to populate the volume.
defaultMode
integer
items []object
key
string
mode
integer
path
string
optional
boolean
secretName
string
podSet object
Template for Kafka `StrimziPodSet` resource.
metadata object
Metadata applied to the resource.
annotations
object
Annotations added to the Kubernetes resource.
labels
object
Labels added to the Kubernetes resource.
status object
The status of the KafkaNodePool.
clusterId
string
Kafka cluster ID.
conditions []object
List of status conditions.
lastTransitionTime
string
Last time the condition of a type changed from one status to another. The required format is 'yyyy-MM-ddTHH:mm:ssZ', in the UTC time zone.
message
string
Human-readable message indicating details about the condition's last transition.
reason
string
The reason for the condition's last transition (a single word in CamelCase).
status
string
The status of the condition, either True, False or Unknown.
type
string
The unique identifier of a condition, used to distinguish between other conditions in the resource.
labelSelector
string
Label selector for pods providing this resource.
nodeIds
[]integer
Node IDs used by Kafka nodes in this pool.
observedGeneration
integer
The generation of the CRD that was last reconciled by the operator.
replicas
integer
The current number of pods being used to provide this resource.
roles
[]string
The roles currently assigned to this pool.
No matches. Try .spec.jvmOptions for an exact path