blob: 56a5ed25afd7a57a5a13455ac3f0001ec2918419 [file] [log] [blame]
Serge Bazanski464fb042021-09-11 20:24:27 +00001# Downloaded from https://raw.githubusercontent.com/rook/rook/release-1.6/cluster/examples/kubernetes/ceph/crds.yaml
2
3##############################################################################
4# Create the CRDs that are necessary before creating your Rook cluster.
5# These resources *must* be created before the cluster.yaml or their variants.
6##############################################################################
7---
8apiVersion: apiextensions.k8s.io/v1
9kind: CustomResourceDefinition
10metadata:
11 annotations:
12 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
13 creationTimestamp: null
14 name: cephblockpools.ceph.rook.io
15spec:
16 group: ceph.rook.io
17 names:
18 kind: CephBlockPool
19 listKind: CephBlockPoolList
20 plural: cephblockpools
21 singular: cephblockpool
22 scope: Namespaced
23 versions:
24 - name: v1
25 schema:
26 openAPIV3Schema:
27 description: CephBlockPool represents a Ceph Storage Pool
28 properties:
29 apiVersion:
30 description: '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'
31 type: string
32 kind:
33 description: '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'
34 type: string
35 metadata:
36 type: object
37 spec:
38 description: PoolSpec represents the spec of ceph pool
39 properties:
40 compressionMode:
41 default: none
42 description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
43 enum:
44 - none
45 - passive
46 - aggressive
47 - force
48 - ""
49 nullable: true
50 type: string
51 crushRoot:
52 description: The root of the crush hierarchy utilized by the pool
53 nullable: true
54 type: string
55 deviceClass:
56 description: The device class the OSD should set to for use in the pool
57 nullable: true
58 type: string
59 enableRBDStats:
60 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
61 type: boolean
62 erasureCoded:
63 description: The erasure code settings
64 properties:
65 algorithm:
66 description: The algorithm for erasure coding
67 type: string
68 codingChunks:
69 description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
70 maximum: 9
71 minimum: 0
72 type: integer
73 dataChunks:
74 description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
75 maximum: 9
76 minimum: 0
77 type: integer
78 required:
79 - codingChunks
80 - dataChunks
81 type: object
82 failureDomain:
83 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
84 type: string
85 mirroring:
86 description: The mirroring settings
87 properties:
88 enabled:
89 description: Enabled whether this pool is mirrored or not
90 type: boolean
91 mode:
92 description: 'Mode is the mirroring mode: either pool or image'
93 type: string
94 snapshotSchedules:
95 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
96 items:
97 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
98 properties:
99 interval:
100 description: Interval represent the periodicity of the snapshot.
101 type: string
102 startTime:
103 description: StartTime indicates when to start the snapshot
104 type: string
105 type: object
106 type: array
107 type: object
108 parameters:
109 additionalProperties:
110 type: string
111 description: Parameters is a list of properties to enable on a given pool
112 nullable: true
113 type: object
114 x-kubernetes-preserve-unknown-fields: true
115 quotas:
116 description: The quota settings
117 nullable: true
118 properties:
119 maxBytes:
120 description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
121 format: int64
122 type: integer
123 maxObjects:
124 description: MaxObjects represents the quota in objects
125 format: int64
126 type: integer
127 maxSize:
128 description: MaxSize represents the quota in bytes as a string
129 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
130 type: string
131 type: object
132 replicated:
133 description: The replication settings
134 properties:
135 replicasPerFailureDomain:
136 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
137 minimum: 1
138 type: integer
139 requireSafeReplicaSize:
140 description: RequireSafeReplicaSize if false allows you to set replica 1
141 type: boolean
142 size:
143 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
144 minimum: 0
145 type: integer
146 subFailureDomain:
147 description: SubFailureDomain the name of the sub-failure domain
148 type: string
149 targetSizeRatio:
150 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
151 type: number
152 required:
153 - size
154 type: object
155 statusCheck:
156 description: The mirroring statusCheck
157 properties:
158 mirror:
159 description: HealthCheckSpec represents the health check of an object store bucket
160 nullable: true
161 properties:
162 disabled:
163 type: boolean
164 interval:
165 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
166 type: string
167 timeout:
168 type: string
169 type: object
170 type: object
171 x-kubernetes-preserve-unknown-fields: true
172 type: object
173 status:
174 description: CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool
175 properties:
176 info:
177 additionalProperties:
178 type: string
179 description: Use only info and put mirroringStatus in it?
180 nullable: true
181 type: object
182 mirroringInfo:
183 description: MirroringInfoSpec is the status of the pool mirroring
184 properties:
185 details:
186 type: string
187 lastChanged:
188 type: string
189 lastChecked:
190 type: string
191 mode:
192 description: Mode is the mirroring mode
193 type: string
194 peers:
195 description: Peers are the list of peer sites connected to that cluster
196 items:
197 description: PeersSpec contains peer details
198 properties:
199 client_name:
200 description: ClientName is the CephX user used to connect to the peer
201 type: string
202 direction:
203 description: Direction is the peer mirroring direction
204 type: string
205 mirror_uuid:
206 description: MirrorUUID is the mirror UUID
207 type: string
208 site_name:
209 description: SiteName is the current site name
210 type: string
211 uuid:
212 description: UUID is the peer UUID
213 type: string
214 type: object
215 type: array
216 site_name:
217 description: SiteName is the current site name
218 type: string
219 type: object
220 mirroringStatus:
221 description: MirroringStatusSpec is the status of the pool mirroring
222 properties:
223 details:
224 description: Details contains potential status errors
225 type: string
226 lastChanged:
227 description: LastChanged is the last time time the status last changed
228 type: string
229 lastChecked:
230 description: LastChecked is the last time time the status was checked
231 type: string
232 summary:
233 description: Summary is the mirroring status summary
234 properties:
235 daemon_health:
236 description: DaemonHealth is the health of the mirroring daemon
237 type: string
238 health:
239 description: Health is the mirroring health
240 type: string
241 image_health:
242 description: ImageHealth is the health of the mirrored image
243 type: string
244 states:
245 description: States is the various state for all mirrored images
246 nullable: true
247 properties:
248 error:
249 description: Error is when the mirroring state is errored
250 type: integer
251 replaying:
252 description: Replaying is when the replay of the mirroring journal is on-going
253 type: integer
254 starting_replay:
255 description: StartingReplay is when the replay of the mirroring journal starts
256 type: integer
257 stopped:
258 description: Stopped is when the mirroring state is stopped
259 type: integer
260 stopping_replay:
261 description: StopReplaying is when the replay of the mirroring journal stops
262 type: integer
263 syncing:
264 description: Syncing is when the image is syncing
265 type: integer
266 unknown:
267 description: Unknown is when the mirroring state is unknown
268 type: integer
269 type: object
270 type: object
271 type: object
272 phase:
273 description: ConditionType represent a resource's status
274 type: string
275 snapshotScheduleStatus:
276 description: SnapshotScheduleStatusSpec is the status of the snapshot schedule
277 properties:
278 details:
279 description: Details contains potential status errors
280 type: string
281 lastChanged:
282 description: LastChanged is the last time time the status last changed
283 type: string
284 lastChecked:
285 description: LastChecked is the last time time the status was checked
286 type: string
287 snapshotSchedules:
288 description: SnapshotSchedules is the list of snapshots scheduled
289 items:
290 description: SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
291 properties:
292 image:
293 description: Image is the mirrored image
294 type: string
295 items:
296 description: Items is the list schedules times for a given snapshot
297 items:
298 description: SnapshotSchedule is a schedule
299 properties:
300 interval:
301 description: Interval is the interval in which snapshots will be taken
302 type: string
303 start_time:
304 description: StartTime is the snapshot starting time
305 type: string
306 type: object
307 type: array
308 namespace:
309 description: Namespace is the RADOS namespace the image is part of
310 type: string
311 pool:
312 description: Pool is the pool name
313 type: string
314 type: object
315 nullable: true
316 type: array
317 type: object
318 type: object
319 x-kubernetes-preserve-unknown-fields: true
320 required:
321 - metadata
322 - spec
323 type: object
324 served: true
325 storage: true
326 subresources:
327 status: {}
328status:
329 acceptedNames:
330 kind: ""
331 plural: ""
332 conditions: []
333 storedVersions: []
334---
335apiVersion: apiextensions.k8s.io/v1
336kind: CustomResourceDefinition
337metadata:
338 annotations:
339 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
340 creationTimestamp: null
341 name: cephclients.ceph.rook.io
342spec:
343 group: ceph.rook.io
344 names:
345 kind: CephClient
346 listKind: CephClientList
347 plural: cephclients
348 singular: cephclient
349 scope: Namespaced
350 versions:
351 - name: v1
352 schema:
353 openAPIV3Schema:
354 description: CephClient represents a Ceph Client
355 properties:
356 apiVersion:
357 description: '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'
358 type: string
359 kind:
360 description: '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'
361 type: string
362 metadata:
363 type: object
364 spec:
365 description: Spec represents the specification of a Ceph Client
366 properties:
367 caps:
368 additionalProperties:
369 type: string
370 type: object
371 x-kubernetes-preserve-unknown-fields: true
372 name:
373 type: string
374 required:
375 - caps
376 type: object
377 status:
378 description: Status represents the status of a Ceph Client
379 properties:
380 info:
381 additionalProperties:
382 type: string
383 nullable: true
384 type: object
385 phase:
386 description: ConditionType represent a resource's status
387 type: string
388 type: object
389 x-kubernetes-preserve-unknown-fields: true
390 required:
391 - metadata
392 - spec
393 type: object
394 served: true
395 storage: true
396 subresources:
397 status: {}
398status:
399 acceptedNames:
400 kind: ""
401 plural: ""
402 conditions: []
403 storedVersions: []
404---
405apiVersion: apiextensions.k8s.io/v1
406kind: CustomResourceDefinition
407metadata:
408 annotations:
409 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
410 creationTimestamp: null
411 name: cephclusters.ceph.rook.io
412spec:
413 group: ceph.rook.io
414 names:
415 kind: CephCluster
416 listKind: CephClusterList
417 plural: cephclusters
418 singular: cephcluster
419 scope: Namespaced
420 versions:
421 - additionalPrinterColumns:
422 - description: Directory used on the K8s nodes
423 jsonPath: .spec.dataDirHostPath
424 name: DataDirHostPath
425 type: string
426 - description: Number of MONs
427 jsonPath: .spec.mon.count
428 name: MonCount
429 type: string
430 - jsonPath: .metadata.creationTimestamp
431 name: Age
432 type: date
433 - description: Phase
434 jsonPath: .status.phase
435 name: Phase
436 type: string
437 - description: Message
438 jsonPath: .status.message
439 name: Message
440 type: string
441 - description: Ceph Health
442 jsonPath: .status.ceph.health
443 name: Health
444 type: string
445 - jsonPath: .spec.external.enable
446 name: External
447 type: boolean
448 name: v1
449 schema:
450 openAPIV3Schema:
451 description: CephCluster is a Ceph storage cluster
452 properties:
453 apiVersion:
454 description: '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'
455 type: string
456 kind:
457 description: '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'
458 type: string
459 metadata:
460 type: object
461 spec:
462 description: ClusterSpec represents the specification of Ceph Cluster
463 properties:
464 annotations:
465 additionalProperties:
466 additionalProperties:
467 type: string
468 description: Annotations are annotations
469 type: object
470 description: The annotations-related configuration to add/set on each Pod related object.
471 nullable: true
472 type: object
473 x-kubernetes-preserve-unknown-fields: true
474 cephVersion:
475 description: The version information that instructs Rook to orchestrate a particular version of Ceph.
476 nullable: true
477 properties:
478 allowUnsupported:
479 description: Whether to allow unsupported versions (do not set to true in production)
480 type: boolean
481 image:
482 description: Image is the container image used to launch the ceph daemons, such as ceph/ceph:v16.2.4
483 type: string
484 type: object
485 cleanupPolicy:
486 description: Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster deletion is not imminent.
487 nullable: true
488 properties:
489 allowUninstallWithVolumes:
490 description: AllowUninstallWithVolumes defines whether we can proceed with the uninstall if they are RBD images still present
491 type: boolean
492 confirmation:
493 description: Confirmation represents the cleanup confirmation
494 nullable: true
495 pattern: ^$|^yes-really-destroy-data$
496 type: string
497 sanitizeDisks:
498 description: SanitizeDisks represents way we sanitize disks
499 nullable: true
500 properties:
501 dataSource:
502 description: DataSource is the data source to use to sanitize the disk with
503 enum:
504 - zero
505 - random
506 type: string
507 iteration:
508 description: Iteration is the number of pass to apply the sanitizing
509 format: int32
510 type: integer
511 method:
512 description: Method is the method we use to sanitize disks
513 enum:
514 - complete
515 - quick
516 type: string
517 type: object
518 type: object
519 continueUpgradeAfterChecksEvenIfNotHealthy:
520 description: ContinueUpgradeAfterChecksEvenIfNotHealthy defines if an upgrade should continue even if PGs are not clean
521 type: boolean
522 crashCollector:
523 description: A spec for the crash controller
524 nullable: true
525 properties:
526 daysToRetain:
527 description: DaysToRetain represents the number of days to retain crash until they get pruned
528 type: integer
529 disable:
530 description: Disable determines whether we should enable the crash collector
531 type: boolean
532 type: object
533 dashboard:
534 description: Dashboard settings
535 nullable: true
536 properties:
537 enabled:
538 description: Enabled determines whether to enable the dashboard
539 type: boolean
540 port:
541 description: Port is the dashboard webserver port
542 maximum: 65535
543 minimum: 0
544 type: integer
545 ssl:
546 description: SSL determines whether SSL should be used
547 type: boolean
548 urlPrefix:
549 description: URLPrefix is a prefix for all URLs to use the dashboard with a reverse proxy
550 type: string
551 type: object
552 dataDirHostPath:
553 description: The path on the host where config and data can be persisted
554 pattern: ^/(\S+)
555 type: string
556 disruptionManagement:
557 description: A spec for configuring disruption management.
558 nullable: true
559 properties:
560 machineDisruptionBudgetNamespace:
561 description: Namespace to look for MDBs by the machineDisruptionBudgetController
562 type: string
563 manageMachineDisruptionBudgets:
564 description: This enables management of machinedisruptionbudgets
565 type: boolean
566 managePodBudgets:
567 description: This enables management of poddisruptionbudgets
568 type: boolean
569 osdMaintenanceTimeout:
570 description: OSDMaintenanceTimeout sets how many additional minutes the DOWN/OUT interval is for drained failure domains it only works if managePodBudgets is true. the default is 30 minutes
571 format: int64
572 type: integer
573 pgHealthCheckTimeout:
574 description: PGHealthCheckTimeout is the time (in minutes) that the operator will wait for the placement groups to become healthy (active+clean) after a drain was completed and OSDs came back up. Rook will continue with the next drain if the timeout exceeds. It only works if managePodBudgets is true. No values or 0 means that the operator will wait until the placement groups are healthy before unblocking the next drain.
575 format: int64
576 type: integer
577 type: object
578 external:
579 description: Whether the Ceph Cluster is running external to this Kubernetes cluster mon, mgr, osd, mds, and discover daemons will not be created for external clusters.
580 nullable: true
581 properties:
582 enable:
583 description: Enable determines whether external mode is enabled or not
584 type: boolean
585 type: object
586 x-kubernetes-preserve-unknown-fields: true
587 healthCheck:
588 description: Internal daemon healthchecks and liveness probe
589 nullable: true
590 properties:
591 daemonHealth:
592 description: DaemonHealth is the health check for a given daemon
593 nullable: true
594 properties:
595 mon:
596 description: Monitor represents the health check settings for the Ceph monitor
597 nullable: true
598 properties:
599 disabled:
600 type: boolean
601 interval:
602 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
603 type: string
604 timeout:
605 type: string
606 type: object
607 osd:
608 description: ObjectStorageDaemon represents the health check settings for the Ceph OSDs
609 nullable: true
610 properties:
611 disabled:
612 type: boolean
613 interval:
614 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
615 type: string
616 timeout:
617 type: string
618 type: object
619 status:
620 description: Status represents the health check settings for the Ceph health
621 nullable: true
622 properties:
623 disabled:
624 type: boolean
625 interval:
626 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
627 type: string
628 timeout:
629 type: string
630 type: object
631 type: object
632 livenessProbe:
633 additionalProperties:
634 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
635 properties:
636 disabled:
637 description: Disabled determines whether probe is disable or not
638 type: boolean
639 probe:
640 description: Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.
641 properties:
642 exec:
643 description: One and only one of the following should be specified. Exec specifies the action to take.
644 properties:
645 command:
646 description: Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
647 items:
648 type: string
649 type: array
650 type: object
651 failureThreshold:
652 description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
653 format: int32
654 type: integer
655 httpGet:
656 description: HTTPGet specifies the http request to perform.
657 properties:
658 host:
659 description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
660 type: string
661 httpHeaders:
662 description: Custom headers to set in the request. HTTP allows repeated headers.
663 items:
664 description: HTTPHeader describes a custom header to be used in HTTP probes
665 properties:
666 name:
667 description: The header field name
668 type: string
669 value:
670 description: The header field value
671 type: string
672 required:
673 - name
674 - value
675 type: object
676 type: array
677 path:
678 description: Path to access on the HTTP server.
679 type: string
680 port:
681 anyOf:
682 - type: integer
683 - type: string
684 description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
685 x-kubernetes-int-or-string: true
686 scheme:
687 description: Scheme to use for connecting to the host. Defaults to HTTP.
688 type: string
689 required:
690 - port
691 type: object
692 initialDelaySeconds:
693 description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
694 format: int32
695 type: integer
696 periodSeconds:
697 description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
698 format: int32
699 type: integer
700 successThreshold:
701 description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
702 format: int32
703 type: integer
704 tcpSocket:
705 description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
706 properties:
707 host:
708 description: 'Optional: Host name to connect to, defaults to the pod IP.'
709 type: string
710 port:
711 anyOf:
712 - type: integer
713 - type: string
714 description: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
715 x-kubernetes-int-or-string: true
716 required:
717 - port
718 type: object
719 terminationGracePeriodSeconds:
720 description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. 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 longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate.
721 format: int64
722 type: integer
723 timeoutSeconds:
724 description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
725 format: int32
726 type: integer
727 type: object
728 type: object
729 description: LivenessProbe allows to change the livenessprobe configuration for a given daemon
730 type: object
731 type: object
732 labels:
733 additionalProperties:
734 additionalProperties:
735 type: string
736 description: Labels are label for a given daemons
737 type: object
738 description: The labels-related configuration to add/set on each Pod related object.
739 nullable: true
740 type: object
741 x-kubernetes-preserve-unknown-fields: true
742 logCollector:
743 description: Logging represents loggings settings
744 nullable: true
745 properties:
746 enabled:
747 description: Enabled represents whether the log collector is enabled
748 type: boolean
749 periodicity:
750 description: Periodicity is the periodicity of the log rotation
751 type: string
752 type: object
753 mgr:
754 description: A spec for mgr related options
755 nullable: true
756 properties:
757 allowMultiplePerNode:
758 description: AllowMultiplePerNode allows to run multiple managers on the same node (not recommended)
759 type: boolean
760 count:
761 description: Count is the number of manager to run
762 maximum: 2
763 minimum: 0
764 type: integer
765 modules:
766 description: Modules is the list of ceph manager modules to enable/disable
767 items:
768 description: Module represents mgr modules that the user wants to enable or disable
769 properties:
770 enabled:
771 description: Enabled determines whether a module should be enabled or not
772 type: boolean
773 name:
774 description: Name is the name of the ceph manager module
775 type: string
776 type: object
777 nullable: true
778 type: array
779 type: object
780 mon:
781 description: A spec for mon related options
782 nullable: true
783 properties:
784 allowMultiplePerNode:
785 description: AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended)
786 type: boolean
787 count:
788 description: Count is the number of Ceph monitors
789 minimum: 0
790 type: integer
791 stretchCluster:
792 description: StretchCluster is the stretch cluster specification
793 properties:
794 failureDomainLabel:
795 description: 'FailureDomainLabel the failure domain name (e,g: zone)'
796 type: string
797 subFailureDomain:
798 description: SubFailureDomain is the failure domain within a zone
799 type: string
800 zones:
801 description: Zones is the list of zones
802 items:
803 description: StretchClusterZoneSpec represents the specification of a stretched zone in a Ceph Cluster
804 properties:
805 arbiter:
806 description: Arbiter determines if the zone contains the arbiter
807 type: boolean
808 name:
809 description: Name is the name of the zone
810 type: string
811 volumeClaimTemplate:
812 description: VolumeClaimTemplate is the PVC template
813 properties:
814 apiVersion:
815 description: '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'
816 type: string
817 kind:
818 description: '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'
819 type: string
820 metadata:
821 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
822 properties:
823 annotations:
824 additionalProperties:
825 type: string
826 type: object
827 finalizers:
828 items:
829 type: string
830 type: array
831 labels:
832 additionalProperties:
833 type: string
834 type: object
835 name:
836 type: string
837 namespace:
838 type: string
839 type: object
840 spec:
841 description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
842 properties:
843 accessModes:
844 description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
845 items:
846 type: string
847 type: array
848 dataSource:
849 description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
850 properties:
851 apiGroup:
852 description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
853 type: string
854 kind:
855 description: Kind is the type of resource being referenced
856 type: string
857 name:
858 description: Name is the name of resource being referenced
859 type: string
860 required:
861 - kind
862 - name
863 type: object
864 resources:
865 description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
866 properties:
867 limits:
868 additionalProperties:
869 anyOf:
870 - type: integer
871 - type: string
872 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
873 x-kubernetes-int-or-string: true
874 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
875 type: object
876 requests:
877 additionalProperties:
878 anyOf:
879 - type: integer
880 - type: string
881 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
882 x-kubernetes-int-or-string: true
883 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
884 type: object
885 type: object
886 selector:
887 description: A label query over volumes to consider for binding.
888 properties:
889 matchExpressions:
890 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
891 items:
892 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
893 properties:
894 key:
895 description: key is the label key that the selector applies to.
896 type: string
897 operator:
898 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
899 type: string
900 values:
901 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
902 items:
903 type: string
904 type: array
905 required:
906 - key
907 - operator
908 type: object
909 type: array
910 matchLabels:
911 additionalProperties:
912 type: string
913 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
914 type: object
915 type: object
916 storageClassName:
917 description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
918 type: string
919 volumeMode:
920 description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
921 type: string
922 volumeName:
923 description: VolumeName is the binding reference to the PersistentVolume backing this claim.
924 type: string
925 type: object
926 status:
927 description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
928 properties:
929 accessModes:
930 description: 'AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
931 items:
932 type: string
933 type: array
934 capacity:
935 additionalProperties:
936 anyOf:
937 - type: integer
938 - type: string
939 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
940 x-kubernetes-int-or-string: true
941 description: Represents the actual resources of the underlying volume.
942 type: object
943 conditions:
944 description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
945 items:
946 description: PersistentVolumeClaimCondition contails details about state of pvc
947 properties:
948 lastProbeTime:
949 description: Last time we probed the condition.
950 format: date-time
951 type: string
952 lastTransitionTime:
953 description: Last time the condition transitioned from one status to another.
954 format: date-time
955 type: string
956 message:
957 description: Human-readable message indicating details about last transition.
958 type: string
959 reason:
960 description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
961 type: string
962 status:
963 type: string
964 type:
965 description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
966 type: string
967 required:
968 - status
969 - type
970 type: object
971 type: array
972 phase:
973 description: Phase represents the current phase of PersistentVolumeClaim.
974 type: string
975 type: object
976 type: object
977 x-kubernetes-preserve-unknown-fields: true
978 type: object
979 nullable: true
980 type: array
981 type: object
982 volumeClaimTemplate:
983 description: VolumeClaimTemplate is the PVC definition
984 properties:
985 apiVersion:
986 description: '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'
987 type: string
988 kind:
989 description: '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'
990 type: string
991 metadata:
992 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
993 properties:
994 annotations:
995 additionalProperties:
996 type: string
997 type: object
998 finalizers:
999 items:
1000 type: string
1001 type: array
1002 labels:
1003 additionalProperties:
1004 type: string
1005 type: object
1006 name:
1007 type: string
1008 namespace:
1009 type: string
1010 type: object
1011 spec:
1012 description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
1013 properties:
1014 accessModes:
1015 description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
1016 items:
1017 type: string
1018 type: array
1019 dataSource:
1020 description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
1021 properties:
1022 apiGroup:
1023 description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
1024 type: string
1025 kind:
1026 description: Kind is the type of resource being referenced
1027 type: string
1028 name:
1029 description: Name is the name of resource being referenced
1030 type: string
1031 required:
1032 - kind
1033 - name
1034 type: object
1035 resources:
1036 description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
1037 properties:
1038 limits:
1039 additionalProperties:
1040 anyOf:
1041 - type: integer
1042 - type: string
1043 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1044 x-kubernetes-int-or-string: true
1045 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1046 type: object
1047 requests:
1048 additionalProperties:
1049 anyOf:
1050 - type: integer
1051 - type: string
1052 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1053 x-kubernetes-int-or-string: true
1054 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1055 type: object
1056 type: object
1057 selector:
1058 description: A label query over volumes to consider for binding.
1059 properties:
1060 matchExpressions:
1061 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1062 items:
1063 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1064 properties:
1065 key:
1066 description: key is the label key that the selector applies to.
1067 type: string
1068 operator:
1069 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1070 type: string
1071 values:
1072 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1073 items:
1074 type: string
1075 type: array
1076 required:
1077 - key
1078 - operator
1079 type: object
1080 type: array
1081 matchLabels:
1082 additionalProperties:
1083 type: string
1084 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1085 type: object
1086 type: object
1087 storageClassName:
1088 description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
1089 type: string
1090 volumeMode:
1091 description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
1092 type: string
1093 volumeName:
1094 description: VolumeName is the binding reference to the PersistentVolume backing this claim.
1095 type: string
1096 type: object
1097 status:
1098 description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
1099 properties:
1100 accessModes:
1101 description: 'AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
1102 items:
1103 type: string
1104 type: array
1105 capacity:
1106 additionalProperties:
1107 anyOf:
1108 - type: integer
1109 - type: string
1110 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1111 x-kubernetes-int-or-string: true
1112 description: Represents the actual resources of the underlying volume.
1113 type: object
1114 conditions:
1115 description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
1116 items:
1117 description: PersistentVolumeClaimCondition contails details about state of pvc
1118 properties:
1119 lastProbeTime:
1120 description: Last time we probed the condition.
1121 format: date-time
1122 type: string
1123 lastTransitionTime:
1124 description: Last time the condition transitioned from one status to another.
1125 format: date-time
1126 type: string
1127 message:
1128 description: Human-readable message indicating details about last transition.
1129 type: string
1130 reason:
1131 description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
1132 type: string
1133 status:
1134 type: string
1135 type:
1136 description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
1137 type: string
1138 required:
1139 - status
1140 - type
1141 type: object
1142 type: array
1143 phase:
1144 description: Phase represents the current phase of PersistentVolumeClaim.
1145 type: string
1146 type: object
1147 type: object
1148 x-kubernetes-preserve-unknown-fields: true
1149 type: object
1150 monitoring:
1151 description: Prometheus based Monitoring settings
1152 nullable: true
1153 properties:
1154 enabled:
1155 description: Enabled determines whether to create the prometheus rules for the ceph cluster. If true, the prometheus types must exist or the creation will fail.
1156 type: boolean
1157 externalMgrEndpoints:
1158 description: ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
1159 items:
1160 description: EndpointAddress is a tuple that describes single IP address.
1161 properties:
1162 hostname:
1163 description: The Hostname of this endpoint
1164 type: string
1165 ip:
1166 description: 'The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is also accepted but not fully supported on all platforms. Also, certain kubernetes components, like kube-proxy, are not IPv6 ready. TODO: This should allow hostname or IP, See #4447.'
1167 type: string
1168 nodeName:
1169 description: 'Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.'
1170 type: string
1171 targetRef:
1172 description: Reference to object providing the endpoint.
1173 properties:
1174 apiVersion:
1175 description: API version of the referent.
1176 type: string
1177 fieldPath:
1178 description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
1179 type: string
1180 kind:
1181 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
1182 type: string
1183 name:
1184 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
1185 type: string
1186 namespace:
1187 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
1188 type: string
1189 resourceVersion:
1190 description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
1191 type: string
1192 uid:
1193 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
1194 type: string
1195 type: object
1196 required:
1197 - ip
1198 type: object
1199 nullable: true
1200 type: array
1201 externalMgrPrometheusPort:
1202 description: ExternalMgrPrometheusPort Prometheus exporter port
1203 maximum: 65535
1204 minimum: 0
1205 type: integer
1206 rulesNamespace:
1207 description: RulesNamespace is the namespace where the prometheus rules and alerts should be created. If empty, the same namespace as the cluster will be used.
1208 type: string
1209 type: object
1210 network:
1211 description: Network related configuration
1212 nullable: true
1213 properties:
1214 dualStack:
1215 description: DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6
1216 type: boolean
1217 hostNetwork:
1218 description: HostNetwork to enable host network
1219 type: boolean
1220 ipFamily:
1221 default: IPv4
1222 description: IPFamily is the single stack IPv6 or IPv4 protocol
1223 enum:
1224 - IPv4
1225 - IPv6
1226 nullable: true
1227 type: string
1228 provider:
1229 description: Provider is what provides network connectivity to the cluster e.g. "host" or "multus"
1230 nullable: true
1231 type: string
1232 selectors:
1233 additionalProperties:
1234 type: string
1235 description: Selectors string values describe what networks will be used to connect the cluster. Meanwhile the keys describe each network respective responsibilities or any metadata storage provider decide.
1236 nullable: true
1237 type: object
1238 type: object
1239 x-kubernetes-preserve-unknown-fields: true
1240 placement:
1241 additionalProperties:
1242 description: Placement is the placement for an object
1243 properties:
1244 nodeAffinity:
1245 description: NodeAffinity is a group of node affinity scheduling rules
1246 properties:
1247 preferredDuringSchedulingIgnoredDuringExecution:
1248 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
1249 items:
1250 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
1251 properties:
1252 preference:
1253 description: A node selector term, associated with the corresponding weight.
1254 properties:
1255 matchExpressions:
1256 description: A list of node selector requirements by node's labels.
1257 items:
1258 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1259 properties:
1260 key:
1261 description: The label key that the selector applies to.
1262 type: string
1263 operator:
1264 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1265 type: string
1266 values:
1267 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
1268 items:
1269 type: string
1270 type: array
1271 required:
1272 - key
1273 - operator
1274 type: object
1275 type: array
1276 matchFields:
1277 description: A list of node selector requirements by node's fields.
1278 items:
1279 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1280 properties:
1281 key:
1282 description: The label key that the selector applies to.
1283 type: string
1284 operator:
1285 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1286 type: string
1287 values:
1288 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
1289 items:
1290 type: string
1291 type: array
1292 required:
1293 - key
1294 - operator
1295 type: object
1296 type: array
1297 type: object
1298 weight:
1299 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
1300 format: int32
1301 type: integer
1302 required:
1303 - preference
1304 - weight
1305 type: object
1306 type: array
1307 requiredDuringSchedulingIgnoredDuringExecution:
1308 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
1309 properties:
1310 nodeSelectorTerms:
1311 description: Required. A list of node selector terms. The terms are ORed.
1312 items:
1313 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
1314 properties:
1315 matchExpressions:
1316 description: A list of node selector requirements by node's labels.
1317 items:
1318 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1319 properties:
1320 key:
1321 description: The label key that the selector applies to.
1322 type: string
1323 operator:
1324 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1325 type: string
1326 values:
1327 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
1328 items:
1329 type: string
1330 type: array
1331 required:
1332 - key
1333 - operator
1334 type: object
1335 type: array
1336 matchFields:
1337 description: A list of node selector requirements by node's fields.
1338 items:
1339 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1340 properties:
1341 key:
1342 description: The label key that the selector applies to.
1343 type: string
1344 operator:
1345 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1346 type: string
1347 values:
1348 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
1349 items:
1350 type: string
1351 type: array
1352 required:
1353 - key
1354 - operator
1355 type: object
1356 type: array
1357 type: object
1358 type: array
1359 required:
1360 - nodeSelectorTerms
1361 type: object
1362 type: object
1363 podAffinity:
1364 description: PodAffinity is a group of inter pod affinity scheduling rules
1365 properties:
1366 preferredDuringSchedulingIgnoredDuringExecution:
1367 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
1368 items:
1369 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
1370 properties:
1371 podAffinityTerm:
1372 description: Required. A pod affinity term, associated with the corresponding weight.
1373 properties:
1374 labelSelector:
1375 description: A label query over a set of resources, in this case pods.
1376 properties:
1377 matchExpressions:
1378 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1379 items:
1380 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1381 properties:
1382 key:
1383 description: key is the label key that the selector applies to.
1384 type: string
1385 operator:
1386 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1387 type: string
1388 values:
1389 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1390 items:
1391 type: string
1392 type: array
1393 required:
1394 - key
1395 - operator
1396 type: object
1397 type: array
1398 matchLabels:
1399 additionalProperties:
1400 type: string
1401 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1402 type: object
1403 type: object
1404 namespaceSelector:
1405 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
1406 properties:
1407 matchExpressions:
1408 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1409 items:
1410 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1411 properties:
1412 key:
1413 description: key is the label key that the selector applies to.
1414 type: string
1415 operator:
1416 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1417 type: string
1418 values:
1419 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1420 items:
1421 type: string
1422 type: array
1423 required:
1424 - key
1425 - operator
1426 type: object
1427 type: array
1428 matchLabels:
1429 additionalProperties:
1430 type: string
1431 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1432 type: object
1433 type: object
1434 namespaces:
1435 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
1436 items:
1437 type: string
1438 type: array
1439 topologyKey:
1440 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
1441 type: string
1442 required:
1443 - topologyKey
1444 type: object
1445 weight:
1446 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
1447 format: int32
1448 type: integer
1449 required:
1450 - podAffinityTerm
1451 - weight
1452 type: object
1453 type: array
1454 requiredDuringSchedulingIgnoredDuringExecution:
1455 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
1456 items:
1457 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
1458 properties:
1459 labelSelector:
1460 description: A label query over a set of resources, in this case pods.
1461 properties:
1462 matchExpressions:
1463 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1464 items:
1465 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1466 properties:
1467 key:
1468 description: key is the label key that the selector applies to.
1469 type: string
1470 operator:
1471 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1472 type: string
1473 values:
1474 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1475 items:
1476 type: string
1477 type: array
1478 required:
1479 - key
1480 - operator
1481 type: object
1482 type: array
1483 matchLabels:
1484 additionalProperties:
1485 type: string
1486 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1487 type: object
1488 type: object
1489 namespaceSelector:
1490 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
1491 properties:
1492 matchExpressions:
1493 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1494 items:
1495 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1496 properties:
1497 key:
1498 description: key is the label key that the selector applies to.
1499 type: string
1500 operator:
1501 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1502 type: string
1503 values:
1504 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1505 items:
1506 type: string
1507 type: array
1508 required:
1509 - key
1510 - operator
1511 type: object
1512 type: array
1513 matchLabels:
1514 additionalProperties:
1515 type: string
1516 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1517 type: object
1518 type: object
1519 namespaces:
1520 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
1521 items:
1522 type: string
1523 type: array
1524 topologyKey:
1525 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
1526 type: string
1527 required:
1528 - topologyKey
1529 type: object
1530 type: array
1531 type: object
1532 podAntiAffinity:
1533 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
1534 properties:
1535 preferredDuringSchedulingIgnoredDuringExecution:
1536 description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
1537 items:
1538 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
1539 properties:
1540 podAffinityTerm:
1541 description: Required. A pod affinity term, associated with the corresponding weight.
1542 properties:
1543 labelSelector:
1544 description: A label query over a set of resources, in this case pods.
1545 properties:
1546 matchExpressions:
1547 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1548 items:
1549 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1550 properties:
1551 key:
1552 description: key is the label key that the selector applies to.
1553 type: string
1554 operator:
1555 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1556 type: string
1557 values:
1558 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1559 items:
1560 type: string
1561 type: array
1562 required:
1563 - key
1564 - operator
1565 type: object
1566 type: array
1567 matchLabels:
1568 additionalProperties:
1569 type: string
1570 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1571 type: object
1572 type: object
1573 namespaceSelector:
1574 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
1575 properties:
1576 matchExpressions:
1577 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1578 items:
1579 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1580 properties:
1581 key:
1582 description: key is the label key that the selector applies to.
1583 type: string
1584 operator:
1585 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1586 type: string
1587 values:
1588 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1589 items:
1590 type: string
1591 type: array
1592 required:
1593 - key
1594 - operator
1595 type: object
1596 type: array
1597 matchLabels:
1598 additionalProperties:
1599 type: string
1600 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1601 type: object
1602 type: object
1603 namespaces:
1604 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
1605 items:
1606 type: string
1607 type: array
1608 topologyKey:
1609 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
1610 type: string
1611 required:
1612 - topologyKey
1613 type: object
1614 weight:
1615 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
1616 format: int32
1617 type: integer
1618 required:
1619 - podAffinityTerm
1620 - weight
1621 type: object
1622 type: array
1623 requiredDuringSchedulingIgnoredDuringExecution:
1624 description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
1625 items:
1626 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
1627 properties:
1628 labelSelector:
1629 description: A label query over a set of resources, in this case pods.
1630 properties:
1631 matchExpressions:
1632 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1633 items:
1634 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1635 properties:
1636 key:
1637 description: key is the label key that the selector applies to.
1638 type: string
1639 operator:
1640 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1641 type: string
1642 values:
1643 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1644 items:
1645 type: string
1646 type: array
1647 required:
1648 - key
1649 - operator
1650 type: object
1651 type: array
1652 matchLabels:
1653 additionalProperties:
1654 type: string
1655 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1656 type: object
1657 type: object
1658 namespaceSelector:
1659 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
1660 properties:
1661 matchExpressions:
1662 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1663 items:
1664 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1665 properties:
1666 key:
1667 description: key is the label key that the selector applies to.
1668 type: string
1669 operator:
1670 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1671 type: string
1672 values:
1673 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1674 items:
1675 type: string
1676 type: array
1677 required:
1678 - key
1679 - operator
1680 type: object
1681 type: array
1682 matchLabels:
1683 additionalProperties:
1684 type: string
1685 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1686 type: object
1687 type: object
1688 namespaces:
1689 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
1690 items:
1691 type: string
1692 type: array
1693 topologyKey:
1694 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
1695 type: string
1696 required:
1697 - topologyKey
1698 type: object
1699 type: array
1700 type: object
1701 tolerations:
1702 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
1703 items:
1704 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
1705 properties:
1706 effect:
1707 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
1708 type: string
1709 key:
1710 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
1711 type: string
1712 operator:
1713 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
1714 type: string
1715 tolerationSeconds:
1716 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
1717 format: int64
1718 type: integer
1719 value:
1720 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
1721 type: string
1722 type: object
1723 type: array
1724 topologySpreadConstraints:
1725 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
1726 items:
1727 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
1728 properties:
1729 labelSelector:
1730 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
1731 properties:
1732 matchExpressions:
1733 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1734 items:
1735 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1736 properties:
1737 key:
1738 description: key is the label key that the selector applies to.
1739 type: string
1740 operator:
1741 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1742 type: string
1743 values:
1744 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1745 items:
1746 type: string
1747 type: array
1748 required:
1749 - key
1750 - operator
1751 type: object
1752 type: array
1753 matchLabels:
1754 additionalProperties:
1755 type: string
1756 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1757 type: object
1758 type: object
1759 maxSkew:
1760 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
1761 format: int32
1762 type: integer
1763 topologyKey:
1764 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
1765 type: string
1766 whenUnsatisfiable:
1767 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
1768 type: string
1769 required:
1770 - maxSkew
1771 - topologyKey
1772 - whenUnsatisfiable
1773 type: object
1774 type: array
1775 type: object
1776 description: The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations).
1777 nullable: true
1778 type: object
1779 x-kubernetes-preserve-unknown-fields: true
1780 priorityClassNames:
1781 additionalProperties:
1782 type: string
1783 description: PriorityClassNames sets priority classes on components
1784 nullable: true
1785 type: object
1786 x-kubernetes-preserve-unknown-fields: true
1787 removeOSDsIfOutAndSafeToRemove:
1788 description: Remove the OSD that is out and safe to remove only if this option is true
1789 type: boolean
1790 resources:
1791 additionalProperties:
1792 description: ResourceRequirements describes the compute resource requirements.
1793 properties:
1794 limits:
1795 additionalProperties:
1796 anyOf:
1797 - type: integer
1798 - type: string
1799 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1800 x-kubernetes-int-or-string: true
1801 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1802 type: object
1803 requests:
1804 additionalProperties:
1805 anyOf:
1806 - type: integer
1807 - type: string
1808 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1809 x-kubernetes-int-or-string: true
1810 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1811 type: object
1812 type: object
1813 description: Resources set resource requests and limits
1814 nullable: true
1815 type: object
1816 x-kubernetes-preserve-unknown-fields: true
1817 security:
1818 description: Security represents security settings
1819 nullable: true
1820 properties:
1821 kms:
1822 description: KeyManagementService is the main Key Management option
1823 nullable: true
1824 properties:
1825 connectionDetails:
1826 additionalProperties:
1827 type: string
1828 description: ConnectionDetails contains the KMS connection details (address, port etc)
1829 nullable: true
1830 type: object
1831 x-kubernetes-preserve-unknown-fields: true
1832 tokenSecretName:
1833 description: TokenSecretName is the kubernetes secret containing the KMS token
1834 type: string
1835 type: object
1836 type: object
1837 skipUpgradeChecks:
1838 description: SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails
1839 type: boolean
1840 storage:
1841 description: A spec for available storage in the cluster and how it should be used
1842 nullable: true
1843 properties:
1844 config:
1845 additionalProperties:
1846 type: string
1847 nullable: true
1848 type: object
1849 x-kubernetes-preserve-unknown-fields: true
1850 deviceFilter:
1851 description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
1852 type: string
1853 devicePathFilter:
1854 description: A regular expression to allow more fine-grained selection of devices with path names
1855 type: string
1856 devices:
1857 description: List of devices to use as storage devices
1858 items:
1859 description: Device represents a disk to use in the cluster
1860 properties:
1861 config:
1862 additionalProperties:
1863 type: string
1864 nullable: true
1865 type: object
1866 x-kubernetes-preserve-unknown-fields: true
1867 fullpath:
1868 type: string
1869 name:
1870 type: string
1871 type: object
1872 nullable: true
1873 type: array
1874 x-kubernetes-preserve-unknown-fields: true
1875 nodes:
1876 items:
1877 description: Node is a storage nodes
1878 properties:
1879 config:
1880 additionalProperties:
1881 type: string
1882 nullable: true
1883 type: object
1884 x-kubernetes-preserve-unknown-fields: true
1885 deviceFilter:
1886 description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
1887 type: string
1888 devicePathFilter:
1889 description: A regular expression to allow more fine-grained selection of devices with path names
1890 type: string
1891 devices:
1892 description: List of devices to use as storage devices
1893 items:
1894 description: Device represents a disk to use in the cluster
1895 properties:
1896 config:
1897 additionalProperties:
1898 type: string
1899 nullable: true
1900 type: object
1901 x-kubernetes-preserve-unknown-fields: true
1902 fullpath:
1903 type: string
1904 name:
1905 type: string
1906 type: object
1907 nullable: true
1908 type: array
1909 x-kubernetes-preserve-unknown-fields: true
1910 name:
1911 type: string
1912 resources:
1913 description: ResourceRequirements describes the compute resource requirements.
1914 nullable: true
1915 properties:
1916 limits:
1917 additionalProperties:
1918 anyOf:
1919 - type: integer
1920 - type: string
1921 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1922 x-kubernetes-int-or-string: true
1923 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1924 type: object
1925 requests:
1926 additionalProperties:
1927 anyOf:
1928 - type: integer
1929 - type: string
1930 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1931 x-kubernetes-int-or-string: true
1932 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1933 type: object
1934 type: object
1935 x-kubernetes-preserve-unknown-fields: true
1936 useAllDevices:
1937 description: Whether to consume all the storage devices found on a machine
1938 type: boolean
1939 volumeClaimTemplates:
1940 description: PersistentVolumeClaims to use as storage
1941 items:
1942 description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
1943 properties:
1944 apiVersion:
1945 description: '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'
1946 type: string
1947 kind:
1948 description: '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'
1949 type: string
1950 metadata:
1951 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
1952 properties:
1953 annotations:
1954 additionalProperties:
1955 type: string
1956 type: object
1957 finalizers:
1958 items:
1959 type: string
1960 type: array
1961 labels:
1962 additionalProperties:
1963 type: string
1964 type: object
1965 name:
1966 type: string
1967 namespace:
1968 type: string
1969 type: object
1970 spec:
1971 description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
1972 properties:
1973 accessModes:
1974 description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
1975 items:
1976 type: string
1977 type: array
1978 dataSource:
1979 description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
1980 properties:
1981 apiGroup:
1982 description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
1983 type: string
1984 kind:
1985 description: Kind is the type of resource being referenced
1986 type: string
1987 name:
1988 description: Name is the name of resource being referenced
1989 type: string
1990 required:
1991 - kind
1992 - name
1993 type: object
1994 resources:
1995 description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
1996 properties:
1997 limits:
1998 additionalProperties:
1999 anyOf:
2000 - type: integer
2001 - type: string
2002 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2003 x-kubernetes-int-or-string: true
2004 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
2005 type: object
2006 requests:
2007 additionalProperties:
2008 anyOf:
2009 - type: integer
2010 - type: string
2011 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2012 x-kubernetes-int-or-string: true
2013 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
2014 type: object
2015 type: object
2016 selector:
2017 description: A label query over volumes to consider for binding.
2018 properties:
2019 matchExpressions:
2020 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2021 items:
2022 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2023 properties:
2024 key:
2025 description: key is the label key that the selector applies to.
2026 type: string
2027 operator:
2028 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2029 type: string
2030 values:
2031 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2032 items:
2033 type: string
2034 type: array
2035 required:
2036 - key
2037 - operator
2038 type: object
2039 type: array
2040 matchLabels:
2041 additionalProperties:
2042 type: string
2043 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2044 type: object
2045 type: object
2046 storageClassName:
2047 description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
2048 type: string
2049 volumeMode:
2050 description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
2051 type: string
2052 volumeName:
2053 description: VolumeName is the binding reference to the PersistentVolume backing this claim.
2054 type: string
2055 type: object
2056 status:
2057 description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
2058 properties:
2059 accessModes:
2060 description: 'AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
2061 items:
2062 type: string
2063 type: array
2064 capacity:
2065 additionalProperties:
2066 anyOf:
2067 - type: integer
2068 - type: string
2069 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2070 x-kubernetes-int-or-string: true
2071 description: Represents the actual resources of the underlying volume.
2072 type: object
2073 conditions:
2074 description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
2075 items:
2076 description: PersistentVolumeClaimCondition contails details about state of pvc
2077 properties:
2078 lastProbeTime:
2079 description: Last time we probed the condition.
2080 format: date-time
2081 type: string
2082 lastTransitionTime:
2083 description: Last time the condition transitioned from one status to another.
2084 format: date-time
2085 type: string
2086 message:
2087 description: Human-readable message indicating details about last transition.
2088 type: string
2089 reason:
2090 description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
2091 type: string
2092 status:
2093 type: string
2094 type:
2095 description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
2096 type: string
2097 required:
2098 - status
2099 - type
2100 type: object
2101 type: array
2102 phase:
2103 description: Phase represents the current phase of PersistentVolumeClaim.
2104 type: string
2105 type: object
2106 type: object
2107 type: array
2108 type: object
2109 nullable: true
2110 type: array
2111 onlyApplyOSDPlacement:
2112 type: boolean
2113 storageClassDeviceSets:
2114 items:
2115 description: StorageClassDeviceSet is a storage class device set
2116 properties:
2117 config:
2118 additionalProperties:
2119 type: string
2120 description: Provider-specific device configuration
2121 nullable: true
2122 type: object
2123 x-kubernetes-preserve-unknown-fields: true
2124 count:
2125 description: Count is the number of devices in this set
2126 minimum: 1
2127 type: integer
2128 encrypted:
2129 description: Whether to encrypt the deviceSet
2130 type: boolean
2131 name:
2132 description: Name is a unique identifier for the set
2133 type: string
2134 placement:
2135 description: Placement is the placement for an object
2136 nullable: true
2137 properties:
2138 nodeAffinity:
2139 description: NodeAffinity is a group of node affinity scheduling rules
2140 properties:
2141 preferredDuringSchedulingIgnoredDuringExecution:
2142 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
2143 items:
2144 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
2145 properties:
2146 preference:
2147 description: A node selector term, associated with the corresponding weight.
2148 properties:
2149 matchExpressions:
2150 description: A list of node selector requirements by node's labels.
2151 items:
2152 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2153 properties:
2154 key:
2155 description: The label key that the selector applies to.
2156 type: string
2157 operator:
2158 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2159 type: string
2160 values:
2161 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2162 items:
2163 type: string
2164 type: array
2165 required:
2166 - key
2167 - operator
2168 type: object
2169 type: array
2170 matchFields:
2171 description: A list of node selector requirements by node's fields.
2172 items:
2173 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2174 properties:
2175 key:
2176 description: The label key that the selector applies to.
2177 type: string
2178 operator:
2179 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2180 type: string
2181 values:
2182 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2183 items:
2184 type: string
2185 type: array
2186 required:
2187 - key
2188 - operator
2189 type: object
2190 type: array
2191 type: object
2192 weight:
2193 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
2194 format: int32
2195 type: integer
2196 required:
2197 - preference
2198 - weight
2199 type: object
2200 type: array
2201 requiredDuringSchedulingIgnoredDuringExecution:
2202 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
2203 properties:
2204 nodeSelectorTerms:
2205 description: Required. A list of node selector terms. The terms are ORed.
2206 items:
2207 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
2208 properties:
2209 matchExpressions:
2210 description: A list of node selector requirements by node's labels.
2211 items:
2212 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2213 properties:
2214 key:
2215 description: The label key that the selector applies to.
2216 type: string
2217 operator:
2218 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2219 type: string
2220 values:
2221 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2222 items:
2223 type: string
2224 type: array
2225 required:
2226 - key
2227 - operator
2228 type: object
2229 type: array
2230 matchFields:
2231 description: A list of node selector requirements by node's fields.
2232 items:
2233 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2234 properties:
2235 key:
2236 description: The label key that the selector applies to.
2237 type: string
2238 operator:
2239 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2240 type: string
2241 values:
2242 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2243 items:
2244 type: string
2245 type: array
2246 required:
2247 - key
2248 - operator
2249 type: object
2250 type: array
2251 type: object
2252 type: array
2253 required:
2254 - nodeSelectorTerms
2255 type: object
2256 type: object
2257 podAffinity:
2258 description: PodAffinity is a group of inter pod affinity scheduling rules
2259 properties:
2260 preferredDuringSchedulingIgnoredDuringExecution:
2261 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
2262 items:
2263 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
2264 properties:
2265 podAffinityTerm:
2266 description: Required. A pod affinity term, associated with the corresponding weight.
2267 properties:
2268 labelSelector:
2269 description: A label query over a set of resources, in this case pods.
2270 properties:
2271 matchExpressions:
2272 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2273 items:
2274 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2275 properties:
2276 key:
2277 description: key is the label key that the selector applies to.
2278 type: string
2279 operator:
2280 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2281 type: string
2282 values:
2283 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2284 items:
2285 type: string
2286 type: array
2287 required:
2288 - key
2289 - operator
2290 type: object
2291 type: array
2292 matchLabels:
2293 additionalProperties:
2294 type: string
2295 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2296 type: object
2297 type: object
2298 namespaceSelector:
2299 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2300 properties:
2301 matchExpressions:
2302 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2303 items:
2304 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2305 properties:
2306 key:
2307 description: key is the label key that the selector applies to.
2308 type: string
2309 operator:
2310 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2311 type: string
2312 values:
2313 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2314 items:
2315 type: string
2316 type: array
2317 required:
2318 - key
2319 - operator
2320 type: object
2321 type: array
2322 matchLabels:
2323 additionalProperties:
2324 type: string
2325 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2326 type: object
2327 type: object
2328 namespaces:
2329 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2330 items:
2331 type: string
2332 type: array
2333 topologyKey:
2334 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
2335 type: string
2336 required:
2337 - topologyKey
2338 type: object
2339 weight:
2340 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
2341 format: int32
2342 type: integer
2343 required:
2344 - podAffinityTerm
2345 - weight
2346 type: object
2347 type: array
2348 requiredDuringSchedulingIgnoredDuringExecution:
2349 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
2350 items:
2351 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
2352 properties:
2353 labelSelector:
2354 description: A label query over a set of resources, in this case pods.
2355 properties:
2356 matchExpressions:
2357 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2358 items:
2359 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2360 properties:
2361 key:
2362 description: key is the label key that the selector applies to.
2363 type: string
2364 operator:
2365 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2366 type: string
2367 values:
2368 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2369 items:
2370 type: string
2371 type: array
2372 required:
2373 - key
2374 - operator
2375 type: object
2376 type: array
2377 matchLabels:
2378 additionalProperties:
2379 type: string
2380 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2381 type: object
2382 type: object
2383 namespaceSelector:
2384 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2385 properties:
2386 matchExpressions:
2387 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2388 items:
2389 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2390 properties:
2391 key:
2392 description: key is the label key that the selector applies to.
2393 type: string
2394 operator:
2395 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2396 type: string
2397 values:
2398 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2399 items:
2400 type: string
2401 type: array
2402 required:
2403 - key
2404 - operator
2405 type: object
2406 type: array
2407 matchLabels:
2408 additionalProperties:
2409 type: string
2410 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2411 type: object
2412 type: object
2413 namespaces:
2414 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2415 items:
2416 type: string
2417 type: array
2418 topologyKey:
2419 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
2420 type: string
2421 required:
2422 - topologyKey
2423 type: object
2424 type: array
2425 type: object
2426 podAntiAffinity:
2427 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
2428 properties:
2429 preferredDuringSchedulingIgnoredDuringExecution:
2430 description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
2431 items:
2432 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
2433 properties:
2434 podAffinityTerm:
2435 description: Required. A pod affinity term, associated with the corresponding weight.
2436 properties:
2437 labelSelector:
2438 description: A label query over a set of resources, in this case pods.
2439 properties:
2440 matchExpressions:
2441 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2442 items:
2443 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2444 properties:
2445 key:
2446 description: key is the label key that the selector applies to.
2447 type: string
2448 operator:
2449 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2450 type: string
2451 values:
2452 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2453 items:
2454 type: string
2455 type: array
2456 required:
2457 - key
2458 - operator
2459 type: object
2460 type: array
2461 matchLabels:
2462 additionalProperties:
2463 type: string
2464 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2465 type: object
2466 type: object
2467 namespaceSelector:
2468 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2469 properties:
2470 matchExpressions:
2471 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2472 items:
2473 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2474 properties:
2475 key:
2476 description: key is the label key that the selector applies to.
2477 type: string
2478 operator:
2479 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2480 type: string
2481 values:
2482 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2483 items:
2484 type: string
2485 type: array
2486 required:
2487 - key
2488 - operator
2489 type: object
2490 type: array
2491 matchLabels:
2492 additionalProperties:
2493 type: string
2494 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2495 type: object
2496 type: object
2497 namespaces:
2498 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2499 items:
2500 type: string
2501 type: array
2502 topologyKey:
2503 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
2504 type: string
2505 required:
2506 - topologyKey
2507 type: object
2508 weight:
2509 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
2510 format: int32
2511 type: integer
2512 required:
2513 - podAffinityTerm
2514 - weight
2515 type: object
2516 type: array
2517 requiredDuringSchedulingIgnoredDuringExecution:
2518 description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
2519 items:
2520 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
2521 properties:
2522 labelSelector:
2523 description: A label query over a set of resources, in this case pods.
2524 properties:
2525 matchExpressions:
2526 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2527 items:
2528 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2529 properties:
2530 key:
2531 description: key is the label key that the selector applies to.
2532 type: string
2533 operator:
2534 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2535 type: string
2536 values:
2537 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2538 items:
2539 type: string
2540 type: array
2541 required:
2542 - key
2543 - operator
2544 type: object
2545 type: array
2546 matchLabels:
2547 additionalProperties:
2548 type: string
2549 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2550 type: object
2551 type: object
2552 namespaceSelector:
2553 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2554 properties:
2555 matchExpressions:
2556 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2557 items:
2558 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2559 properties:
2560 key:
2561 description: key is the label key that the selector applies to.
2562 type: string
2563 operator:
2564 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2565 type: string
2566 values:
2567 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2568 items:
2569 type: string
2570 type: array
2571 required:
2572 - key
2573 - operator
2574 type: object
2575 type: array
2576 matchLabels:
2577 additionalProperties:
2578 type: string
2579 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2580 type: object
2581 type: object
2582 namespaces:
2583 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2584 items:
2585 type: string
2586 type: array
2587 topologyKey:
2588 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
2589 type: string
2590 required:
2591 - topologyKey
2592 type: object
2593 type: array
2594 type: object
2595 tolerations:
2596 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
2597 items:
2598 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
2599 properties:
2600 effect:
2601 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
2602 type: string
2603 key:
2604 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
2605 type: string
2606 operator:
2607 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
2608 type: string
2609 tolerationSeconds:
2610 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
2611 format: int64
2612 type: integer
2613 value:
2614 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
2615 type: string
2616 type: object
2617 type: array
2618 topologySpreadConstraints:
2619 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
2620 items:
2621 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
2622 properties:
2623 labelSelector:
2624 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
2625 properties:
2626 matchExpressions:
2627 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2628 items:
2629 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2630 properties:
2631 key:
2632 description: key is the label key that the selector applies to.
2633 type: string
2634 operator:
2635 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2636 type: string
2637 values:
2638 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2639 items:
2640 type: string
2641 type: array
2642 required:
2643 - key
2644 - operator
2645 type: object
2646 type: array
2647 matchLabels:
2648 additionalProperties:
2649 type: string
2650 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2651 type: object
2652 type: object
2653 maxSkew:
2654 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
2655 format: int32
2656 type: integer
2657 topologyKey:
2658 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
2659 type: string
2660 whenUnsatisfiable:
2661 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
2662 type: string
2663 required:
2664 - maxSkew
2665 - topologyKey
2666 - whenUnsatisfiable
2667 type: object
2668 type: array
2669 type: object
2670 x-kubernetes-preserve-unknown-fields: true
2671 portable:
2672 description: Portable represents OSD portability across the hosts
2673 type: boolean
2674 preparePlacement:
2675 description: Placement is the placement for an object
2676 nullable: true
2677 properties:
2678 nodeAffinity:
2679 description: NodeAffinity is a group of node affinity scheduling rules
2680 properties:
2681 preferredDuringSchedulingIgnoredDuringExecution:
2682 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
2683 items:
2684 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
2685 properties:
2686 preference:
2687 description: A node selector term, associated with the corresponding weight.
2688 properties:
2689 matchExpressions:
2690 description: A list of node selector requirements by node's labels.
2691 items:
2692 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2693 properties:
2694 key:
2695 description: The label key that the selector applies to.
2696 type: string
2697 operator:
2698 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2699 type: string
2700 values:
2701 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2702 items:
2703 type: string
2704 type: array
2705 required:
2706 - key
2707 - operator
2708 type: object
2709 type: array
2710 matchFields:
2711 description: A list of node selector requirements by node's fields.
2712 items:
2713 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2714 properties:
2715 key:
2716 description: The label key that the selector applies to.
2717 type: string
2718 operator:
2719 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2720 type: string
2721 values:
2722 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2723 items:
2724 type: string
2725 type: array
2726 required:
2727 - key
2728 - operator
2729 type: object
2730 type: array
2731 type: object
2732 weight:
2733 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
2734 format: int32
2735 type: integer
2736 required:
2737 - preference
2738 - weight
2739 type: object
2740 type: array
2741 requiredDuringSchedulingIgnoredDuringExecution:
2742 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
2743 properties:
2744 nodeSelectorTerms:
2745 description: Required. A list of node selector terms. The terms are ORed.
2746 items:
2747 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
2748 properties:
2749 matchExpressions:
2750 description: A list of node selector requirements by node's labels.
2751 items:
2752 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2753 properties:
2754 key:
2755 description: The label key that the selector applies to.
2756 type: string
2757 operator:
2758 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2759 type: string
2760 values:
2761 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2762 items:
2763 type: string
2764 type: array
2765 required:
2766 - key
2767 - operator
2768 type: object
2769 type: array
2770 matchFields:
2771 description: A list of node selector requirements by node's fields.
2772 items:
2773 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2774 properties:
2775 key:
2776 description: The label key that the selector applies to.
2777 type: string
2778 operator:
2779 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2780 type: string
2781 values:
2782 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2783 items:
2784 type: string
2785 type: array
2786 required:
2787 - key
2788 - operator
2789 type: object
2790 type: array
2791 type: object
2792 type: array
2793 required:
2794 - nodeSelectorTerms
2795 type: object
2796 type: object
2797 podAffinity:
2798 description: PodAffinity is a group of inter pod affinity scheduling rules
2799 properties:
2800 preferredDuringSchedulingIgnoredDuringExecution:
2801 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
2802 items:
2803 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
2804 properties:
2805 podAffinityTerm:
2806 description: Required. A pod affinity term, associated with the corresponding weight.
2807 properties:
2808 labelSelector:
2809 description: A label query over a set of resources, in this case pods.
2810 properties:
2811 matchExpressions:
2812 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2813 items:
2814 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2815 properties:
2816 key:
2817 description: key is the label key that the selector applies to.
2818 type: string
2819 operator:
2820 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2821 type: string
2822 values:
2823 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2824 items:
2825 type: string
2826 type: array
2827 required:
2828 - key
2829 - operator
2830 type: object
2831 type: array
2832 matchLabels:
2833 additionalProperties:
2834 type: string
2835 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2836 type: object
2837 type: object
2838 namespaceSelector:
2839 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2840 properties:
2841 matchExpressions:
2842 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2843 items:
2844 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2845 properties:
2846 key:
2847 description: key is the label key that the selector applies to.
2848 type: string
2849 operator:
2850 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2851 type: string
2852 values:
2853 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2854 items:
2855 type: string
2856 type: array
2857 required:
2858 - key
2859 - operator
2860 type: object
2861 type: array
2862 matchLabels:
2863 additionalProperties:
2864 type: string
2865 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2866 type: object
2867 type: object
2868 namespaces:
2869 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2870 items:
2871 type: string
2872 type: array
2873 topologyKey:
2874 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
2875 type: string
2876 required:
2877 - topologyKey
2878 type: object
2879 weight:
2880 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
2881 format: int32
2882 type: integer
2883 required:
2884 - podAffinityTerm
2885 - weight
2886 type: object
2887 type: array
2888 requiredDuringSchedulingIgnoredDuringExecution:
2889 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
2890 items:
2891 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
2892 properties:
2893 labelSelector:
2894 description: A label query over a set of resources, in this case pods.
2895 properties:
2896 matchExpressions:
2897 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2898 items:
2899 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2900 properties:
2901 key:
2902 description: key is the label key that the selector applies to.
2903 type: string
2904 operator:
2905 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2906 type: string
2907 values:
2908 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2909 items:
2910 type: string
2911 type: array
2912 required:
2913 - key
2914 - operator
2915 type: object
2916 type: array
2917 matchLabels:
2918 additionalProperties:
2919 type: string
2920 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2921 type: object
2922 type: object
2923 namespaceSelector:
2924 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2925 properties:
2926 matchExpressions:
2927 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2928 items:
2929 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2930 properties:
2931 key:
2932 description: key is the label key that the selector applies to.
2933 type: string
2934 operator:
2935 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2936 type: string
2937 values:
2938 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2939 items:
2940 type: string
2941 type: array
2942 required:
2943 - key
2944 - operator
2945 type: object
2946 type: array
2947 matchLabels:
2948 additionalProperties:
2949 type: string
2950 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2951 type: object
2952 type: object
2953 namespaces:
2954 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2955 items:
2956 type: string
2957 type: array
2958 topologyKey:
2959 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
2960 type: string
2961 required:
2962 - topologyKey
2963 type: object
2964 type: array
2965 type: object
2966 podAntiAffinity:
2967 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
2968 properties:
2969 preferredDuringSchedulingIgnoredDuringExecution:
2970 description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
2971 items:
2972 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
2973 properties:
2974 podAffinityTerm:
2975 description: Required. A pod affinity term, associated with the corresponding weight.
2976 properties:
2977 labelSelector:
2978 description: A label query over a set of resources, in this case pods.
2979 properties:
2980 matchExpressions:
2981 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2982 items:
2983 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2984 properties:
2985 key:
2986 description: key is the label key that the selector applies to.
2987 type: string
2988 operator:
2989 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2990 type: string
2991 values:
2992 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2993 items:
2994 type: string
2995 type: array
2996 required:
2997 - key
2998 - operator
2999 type: object
3000 type: array
3001 matchLabels:
3002 additionalProperties:
3003 type: string
3004 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3005 type: object
3006 type: object
3007 namespaceSelector:
3008 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
3009 properties:
3010 matchExpressions:
3011 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3012 items:
3013 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3014 properties:
3015 key:
3016 description: key is the label key that the selector applies to.
3017 type: string
3018 operator:
3019 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3020 type: string
3021 values:
3022 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3023 items:
3024 type: string
3025 type: array
3026 required:
3027 - key
3028 - operator
3029 type: object
3030 type: array
3031 matchLabels:
3032 additionalProperties:
3033 type: string
3034 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3035 type: object
3036 type: object
3037 namespaces:
3038 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
3039 items:
3040 type: string
3041 type: array
3042 topologyKey:
3043 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
3044 type: string
3045 required:
3046 - topologyKey
3047 type: object
3048 weight:
3049 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
3050 format: int32
3051 type: integer
3052 required:
3053 - podAffinityTerm
3054 - weight
3055 type: object
3056 type: array
3057 requiredDuringSchedulingIgnoredDuringExecution:
3058 description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
3059 items:
3060 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
3061 properties:
3062 labelSelector:
3063 description: A label query over a set of resources, in this case pods.
3064 properties:
3065 matchExpressions:
3066 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3067 items:
3068 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3069 properties:
3070 key:
3071 description: key is the label key that the selector applies to.
3072 type: string
3073 operator:
3074 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3075 type: string
3076 values:
3077 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3078 items:
3079 type: string
3080 type: array
3081 required:
3082 - key
3083 - operator
3084 type: object
3085 type: array
3086 matchLabels:
3087 additionalProperties:
3088 type: string
3089 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3090 type: object
3091 type: object
3092 namespaceSelector:
3093 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
3094 properties:
3095 matchExpressions:
3096 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3097 items:
3098 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3099 properties:
3100 key:
3101 description: key is the label key that the selector applies to.
3102 type: string
3103 operator:
3104 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3105 type: string
3106 values:
3107 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3108 items:
3109 type: string
3110 type: array
3111 required:
3112 - key
3113 - operator
3114 type: object
3115 type: array
3116 matchLabels:
3117 additionalProperties:
3118 type: string
3119 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3120 type: object
3121 type: object
3122 namespaces:
3123 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
3124 items:
3125 type: string
3126 type: array
3127 topologyKey:
3128 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
3129 type: string
3130 required:
3131 - topologyKey
3132 type: object
3133 type: array
3134 type: object
3135 tolerations:
3136 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
3137 items:
3138 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
3139 properties:
3140 effect:
3141 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
3142 type: string
3143 key:
3144 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
3145 type: string
3146 operator:
3147 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
3148 type: string
3149 tolerationSeconds:
3150 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
3151 format: int64
3152 type: integer
3153 value:
3154 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
3155 type: string
3156 type: object
3157 type: array
3158 topologySpreadConstraints:
3159 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
3160 items:
3161 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
3162 properties:
3163 labelSelector:
3164 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
3165 properties:
3166 matchExpressions:
3167 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3168 items:
3169 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3170 properties:
3171 key:
3172 description: key is the label key that the selector applies to.
3173 type: string
3174 operator:
3175 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3176 type: string
3177 values:
3178 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3179 items:
3180 type: string
3181 type: array
3182 required:
3183 - key
3184 - operator
3185 type: object
3186 type: array
3187 matchLabels:
3188 additionalProperties:
3189 type: string
3190 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3191 type: object
3192 type: object
3193 maxSkew:
3194 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
3195 format: int32
3196 type: integer
3197 topologyKey:
3198 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
3199 type: string
3200 whenUnsatisfiable:
3201 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
3202 type: string
3203 required:
3204 - maxSkew
3205 - topologyKey
3206 - whenUnsatisfiable
3207 type: object
3208 type: array
3209 type: object
3210 x-kubernetes-preserve-unknown-fields: true
3211 resources:
3212 description: ResourceRequirements describes the compute resource requirements.
3213 nullable: true
3214 properties:
3215 limits:
3216 additionalProperties:
3217 anyOf:
3218 - type: integer
3219 - type: string
3220 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3221 x-kubernetes-int-or-string: true
3222 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3223 type: object
3224 requests:
3225 additionalProperties:
3226 anyOf:
3227 - type: integer
3228 - type: string
3229 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3230 x-kubernetes-int-or-string: true
3231 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3232 type: object
3233 type: object
3234 x-kubernetes-preserve-unknown-fields: true
3235 schedulerName:
3236 description: Scheduler name for OSD pod placement
3237 type: string
3238 tuneDeviceClass:
3239 description: TuneSlowDeviceClass Tune the OSD when running on a slow Device Class
3240 type: boolean
3241 tuneFastDeviceClass:
3242 description: TuneFastDeviceClass Tune the OSD when running on a fast Device Class
3243 type: boolean
3244 volumeClaimTemplates:
3245 description: VolumeClaimTemplates is a list of PVC templates for the underlying storage devices
3246 items:
3247 description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
3248 properties:
3249 apiVersion:
3250 description: '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'
3251 type: string
3252 kind:
3253 description: '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'
3254 type: string
3255 metadata:
3256 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
3257 properties:
3258 annotations:
3259 additionalProperties:
3260 type: string
3261 type: object
3262 x-kubernetes-preserve-unknown-fields: true
3263 finalizers:
3264 items:
3265 type: string
3266 type: array
3267 labels:
3268 additionalProperties:
3269 type: string
3270 type: object
3271 name:
3272 type: string
3273 namespace:
3274 type: string
3275 type: object
3276 spec:
3277 description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
3278 properties:
3279 accessModes:
3280 description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
3281 items:
3282 type: string
3283 type: array
3284 dataSource:
3285 description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
3286 properties:
3287 apiGroup:
3288 description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
3289 type: string
3290 kind:
3291 description: Kind is the type of resource being referenced
3292 type: string
3293 name:
3294 description: Name is the name of resource being referenced
3295 type: string
3296 required:
3297 - kind
3298 - name
3299 type: object
3300 resources:
3301 description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
3302 properties:
3303 limits:
3304 additionalProperties:
3305 anyOf:
3306 - type: integer
3307 - type: string
3308 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3309 x-kubernetes-int-or-string: true
3310 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3311 type: object
3312 requests:
3313 additionalProperties:
3314 anyOf:
3315 - type: integer
3316 - type: string
3317 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3318 x-kubernetes-int-or-string: true
3319 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3320 type: object
3321 type: object
3322 selector:
3323 description: A label query over volumes to consider for binding.
3324 properties:
3325 matchExpressions:
3326 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3327 items:
3328 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3329 properties:
3330 key:
3331 description: key is the label key that the selector applies to.
3332 type: string
3333 operator:
3334 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3335 type: string
3336 values:
3337 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3338 items:
3339 type: string
3340 type: array
3341 required:
3342 - key
3343 - operator
3344 type: object
3345 type: array
3346 matchLabels:
3347 additionalProperties:
3348 type: string
3349 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3350 type: object
3351 type: object
3352 storageClassName:
3353 description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
3354 type: string
3355 volumeMode:
3356 description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
3357 type: string
3358 volumeName:
3359 description: VolumeName is the binding reference to the PersistentVolume backing this claim.
3360 type: string
3361 type: object
3362 status:
3363 description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
3364 properties:
3365 accessModes:
3366 description: 'AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
3367 items:
3368 type: string
3369 type: array
3370 capacity:
3371 additionalProperties:
3372 anyOf:
3373 - type: integer
3374 - type: string
3375 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3376 x-kubernetes-int-or-string: true
3377 description: Represents the actual resources of the underlying volume.
3378 type: object
3379 conditions:
3380 description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
3381 items:
3382 description: PersistentVolumeClaimCondition contails details about state of pvc
3383 properties:
3384 lastProbeTime:
3385 description: Last time we probed the condition.
3386 format: date-time
3387 type: string
3388 lastTransitionTime:
3389 description: Last time the condition transitioned from one status to another.
3390 format: date-time
3391 type: string
3392 message:
3393 description: Human-readable message indicating details about last transition.
3394 type: string
3395 reason:
3396 description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
3397 type: string
3398 status:
3399 type: string
3400 type:
3401 description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
3402 type: string
3403 required:
3404 - status
3405 - type
3406 type: object
3407 type: array
3408 phase:
3409 description: Phase represents the current phase of PersistentVolumeClaim.
3410 type: string
3411 type: object
3412 type: object
3413 type: array
3414 required:
3415 - count
3416 - name
3417 - volumeClaimTemplates
3418 type: object
3419 nullable: true
3420 type: array
3421 useAllDevices:
3422 description: Whether to consume all the storage devices found on a machine
3423 type: boolean
3424 useAllNodes:
3425 type: boolean
3426 volumeClaimTemplates:
3427 description: PersistentVolumeClaims to use as storage
3428 items:
3429 description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
3430 properties:
3431 apiVersion:
3432 description: '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'
3433 type: string
3434 kind:
3435 description: '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'
3436 type: string
3437 metadata:
3438 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
3439 properties:
3440 annotations:
3441 additionalProperties:
3442 type: string
3443 type: object
3444 finalizers:
3445 items:
3446 type: string
3447 type: array
3448 labels:
3449 additionalProperties:
3450 type: string
3451 type: object
3452 name:
3453 type: string
3454 namespace:
3455 type: string
3456 type: object
3457 spec:
3458 description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
3459 properties:
3460 accessModes:
3461 description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
3462 items:
3463 type: string
3464 type: array
3465 dataSource:
3466 description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
3467 properties:
3468 apiGroup:
3469 description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
3470 type: string
3471 kind:
3472 description: Kind is the type of resource being referenced
3473 type: string
3474 name:
3475 description: Name is the name of resource being referenced
3476 type: string
3477 required:
3478 - kind
3479 - name
3480 type: object
3481 resources:
3482 description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
3483 properties:
3484 limits:
3485 additionalProperties:
3486 anyOf:
3487 - type: integer
3488 - type: string
3489 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3490 x-kubernetes-int-or-string: true
3491 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3492 type: object
3493 requests:
3494 additionalProperties:
3495 anyOf:
3496 - type: integer
3497 - type: string
3498 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3499 x-kubernetes-int-or-string: true
3500 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3501 type: object
3502 type: object
3503 selector:
3504 description: A label query over volumes to consider for binding.
3505 properties:
3506 matchExpressions:
3507 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3508 items:
3509 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3510 properties:
3511 key:
3512 description: key is the label key that the selector applies to.
3513 type: string
3514 operator:
3515 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3516 type: string
3517 values:
3518 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3519 items:
3520 type: string
3521 type: array
3522 required:
3523 - key
3524 - operator
3525 type: object
3526 type: array
3527 matchLabels:
3528 additionalProperties:
3529 type: string
3530 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3531 type: object
3532 type: object
3533 storageClassName:
3534 description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
3535 type: string
3536 volumeMode:
3537 description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
3538 type: string
3539 volumeName:
3540 description: VolumeName is the binding reference to the PersistentVolume backing this claim.
3541 type: string
3542 type: object
3543 status:
3544 description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
3545 properties:
3546 accessModes:
3547 description: 'AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
3548 items:
3549 type: string
3550 type: array
3551 capacity:
3552 additionalProperties:
3553 anyOf:
3554 - type: integer
3555 - type: string
3556 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3557 x-kubernetes-int-or-string: true
3558 description: Represents the actual resources of the underlying volume.
3559 type: object
3560 conditions:
3561 description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
3562 items:
3563 description: PersistentVolumeClaimCondition contails details about state of pvc
3564 properties:
3565 lastProbeTime:
3566 description: Last time we probed the condition.
3567 format: date-time
3568 type: string
3569 lastTransitionTime:
3570 description: Last time the condition transitioned from one status to another.
3571 format: date-time
3572 type: string
3573 message:
3574 description: Human-readable message indicating details about last transition.
3575 type: string
3576 reason:
3577 description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
3578 type: string
3579 status:
3580 type: string
3581 type:
3582 description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
3583 type: string
3584 required:
3585 - status
3586 - type
3587 type: object
3588 type: array
3589 phase:
3590 description: Phase represents the current phase of PersistentVolumeClaim.
3591 type: string
3592 type: object
3593 type: object
3594 type: array
3595 type: object
3596 waitTimeoutForHealthyOSDInMinutes:
3597 description: WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stopped for upgrade or restart. If the timeout exceeds and OSD is not ok to stop, then the operator would skip upgrade for the current OSD and proceed with the next one if `continueUpgradeAfterChecksEvenIfNotHealthy` is `false`. If `continueUpgradeAfterChecksEvenIfNotHealthy` is `true`, then operator would continue with the upgrade of an OSD even if its not ok to stop after the timeout. This timeout won't be applied if `skipUpgradeChecks` is `true`. The default wait timeout is 10 minutes.
3598 format: int64
3599 type: integer
3600 type: object
3601 status:
3602 description: ClusterStatus represents the status of a Ceph cluster
3603 nullable: true
3604 properties:
3605 ceph:
3606 description: CephStatus is the details health of a Ceph Cluster
3607 properties:
3608 capacity:
3609 description: Capacity is the capacity information of a Ceph Cluster
3610 properties:
3611 bytesAvailable:
3612 format: int64
3613 type: integer
3614 bytesTotal:
3615 format: int64
3616 type: integer
3617 bytesUsed:
3618 format: int64
3619 type: integer
3620 lastUpdated:
3621 type: string
3622 type: object
3623 details:
3624 additionalProperties:
3625 description: CephHealthMessage represents the health message of a Ceph Cluster
3626 properties:
3627 message:
3628 type: string
3629 severity:
3630 type: string
3631 required:
3632 - message
3633 - severity
3634 type: object
3635 type: object
3636 health:
3637 type: string
3638 lastChanged:
3639 type: string
3640 lastChecked:
3641 type: string
3642 previousHealth:
3643 type: string
3644 versions:
3645 description: CephDaemonsVersions show the current ceph version for different ceph daemons
3646 properties:
3647 cephfs-mirror:
3648 additionalProperties:
3649 type: integer
3650 description: CephFSMirror shows CephFSMirror Ceph version
3651 type: object
3652 mds:
3653 additionalProperties:
3654 type: integer
3655 description: Mds shows Mds Ceph version
3656 type: object
3657 mgr:
3658 additionalProperties:
3659 type: integer
3660 description: Mgr shows Mgr Ceph version
3661 type: object
3662 mon:
3663 additionalProperties:
3664 type: integer
3665 description: Mon shows Mon Ceph version
3666 type: object
3667 osd:
3668 additionalProperties:
3669 type: integer
3670 description: Osd shows Osd Ceph version
3671 type: object
3672 overall:
3673 additionalProperties:
3674 type: integer
3675 description: Overall shows overall Ceph version
3676 type: object
3677 rbd-mirror:
3678 additionalProperties:
3679 type: integer
3680 description: RbdMirror shows RbdMirror Ceph version
3681 type: object
3682 rgw:
3683 additionalProperties:
3684 type: integer
3685 description: Rgw shows Rgw Ceph version
3686 type: object
3687 type: object
3688 type: object
3689 conditions:
3690 items:
3691 description: Condition represents
3692 properties:
3693 lastHeartbeatTime:
3694 format: date-time
3695 type: string
3696 lastTransitionTime:
3697 format: date-time
3698 type: string
3699 message:
3700 type: string
3701 reason:
3702 description: ClusterReasonType is cluster reason
3703 type: string
3704 status:
3705 type: string
3706 type:
3707 description: ConditionType represent a resource's status
3708 type: string
3709 type: object
3710 type: array
3711 message:
3712 type: string
3713 phase:
3714 description: ConditionType represent a resource's status
3715 type: string
3716 state:
3717 description: ClusterState represents the state of a Ceph Cluster
3718 type: string
3719 storage:
3720 description: CephStorage represents flavors of Ceph Cluster Storage
3721 properties:
3722 deviceClasses:
3723 items:
3724 description: DeviceClasses represents device classes of a Ceph Cluster
3725 properties:
3726 name:
3727 type: string
3728 type: object
3729 type: array
3730 type: object
3731 version:
3732 description: ClusterVersion represents the version of a Ceph Cluster
3733 properties:
3734 image:
3735 type: string
3736 version:
3737 type: string
3738 type: object
3739 type: object
3740 x-kubernetes-preserve-unknown-fields: true
3741 required:
3742 - metadata
3743 - spec
3744 type: object
3745 served: true
3746 storage: true
3747 subresources:
3748 status: {}
3749status:
3750 acceptedNames:
3751 kind: ""
3752 plural: ""
3753 conditions: []
3754 storedVersions: []
3755---
3756apiVersion: apiextensions.k8s.io/v1
3757kind: CustomResourceDefinition
3758metadata:
3759 annotations:
3760 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
3761 creationTimestamp: null
3762 name: cephfilesystemmirrors.ceph.rook.io
3763spec:
3764 group: ceph.rook.io
3765 names:
3766 kind: CephFilesystemMirror
3767 listKind: CephFilesystemMirrorList
3768 plural: cephfilesystemmirrors
3769 singular: cephfilesystemmirror
3770 scope: Namespaced
3771 versions:
3772 - name: v1
3773 schema:
3774 openAPIV3Schema:
3775 description: CephFilesystemMirror is the Ceph Filesystem Mirror object definition
3776 properties:
3777 apiVersion:
3778 description: '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'
3779 type: string
3780 kind:
3781 description: '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'
3782 type: string
3783 metadata:
3784 type: object
3785 spec:
3786 description: FilesystemMirroringSpec is the filesystem mirorring specification
3787 properties:
3788 annotations:
3789 additionalProperties:
3790 type: string
3791 description: The annotations-related configuration to add/set on each Pod related object.
3792 nullable: true
3793 type: object
3794 labels:
3795 additionalProperties:
3796 type: string
3797 description: The labels-related configuration to add/set on each Pod related object.
3798 nullable: true
3799 type: object
3800 placement:
3801 description: The affinity to place the rgw pods (default is to place on any available node)
3802 nullable: true
3803 properties:
3804 nodeAffinity:
3805 description: NodeAffinity is a group of node affinity scheduling rules
3806 properties:
3807 preferredDuringSchedulingIgnoredDuringExecution:
3808 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
3809 items:
3810 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
3811 properties:
3812 preference:
3813 description: A node selector term, associated with the corresponding weight.
3814 properties:
3815 matchExpressions:
3816 description: A list of node selector requirements by node's labels.
3817 items:
3818 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3819 properties:
3820 key:
3821 description: The label key that the selector applies to.
3822 type: string
3823 operator:
3824 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3825 type: string
3826 values:
3827 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
3828 items:
3829 type: string
3830 type: array
3831 required:
3832 - key
3833 - operator
3834 type: object
3835 type: array
3836 matchFields:
3837 description: A list of node selector requirements by node's fields.
3838 items:
3839 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3840 properties:
3841 key:
3842 description: The label key that the selector applies to.
3843 type: string
3844 operator:
3845 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3846 type: string
3847 values:
3848 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
3849 items:
3850 type: string
3851 type: array
3852 required:
3853 - key
3854 - operator
3855 type: object
3856 type: array
3857 type: object
3858 weight:
3859 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
3860 format: int32
3861 type: integer
3862 required:
3863 - preference
3864 - weight
3865 type: object
3866 type: array
3867 requiredDuringSchedulingIgnoredDuringExecution:
3868 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
3869 properties:
3870 nodeSelectorTerms:
3871 description: Required. A list of node selector terms. The terms are ORed.
3872 items:
3873 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
3874 properties:
3875 matchExpressions:
3876 description: A list of node selector requirements by node's labels.
3877 items:
3878 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3879 properties:
3880 key:
3881 description: The label key that the selector applies to.
3882 type: string
3883 operator:
3884 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3885 type: string
3886 values:
3887 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
3888 items:
3889 type: string
3890 type: array
3891 required:
3892 - key
3893 - operator
3894 type: object
3895 type: array
3896 matchFields:
3897 description: A list of node selector requirements by node's fields.
3898 items:
3899 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3900 properties:
3901 key:
3902 description: The label key that the selector applies to.
3903 type: string
3904 operator:
3905 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3906 type: string
3907 values:
3908 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
3909 items:
3910 type: string
3911 type: array
3912 required:
3913 - key
3914 - operator
3915 type: object
3916 type: array
3917 type: object
3918 type: array
3919 required:
3920 - nodeSelectorTerms
3921 type: object
3922 type: object
3923 podAffinity:
3924 description: PodAffinity is a group of inter pod affinity scheduling rules
3925 properties:
3926 preferredDuringSchedulingIgnoredDuringExecution:
3927 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
3928 items:
3929 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
3930 properties:
3931 podAffinityTerm:
3932 description: Required. A pod affinity term, associated with the corresponding weight.
3933 properties:
3934 labelSelector:
3935 description: A label query over a set of resources, in this case pods.
3936 properties:
3937 matchExpressions:
3938 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3939 items:
3940 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3941 properties:
3942 key:
3943 description: key is the label key that the selector applies to.
3944 type: string
3945 operator:
3946 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3947 type: string
3948 values:
3949 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3950 items:
3951 type: string
3952 type: array
3953 required:
3954 - key
3955 - operator
3956 type: object
3957 type: array
3958 matchLabels:
3959 additionalProperties:
3960 type: string
3961 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3962 type: object
3963 type: object
3964 namespaceSelector:
3965 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
3966 properties:
3967 matchExpressions:
3968 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3969 items:
3970 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3971 properties:
3972 key:
3973 description: key is the label key that the selector applies to.
3974 type: string
3975 operator:
3976 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3977 type: string
3978 values:
3979 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3980 items:
3981 type: string
3982 type: array
3983 required:
3984 - key
3985 - operator
3986 type: object
3987 type: array
3988 matchLabels:
3989 additionalProperties:
3990 type: string
3991 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3992 type: object
3993 type: object
3994 namespaces:
3995 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
3996 items:
3997 type: string
3998 type: array
3999 topologyKey:
4000 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
4001 type: string
4002 required:
4003 - topologyKey
4004 type: object
4005 weight:
4006 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
4007 format: int32
4008 type: integer
4009 required:
4010 - podAffinityTerm
4011 - weight
4012 type: object
4013 type: array
4014 requiredDuringSchedulingIgnoredDuringExecution:
4015 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
4016 items:
4017 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
4018 properties:
4019 labelSelector:
4020 description: A label query over a set of resources, in this case pods.
4021 properties:
4022 matchExpressions:
4023 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4024 items:
4025 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4026 properties:
4027 key:
4028 description: key is the label key that the selector applies to.
4029 type: string
4030 operator:
4031 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4032 type: string
4033 values:
4034 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4035 items:
4036 type: string
4037 type: array
4038 required:
4039 - key
4040 - operator
4041 type: object
4042 type: array
4043 matchLabels:
4044 additionalProperties:
4045 type: string
4046 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4047 type: object
4048 type: object
4049 namespaceSelector:
4050 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4051 properties:
4052 matchExpressions:
4053 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4054 items:
4055 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4056 properties:
4057 key:
4058 description: key is the label key that the selector applies to.
4059 type: string
4060 operator:
4061 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4062 type: string
4063 values:
4064 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4065 items:
4066 type: string
4067 type: array
4068 required:
4069 - key
4070 - operator
4071 type: object
4072 type: array
4073 matchLabels:
4074 additionalProperties:
4075 type: string
4076 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4077 type: object
4078 type: object
4079 namespaces:
4080 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
4081 items:
4082 type: string
4083 type: array
4084 topologyKey:
4085 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
4086 type: string
4087 required:
4088 - topologyKey
4089 type: object
4090 type: array
4091 type: object
4092 podAntiAffinity:
4093 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
4094 properties:
4095 preferredDuringSchedulingIgnoredDuringExecution:
4096 description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
4097 items:
4098 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
4099 properties:
4100 podAffinityTerm:
4101 description: Required. A pod affinity term, associated with the corresponding weight.
4102 properties:
4103 labelSelector:
4104 description: A label query over a set of resources, in this case pods.
4105 properties:
4106 matchExpressions:
4107 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4108 items:
4109 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4110 properties:
4111 key:
4112 description: key is the label key that the selector applies to.
4113 type: string
4114 operator:
4115 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4116 type: string
4117 values:
4118 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4119 items:
4120 type: string
4121 type: array
4122 required:
4123 - key
4124 - operator
4125 type: object
4126 type: array
4127 matchLabels:
4128 additionalProperties:
4129 type: string
4130 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4131 type: object
4132 type: object
4133 namespaceSelector:
4134 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4135 properties:
4136 matchExpressions:
4137 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4138 items:
4139 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4140 properties:
4141 key:
4142 description: key is the label key that the selector applies to.
4143 type: string
4144 operator:
4145 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4146 type: string
4147 values:
4148 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4149 items:
4150 type: string
4151 type: array
4152 required:
4153 - key
4154 - operator
4155 type: object
4156 type: array
4157 matchLabels:
4158 additionalProperties:
4159 type: string
4160 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4161 type: object
4162 type: object
4163 namespaces:
4164 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
4165 items:
4166 type: string
4167 type: array
4168 topologyKey:
4169 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
4170 type: string
4171 required:
4172 - topologyKey
4173 type: object
4174 weight:
4175 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
4176 format: int32
4177 type: integer
4178 required:
4179 - podAffinityTerm
4180 - weight
4181 type: object
4182 type: array
4183 requiredDuringSchedulingIgnoredDuringExecution:
4184 description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
4185 items:
4186 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
4187 properties:
4188 labelSelector:
4189 description: A label query over a set of resources, in this case pods.
4190 properties:
4191 matchExpressions:
4192 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4193 items:
4194 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4195 properties:
4196 key:
4197 description: key is the label key that the selector applies to.
4198 type: string
4199 operator:
4200 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4201 type: string
4202 values:
4203 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4204 items:
4205 type: string
4206 type: array
4207 required:
4208 - key
4209 - operator
4210 type: object
4211 type: array
4212 matchLabels:
4213 additionalProperties:
4214 type: string
4215 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4216 type: object
4217 type: object
4218 namespaceSelector:
4219 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4220 properties:
4221 matchExpressions:
4222 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4223 items:
4224 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4225 properties:
4226 key:
4227 description: key is the label key that the selector applies to.
4228 type: string
4229 operator:
4230 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4231 type: string
4232 values:
4233 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4234 items:
4235 type: string
4236 type: array
4237 required:
4238 - key
4239 - operator
4240 type: object
4241 type: array
4242 matchLabels:
4243 additionalProperties:
4244 type: string
4245 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4246 type: object
4247 type: object
4248 namespaces:
4249 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
4250 items:
4251 type: string
4252 type: array
4253 topologyKey:
4254 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
4255 type: string
4256 required:
4257 - topologyKey
4258 type: object
4259 type: array
4260 type: object
4261 tolerations:
4262 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
4263 items:
4264 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
4265 properties:
4266 effect:
4267 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
4268 type: string
4269 key:
4270 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
4271 type: string
4272 operator:
4273 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
4274 type: string
4275 tolerationSeconds:
4276 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
4277 format: int64
4278 type: integer
4279 value:
4280 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
4281 type: string
4282 type: object
4283 type: array
4284 topologySpreadConstraints:
4285 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
4286 items:
4287 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
4288 properties:
4289 labelSelector:
4290 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
4291 properties:
4292 matchExpressions:
4293 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4294 items:
4295 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4296 properties:
4297 key:
4298 description: key is the label key that the selector applies to.
4299 type: string
4300 operator:
4301 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4302 type: string
4303 values:
4304 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4305 items:
4306 type: string
4307 type: array
4308 required:
4309 - key
4310 - operator
4311 type: object
4312 type: array
4313 matchLabels:
4314 additionalProperties:
4315 type: string
4316 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4317 type: object
4318 type: object
4319 maxSkew:
4320 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
4321 format: int32
4322 type: integer
4323 topologyKey:
4324 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
4325 type: string
4326 whenUnsatisfiable:
4327 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
4328 type: string
4329 required:
4330 - maxSkew
4331 - topologyKey
4332 - whenUnsatisfiable
4333 type: object
4334 type: array
4335 type: object
4336 priorityClassName:
4337 description: PriorityClassName sets priority class on the cephfs-mirror pods
4338 type: string
4339 resources:
4340 description: The resource requirements for the cephfs-mirror pods
4341 nullable: true
4342 properties:
4343 limits:
4344 additionalProperties:
4345 anyOf:
4346 - type: integer
4347 - type: string
4348 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4349 x-kubernetes-int-or-string: true
4350 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
4351 type: object
4352 requests:
4353 additionalProperties:
4354 anyOf:
4355 - type: integer
4356 - type: string
4357 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4358 x-kubernetes-int-or-string: true
4359 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
4360 type: object
4361 type: object
4362 type: object
4363 status:
4364 description: Status represents the status of an object
4365 properties:
4366 phase:
4367 type: string
4368 type: object
4369 required:
4370 - metadata
4371 - spec
4372 type: object
4373 served: true
4374 storage: true
4375 subresources:
4376 status: {}
4377status:
4378 acceptedNames:
4379 kind: ""
4380 plural: ""
4381 conditions: []
4382 storedVersions: []
4383---
4384apiVersion: apiextensions.k8s.io/v1
4385kind: CustomResourceDefinition
4386metadata:
4387 annotations:
4388 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
4389 creationTimestamp: null
4390 name: cephfilesystems.ceph.rook.io
4391spec:
4392 group: ceph.rook.io
4393 names:
4394 kind: CephFilesystem
4395 listKind: CephFilesystemList
4396 plural: cephfilesystems
4397 singular: cephfilesystem
4398 scope: Namespaced
4399 versions:
4400 - additionalPrinterColumns:
4401 - description: Number of desired active MDS daemons
4402 jsonPath: .spec.metadataServer.activeCount
4403 name: ActiveMDS
4404 type: string
4405 - jsonPath: .metadata.creationTimestamp
4406 name: Age
4407 type: date
4408 - jsonPath: .status.phase
4409 name: Phase
4410 type: string
4411 name: v1
4412 schema:
4413 openAPIV3Schema:
4414 description: CephFilesystem represents a Ceph Filesystem
4415 properties:
4416 apiVersion:
4417 description: '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'
4418 type: string
4419 kind:
4420 description: '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'
4421 type: string
4422 metadata:
4423 type: object
4424 spec:
4425 description: FilesystemSpec represents the spec of a file system
4426 properties:
4427 dataPools:
4428 description: The data pool settings
4429 items:
4430 description: PoolSpec represents the spec of ceph pool
4431 properties:
4432 compressionMode:
4433 default: none
4434 description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
4435 enum:
4436 - none
4437 - passive
4438 - aggressive
4439 - force
4440 - ""
4441 nullable: true
4442 type: string
4443 crushRoot:
4444 description: The root of the crush hierarchy utilized by the pool
4445 nullable: true
4446 type: string
4447 deviceClass:
4448 description: The device class the OSD should set to for use in the pool
4449 nullable: true
4450 type: string
4451 enableRBDStats:
4452 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
4453 type: boolean
4454 erasureCoded:
4455 description: The erasure code settings
4456 properties:
4457 algorithm:
4458 description: The algorithm for erasure coding
4459 type: string
4460 codingChunks:
4461 description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
4462 maximum: 9
4463 minimum: 0
4464 type: integer
4465 dataChunks:
4466 description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
4467 maximum: 9
4468 minimum: 0
4469 type: integer
4470 required:
4471 - codingChunks
4472 - dataChunks
4473 type: object
4474 failureDomain:
4475 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
4476 type: string
4477 mirroring:
4478 description: The mirroring settings
4479 properties:
4480 enabled:
4481 description: Enabled whether this pool is mirrored or not
4482 type: boolean
4483 mode:
4484 description: 'Mode is the mirroring mode: either pool or image'
4485 type: string
4486 snapshotSchedules:
4487 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
4488 items:
4489 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
4490 properties:
4491 interval:
4492 description: Interval represent the periodicity of the snapshot.
4493 type: string
4494 startTime:
4495 description: StartTime indicates when to start the snapshot
4496 type: string
4497 type: object
4498 type: array
4499 type: object
4500 parameters:
4501 additionalProperties:
4502 type: string
4503 description: Parameters is a list of properties to enable on a given pool
4504 nullable: true
4505 type: object
4506 x-kubernetes-preserve-unknown-fields: true
4507 quotas:
4508 description: The quota settings
4509 nullable: true
4510 properties:
4511 maxBytes:
4512 description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
4513 format: int64
4514 type: integer
4515 maxObjects:
4516 description: MaxObjects represents the quota in objects
4517 format: int64
4518 type: integer
4519 maxSize:
4520 description: MaxSize represents the quota in bytes as a string
4521 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
4522 type: string
4523 type: object
4524 replicated:
4525 description: The replication settings
4526 properties:
4527 replicasPerFailureDomain:
4528 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
4529 minimum: 1
4530 type: integer
4531 requireSafeReplicaSize:
4532 description: RequireSafeReplicaSize if false allows you to set replica 1
4533 type: boolean
4534 size:
4535 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
4536 minimum: 0
4537 type: integer
4538 subFailureDomain:
4539 description: SubFailureDomain the name of the sub-failure domain
4540 type: string
4541 targetSizeRatio:
4542 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
4543 type: number
4544 required:
4545 - size
4546 type: object
4547 statusCheck:
4548 description: The mirroring statusCheck
4549 properties:
4550 mirror:
4551 description: HealthCheckSpec represents the health check of an object store bucket
4552 nullable: true
4553 properties:
4554 disabled:
4555 type: boolean
4556 interval:
4557 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
4558 type: string
4559 timeout:
4560 type: string
4561 type: object
4562 type: object
4563 x-kubernetes-preserve-unknown-fields: true
4564 type: object
4565 nullable: true
4566 type: array
4567 metadataPool:
4568 description: The metadata pool settings
4569 nullable: true
4570 properties:
4571 compressionMode:
4572 default: none
4573 description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
4574 enum:
4575 - none
4576 - passive
4577 - aggressive
4578 - force
4579 - ""
4580 nullable: true
4581 type: string
4582 crushRoot:
4583 description: The root of the crush hierarchy utilized by the pool
4584 nullable: true
4585 type: string
4586 deviceClass:
4587 description: The device class the OSD should set to for use in the pool
4588 nullable: true
4589 type: string
4590 enableRBDStats:
4591 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
4592 type: boolean
4593 erasureCoded:
4594 description: The erasure code settings
4595 properties:
4596 algorithm:
4597 description: The algorithm for erasure coding
4598 type: string
4599 codingChunks:
4600 description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
4601 maximum: 9
4602 minimum: 0
4603 type: integer
4604 dataChunks:
4605 description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
4606 maximum: 9
4607 minimum: 0
4608 type: integer
4609 required:
4610 - codingChunks
4611 - dataChunks
4612 type: object
4613 failureDomain:
4614 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
4615 type: string
4616 mirroring:
4617 description: The mirroring settings
4618 properties:
4619 enabled:
4620 description: Enabled whether this pool is mirrored or not
4621 type: boolean
4622 mode:
4623 description: 'Mode is the mirroring mode: either pool or image'
4624 type: string
4625 snapshotSchedules:
4626 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
4627 items:
4628 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
4629 properties:
4630 interval:
4631 description: Interval represent the periodicity of the snapshot.
4632 type: string
4633 startTime:
4634 description: StartTime indicates when to start the snapshot
4635 type: string
4636 type: object
4637 type: array
4638 type: object
4639 parameters:
4640 additionalProperties:
4641 type: string
4642 description: Parameters is a list of properties to enable on a given pool
4643 nullable: true
4644 type: object
4645 x-kubernetes-preserve-unknown-fields: true
4646 quotas:
4647 description: The quota settings
4648 nullable: true
4649 properties:
4650 maxBytes:
4651 description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
4652 format: int64
4653 type: integer
4654 maxObjects:
4655 description: MaxObjects represents the quota in objects
4656 format: int64
4657 type: integer
4658 maxSize:
4659 description: MaxSize represents the quota in bytes as a string
4660 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
4661 type: string
4662 type: object
4663 replicated:
4664 description: The replication settings
4665 properties:
4666 replicasPerFailureDomain:
4667 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
4668 minimum: 1
4669 type: integer
4670 requireSafeReplicaSize:
4671 description: RequireSafeReplicaSize if false allows you to set replica 1
4672 type: boolean
4673 size:
4674 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
4675 minimum: 0
4676 type: integer
4677 subFailureDomain:
4678 description: SubFailureDomain the name of the sub-failure domain
4679 type: string
4680 targetSizeRatio:
4681 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
4682 type: number
4683 required:
4684 - size
4685 type: object
4686 statusCheck:
4687 description: The mirroring statusCheck
4688 properties:
4689 mirror:
4690 description: HealthCheckSpec represents the health check of an object store bucket
4691 nullable: true
4692 properties:
4693 disabled:
4694 type: boolean
4695 interval:
4696 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
4697 type: string
4698 timeout:
4699 type: string
4700 type: object
4701 type: object
4702 x-kubernetes-preserve-unknown-fields: true
4703 type: object
4704 metadataServer:
4705 description: The mds pod info
4706 properties:
4707 activeCount:
4708 description: The number of metadata servers that are active. The remaining servers in the cluster will be in standby mode.
4709 format: int32
4710 maximum: 10
4711 minimum: 1
4712 type: integer
4713 activeStandby:
4714 description: Whether each active MDS instance will have an active standby with a warm metadata cache for faster failover. If false, standbys will still be available, but will not have a warm metadata cache.
4715 type: boolean
4716 annotations:
4717 additionalProperties:
4718 type: string
4719 description: The annotations-related configuration to add/set on each Pod related object.
4720 nullable: true
4721 type: object
4722 x-kubernetes-preserve-unknown-fields: true
4723 labels:
4724 additionalProperties:
4725 type: string
4726 description: The labels-related configuration to add/set on each Pod related object.
4727 nullable: true
4728 type: object
4729 x-kubernetes-preserve-unknown-fields: true
4730 placement:
4731 description: The affinity to place the mds pods (default is to place on all available node) with a daemonset
4732 nullable: true
4733 properties:
4734 nodeAffinity:
4735 description: NodeAffinity is a group of node affinity scheduling rules
4736 properties:
4737 preferredDuringSchedulingIgnoredDuringExecution:
4738 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
4739 items:
4740 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
4741 properties:
4742 preference:
4743 description: A node selector term, associated with the corresponding weight.
4744 properties:
4745 matchExpressions:
4746 description: A list of node selector requirements by node's labels.
4747 items:
4748 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4749 properties:
4750 key:
4751 description: The label key that the selector applies to.
4752 type: string
4753 operator:
4754 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4755 type: string
4756 values:
4757 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
4758 items:
4759 type: string
4760 type: array
4761 required:
4762 - key
4763 - operator
4764 type: object
4765 type: array
4766 matchFields:
4767 description: A list of node selector requirements by node's fields.
4768 items:
4769 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4770 properties:
4771 key:
4772 description: The label key that the selector applies to.
4773 type: string
4774 operator:
4775 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4776 type: string
4777 values:
4778 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
4779 items:
4780 type: string
4781 type: array
4782 required:
4783 - key
4784 - operator
4785 type: object
4786 type: array
4787 type: object
4788 weight:
4789 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
4790 format: int32
4791 type: integer
4792 required:
4793 - preference
4794 - weight
4795 type: object
4796 type: array
4797 requiredDuringSchedulingIgnoredDuringExecution:
4798 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
4799 properties:
4800 nodeSelectorTerms:
4801 description: Required. A list of node selector terms. The terms are ORed.
4802 items:
4803 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
4804 properties:
4805 matchExpressions:
4806 description: A list of node selector requirements by node's labels.
4807 items:
4808 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4809 properties:
4810 key:
4811 description: The label key that the selector applies to.
4812 type: string
4813 operator:
4814 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4815 type: string
4816 values:
4817 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
4818 items:
4819 type: string
4820 type: array
4821 required:
4822 - key
4823 - operator
4824 type: object
4825 type: array
4826 matchFields:
4827 description: A list of node selector requirements by node's fields.
4828 items:
4829 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4830 properties:
4831 key:
4832 description: The label key that the selector applies to.
4833 type: string
4834 operator:
4835 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4836 type: string
4837 values:
4838 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
4839 items:
4840 type: string
4841 type: array
4842 required:
4843 - key
4844 - operator
4845 type: object
4846 type: array
4847 type: object
4848 type: array
4849 required:
4850 - nodeSelectorTerms
4851 type: object
4852 type: object
4853 podAffinity:
4854 description: PodAffinity is a group of inter pod affinity scheduling rules
4855 properties:
4856 preferredDuringSchedulingIgnoredDuringExecution:
4857 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
4858 items:
4859 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
4860 properties:
4861 podAffinityTerm:
4862 description: Required. A pod affinity term, associated with the corresponding weight.
4863 properties:
4864 labelSelector:
4865 description: A label query over a set of resources, in this case pods.
4866 properties:
4867 matchExpressions:
4868 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4869 items:
4870 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4871 properties:
4872 key:
4873 description: key is the label key that the selector applies to.
4874 type: string
4875 operator:
4876 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4877 type: string
4878 values:
4879 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4880 items:
4881 type: string
4882 type: array
4883 required:
4884 - key
4885 - operator
4886 type: object
4887 type: array
4888 matchLabels:
4889 additionalProperties:
4890 type: string
4891 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4892 type: object
4893 type: object
4894 namespaceSelector:
4895 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4896 properties:
4897 matchExpressions:
4898 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4899 items:
4900 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4901 properties:
4902 key:
4903 description: key is the label key that the selector applies to.
4904 type: string
4905 operator:
4906 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4907 type: string
4908 values:
4909 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4910 items:
4911 type: string
4912 type: array
4913 required:
4914 - key
4915 - operator
4916 type: object
4917 type: array
4918 matchLabels:
4919 additionalProperties:
4920 type: string
4921 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4922 type: object
4923 type: object
4924 namespaces:
4925 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
4926 items:
4927 type: string
4928 type: array
4929 topologyKey:
4930 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
4931 type: string
4932 required:
4933 - topologyKey
4934 type: object
4935 weight:
4936 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
4937 format: int32
4938 type: integer
4939 required:
4940 - podAffinityTerm
4941 - weight
4942 type: object
4943 type: array
4944 requiredDuringSchedulingIgnoredDuringExecution:
4945 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
4946 items:
4947 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
4948 properties:
4949 labelSelector:
4950 description: A label query over a set of resources, in this case pods.
4951 properties:
4952 matchExpressions:
4953 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4954 items:
4955 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4956 properties:
4957 key:
4958 description: key is the label key that the selector applies to.
4959 type: string
4960 operator:
4961 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4962 type: string
4963 values:
4964 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4965 items:
4966 type: string
4967 type: array
4968 required:
4969 - key
4970 - operator
4971 type: object
4972 type: array
4973 matchLabels:
4974 additionalProperties:
4975 type: string
4976 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4977 type: object
4978 type: object
4979 namespaceSelector:
4980 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4981 properties:
4982 matchExpressions:
4983 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4984 items:
4985 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4986 properties:
4987 key:
4988 description: key is the label key that the selector applies to.
4989 type: string
4990 operator:
4991 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4992 type: string
4993 values:
4994 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4995 items:
4996 type: string
4997 type: array
4998 required:
4999 - key
5000 - operator
5001 type: object
5002 type: array
5003 matchLabels:
5004 additionalProperties:
5005 type: string
5006 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5007 type: object
5008 type: object
5009 namespaces:
5010 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5011 items:
5012 type: string
5013 type: array
5014 topologyKey:
5015 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
5016 type: string
5017 required:
5018 - topologyKey
5019 type: object
5020 type: array
5021 type: object
5022 podAntiAffinity:
5023 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
5024 properties:
5025 preferredDuringSchedulingIgnoredDuringExecution:
5026 description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
5027 items:
5028 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
5029 properties:
5030 podAffinityTerm:
5031 description: Required. A pod affinity term, associated with the corresponding weight.
5032 properties:
5033 labelSelector:
5034 description: A label query over a set of resources, in this case pods.
5035 properties:
5036 matchExpressions:
5037 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5038 items:
5039 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5040 properties:
5041 key:
5042 description: key is the label key that the selector applies to.
5043 type: string
5044 operator:
5045 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5046 type: string
5047 values:
5048 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5049 items:
5050 type: string
5051 type: array
5052 required:
5053 - key
5054 - operator
5055 type: object
5056 type: array
5057 matchLabels:
5058 additionalProperties:
5059 type: string
5060 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5061 type: object
5062 type: object
5063 namespaceSelector:
5064 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5065 properties:
5066 matchExpressions:
5067 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5068 items:
5069 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5070 properties:
5071 key:
5072 description: key is the label key that the selector applies to.
5073 type: string
5074 operator:
5075 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5076 type: string
5077 values:
5078 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5079 items:
5080 type: string
5081 type: array
5082 required:
5083 - key
5084 - operator
5085 type: object
5086 type: array
5087 matchLabels:
5088 additionalProperties:
5089 type: string
5090 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5091 type: object
5092 type: object
5093 namespaces:
5094 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5095 items:
5096 type: string
5097 type: array
5098 topologyKey:
5099 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
5100 type: string
5101 required:
5102 - topologyKey
5103 type: object
5104 weight:
5105 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
5106 format: int32
5107 type: integer
5108 required:
5109 - podAffinityTerm
5110 - weight
5111 type: object
5112 type: array
5113 requiredDuringSchedulingIgnoredDuringExecution:
5114 description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
5115 items:
5116 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
5117 properties:
5118 labelSelector:
5119 description: A label query over a set of resources, in this case pods.
5120 properties:
5121 matchExpressions:
5122 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5123 items:
5124 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5125 properties:
5126 key:
5127 description: key is the label key that the selector applies to.
5128 type: string
5129 operator:
5130 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5131 type: string
5132 values:
5133 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5134 items:
5135 type: string
5136 type: array
5137 required:
5138 - key
5139 - operator
5140 type: object
5141 type: array
5142 matchLabels:
5143 additionalProperties:
5144 type: string
5145 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5146 type: object
5147 type: object
5148 namespaceSelector:
5149 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5150 properties:
5151 matchExpressions:
5152 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5153 items:
5154 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5155 properties:
5156 key:
5157 description: key is the label key that the selector applies to.
5158 type: string
5159 operator:
5160 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5161 type: string
5162 values:
5163 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5164 items:
5165 type: string
5166 type: array
5167 required:
5168 - key
5169 - operator
5170 type: object
5171 type: array
5172 matchLabels:
5173 additionalProperties:
5174 type: string
5175 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5176 type: object
5177 type: object
5178 namespaces:
5179 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5180 items:
5181 type: string
5182 type: array
5183 topologyKey:
5184 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
5185 type: string
5186 required:
5187 - topologyKey
5188 type: object
5189 type: array
5190 type: object
5191 tolerations:
5192 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
5193 items:
5194 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
5195 properties:
5196 effect:
5197 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
5198 type: string
5199 key:
5200 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
5201 type: string
5202 operator:
5203 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
5204 type: string
5205 tolerationSeconds:
5206 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
5207 format: int64
5208 type: integer
5209 value:
5210 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
5211 type: string
5212 type: object
5213 type: array
5214 topologySpreadConstraints:
5215 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
5216 items:
5217 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
5218 properties:
5219 labelSelector:
5220 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
5221 properties:
5222 matchExpressions:
5223 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5224 items:
5225 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5226 properties:
5227 key:
5228 description: key is the label key that the selector applies to.
5229 type: string
5230 operator:
5231 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5232 type: string
5233 values:
5234 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5235 items:
5236 type: string
5237 type: array
5238 required:
5239 - key
5240 - operator
5241 type: object
5242 type: array
5243 matchLabels:
5244 additionalProperties:
5245 type: string
5246 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5247 type: object
5248 type: object
5249 maxSkew:
5250 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
5251 format: int32
5252 type: integer
5253 topologyKey:
5254 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
5255 type: string
5256 whenUnsatisfiable:
5257 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
5258 type: string
5259 required:
5260 - maxSkew
5261 - topologyKey
5262 - whenUnsatisfiable
5263 type: object
5264 type: array
5265 type: object
5266 x-kubernetes-preserve-unknown-fields: true
5267 priorityClassName:
5268 description: PriorityClassName sets priority classes on components
5269 type: string
5270 resources:
5271 description: The resource requirements for the rgw pods
5272 nullable: true
5273 properties:
5274 limits:
5275 additionalProperties:
5276 anyOf:
5277 - type: integer
5278 - type: string
5279 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5280 x-kubernetes-int-or-string: true
5281 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
5282 type: object
5283 requests:
5284 additionalProperties:
5285 anyOf:
5286 - type: integer
5287 - type: string
5288 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5289 x-kubernetes-int-or-string: true
5290 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
5291 type: object
5292 type: object
5293 x-kubernetes-preserve-unknown-fields: true
5294 required:
5295 - activeCount
5296 type: object
5297 mirroring:
5298 description: The mirroring settings
5299 nullable: true
5300 properties:
5301 enabled:
5302 description: Enabled whether this filesystem is mirrored or not
5303 type: boolean
5304 type: object
5305 preserveFilesystemOnDelete:
5306 description: Preserve the fs in the cluster on CephFilesystem CR deletion. Setting this to true automatically implies PreservePoolsOnDelete is true.
5307 type: boolean
5308 preservePoolsOnDelete:
5309 description: Preserve pools on filesystem deletion
5310 type: boolean
5311 required:
5312 - dataPools
5313 - metadataPool
5314 - metadataServer
5315 type: object
5316 status:
5317 description: Status represents the status of an object
5318 properties:
5319 phase:
5320 type: string
5321 type: object
5322 x-kubernetes-preserve-unknown-fields: true
5323 required:
5324 - metadata
5325 - spec
5326 type: object
5327 served: true
5328 storage: true
5329 subresources:
5330 status: {}
5331status:
5332 acceptedNames:
5333 kind: ""
5334 plural: ""
5335 conditions: []
5336 storedVersions: []
5337---
5338apiVersion: apiextensions.k8s.io/v1
5339kind: CustomResourceDefinition
5340metadata:
5341 annotations:
5342 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
5343 creationTimestamp: null
5344 name: cephnfses.ceph.rook.io
5345spec:
5346 group: ceph.rook.io
5347 names:
5348 kind: CephNFS
5349 listKind: CephNFSList
5350 plural: cephnfses
5351 shortNames:
5352 - nfs
5353 singular: cephnfs
5354 scope: Namespaced
5355 versions:
5356 - name: v1
5357 schema:
5358 openAPIV3Schema:
5359 description: CephNFS represents a Ceph NFS
5360 properties:
5361 apiVersion:
5362 description: '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'
5363 type: string
5364 kind:
5365 description: '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'
5366 type: string
5367 metadata:
5368 type: object
5369 spec:
5370 description: NFSGaneshaSpec represents the spec of an nfs ganesha server
5371 properties:
5372 rados:
5373 description: RADOS is the Ganesha RADOS specification
5374 properties:
5375 namespace:
5376 description: Namespace is the RADOS namespace where NFS client recovery data is stored.
5377 type: string
5378 pool:
5379 description: Pool is the RADOS pool where NFS client recovery data is stored.
5380 type: string
5381 required:
5382 - namespace
5383 - pool
5384 type: object
5385 server:
5386 description: Server is the Ganesha Server specification
5387 properties:
5388 active:
5389 description: The number of active Ganesha servers
5390 type: integer
5391 annotations:
5392 additionalProperties:
5393 type: string
5394 description: The annotations-related configuration to add/set on each Pod related object.
5395 nullable: true
5396 type: object
5397 x-kubernetes-preserve-unknown-fields: true
5398 labels:
5399 additionalProperties:
5400 type: string
5401 description: The labels-related configuration to add/set on each Pod related object.
5402 nullable: true
5403 type: object
5404 x-kubernetes-preserve-unknown-fields: true
5405 logLevel:
5406 description: LogLevel set logging level
5407 type: string
5408 placement:
5409 description: The affinity to place the ganesha pods
5410 nullable: true
5411 properties:
5412 nodeAffinity:
5413 description: NodeAffinity is a group of node affinity scheduling rules
5414 properties:
5415 preferredDuringSchedulingIgnoredDuringExecution:
5416 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
5417 items:
5418 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
5419 properties:
5420 preference:
5421 description: A node selector term, associated with the corresponding weight.
5422 properties:
5423 matchExpressions:
5424 description: A list of node selector requirements by node's labels.
5425 items:
5426 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5427 properties:
5428 key:
5429 description: The label key that the selector applies to.
5430 type: string
5431 operator:
5432 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
5433 type: string
5434 values:
5435 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
5436 items:
5437 type: string
5438 type: array
5439 required:
5440 - key
5441 - operator
5442 type: object
5443 type: array
5444 matchFields:
5445 description: A list of node selector requirements by node's fields.
5446 items:
5447 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5448 properties:
5449 key:
5450 description: The label key that the selector applies to.
5451 type: string
5452 operator:
5453 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
5454 type: string
5455 values:
5456 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
5457 items:
5458 type: string
5459 type: array
5460 required:
5461 - key
5462 - operator
5463 type: object
5464 type: array
5465 type: object
5466 weight:
5467 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
5468 format: int32
5469 type: integer
5470 required:
5471 - preference
5472 - weight
5473 type: object
5474 type: array
5475 requiredDuringSchedulingIgnoredDuringExecution:
5476 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
5477 properties:
5478 nodeSelectorTerms:
5479 description: Required. A list of node selector terms. The terms are ORed.
5480 items:
5481 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
5482 properties:
5483 matchExpressions:
5484 description: A list of node selector requirements by node's labels.
5485 items:
5486 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5487 properties:
5488 key:
5489 description: The label key that the selector applies to.
5490 type: string
5491 operator:
5492 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
5493 type: string
5494 values:
5495 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
5496 items:
5497 type: string
5498 type: array
5499 required:
5500 - key
5501 - operator
5502 type: object
5503 type: array
5504 matchFields:
5505 description: A list of node selector requirements by node's fields.
5506 items:
5507 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5508 properties:
5509 key:
5510 description: The label key that the selector applies to.
5511 type: string
5512 operator:
5513 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
5514 type: string
5515 values:
5516 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
5517 items:
5518 type: string
5519 type: array
5520 required:
5521 - key
5522 - operator
5523 type: object
5524 type: array
5525 type: object
5526 type: array
5527 required:
5528 - nodeSelectorTerms
5529 type: object
5530 type: object
5531 podAffinity:
5532 description: PodAffinity is a group of inter pod affinity scheduling rules
5533 properties:
5534 preferredDuringSchedulingIgnoredDuringExecution:
5535 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
5536 items:
5537 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
5538 properties:
5539 podAffinityTerm:
5540 description: Required. A pod affinity term, associated with the corresponding weight.
5541 properties:
5542 labelSelector:
5543 description: A label query over a set of resources, in this case pods.
5544 properties:
5545 matchExpressions:
5546 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5547 items:
5548 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5549 properties:
5550 key:
5551 description: key is the label key that the selector applies to.
5552 type: string
5553 operator:
5554 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5555 type: string
5556 values:
5557 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5558 items:
5559 type: string
5560 type: array
5561 required:
5562 - key
5563 - operator
5564 type: object
5565 type: array
5566 matchLabels:
5567 additionalProperties:
5568 type: string
5569 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5570 type: object
5571 type: object
5572 namespaceSelector:
5573 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5574 properties:
5575 matchExpressions:
5576 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5577 items:
5578 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5579 properties:
5580 key:
5581 description: key is the label key that the selector applies to.
5582 type: string
5583 operator:
5584 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5585 type: string
5586 values:
5587 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5588 items:
5589 type: string
5590 type: array
5591 required:
5592 - key
5593 - operator
5594 type: object
5595 type: array
5596 matchLabels:
5597 additionalProperties:
5598 type: string
5599 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5600 type: object
5601 type: object
5602 namespaces:
5603 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5604 items:
5605 type: string
5606 type: array
5607 topologyKey:
5608 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
5609 type: string
5610 required:
5611 - topologyKey
5612 type: object
5613 weight:
5614 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
5615 format: int32
5616 type: integer
5617 required:
5618 - podAffinityTerm
5619 - weight
5620 type: object
5621 type: array
5622 requiredDuringSchedulingIgnoredDuringExecution:
5623 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
5624 items:
5625 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
5626 properties:
5627 labelSelector:
5628 description: A label query over a set of resources, in this case pods.
5629 properties:
5630 matchExpressions:
5631 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5632 items:
5633 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5634 properties:
5635 key:
5636 description: key is the label key that the selector applies to.
5637 type: string
5638 operator:
5639 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5640 type: string
5641 values:
5642 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5643 items:
5644 type: string
5645 type: array
5646 required:
5647 - key
5648 - operator
5649 type: object
5650 type: array
5651 matchLabels:
5652 additionalProperties:
5653 type: string
5654 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5655 type: object
5656 type: object
5657 namespaceSelector:
5658 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5659 properties:
5660 matchExpressions:
5661 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5662 items:
5663 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5664 properties:
5665 key:
5666 description: key is the label key that the selector applies to.
5667 type: string
5668 operator:
5669 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5670 type: string
5671 values:
5672 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5673 items:
5674 type: string
5675 type: array
5676 required:
5677 - key
5678 - operator
5679 type: object
5680 type: array
5681 matchLabels:
5682 additionalProperties:
5683 type: string
5684 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5685 type: object
5686 type: object
5687 namespaces:
5688 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5689 items:
5690 type: string
5691 type: array
5692 topologyKey:
5693 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
5694 type: string
5695 required:
5696 - topologyKey
5697 type: object
5698 type: array
5699 type: object
5700 podAntiAffinity:
5701 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
5702 properties:
5703 preferredDuringSchedulingIgnoredDuringExecution:
5704 description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
5705 items:
5706 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
5707 properties:
5708 podAffinityTerm:
5709 description: Required. A pod affinity term, associated with the corresponding weight.
5710 properties:
5711 labelSelector:
5712 description: A label query over a set of resources, in this case pods.
5713 properties:
5714 matchExpressions:
5715 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5716 items:
5717 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5718 properties:
5719 key:
5720 description: key is the label key that the selector applies to.
5721 type: string
5722 operator:
5723 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5724 type: string
5725 values:
5726 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5727 items:
5728 type: string
5729 type: array
5730 required:
5731 - key
5732 - operator
5733 type: object
5734 type: array
5735 matchLabels:
5736 additionalProperties:
5737 type: string
5738 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5739 type: object
5740 type: object
5741 namespaceSelector:
5742 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5743 properties:
5744 matchExpressions:
5745 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5746 items:
5747 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5748 properties:
5749 key:
5750 description: key is the label key that the selector applies to.
5751 type: string
5752 operator:
5753 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5754 type: string
5755 values:
5756 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5757 items:
5758 type: string
5759 type: array
5760 required:
5761 - key
5762 - operator
5763 type: object
5764 type: array
5765 matchLabels:
5766 additionalProperties:
5767 type: string
5768 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5769 type: object
5770 type: object
5771 namespaces:
5772 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5773 items:
5774 type: string
5775 type: array
5776 topologyKey:
5777 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
5778 type: string
5779 required:
5780 - topologyKey
5781 type: object
5782 weight:
5783 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
5784 format: int32
5785 type: integer
5786 required:
5787 - podAffinityTerm
5788 - weight
5789 type: object
5790 type: array
5791 requiredDuringSchedulingIgnoredDuringExecution:
5792 description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
5793 items:
5794 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
5795 properties:
5796 labelSelector:
5797 description: A label query over a set of resources, in this case pods.
5798 properties:
5799 matchExpressions:
5800 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5801 items:
5802 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5803 properties:
5804 key:
5805 description: key is the label key that the selector applies to.
5806 type: string
5807 operator:
5808 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5809 type: string
5810 values:
5811 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5812 items:
5813 type: string
5814 type: array
5815 required:
5816 - key
5817 - operator
5818 type: object
5819 type: array
5820 matchLabels:
5821 additionalProperties:
5822 type: string
5823 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5824 type: object
5825 type: object
5826 namespaceSelector:
5827 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5828 properties:
5829 matchExpressions:
5830 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5831 items:
5832 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5833 properties:
5834 key:
5835 description: key is the label key that the selector applies to.
5836 type: string
5837 operator:
5838 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5839 type: string
5840 values:
5841 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5842 items:
5843 type: string
5844 type: array
5845 required:
5846 - key
5847 - operator
5848 type: object
5849 type: array
5850 matchLabels:
5851 additionalProperties:
5852 type: string
5853 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5854 type: object
5855 type: object
5856 namespaces:
5857 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5858 items:
5859 type: string
5860 type: array
5861 topologyKey:
5862 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
5863 type: string
5864 required:
5865 - topologyKey
5866 type: object
5867 type: array
5868 type: object
5869 tolerations:
5870 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
5871 items:
5872 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
5873 properties:
5874 effect:
5875 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
5876 type: string
5877 key:
5878 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
5879 type: string
5880 operator:
5881 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
5882 type: string
5883 tolerationSeconds:
5884 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
5885 format: int64
5886 type: integer
5887 value:
5888 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
5889 type: string
5890 type: object
5891 type: array
5892 topologySpreadConstraints:
5893 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
5894 items:
5895 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
5896 properties:
5897 labelSelector:
5898 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
5899 properties:
5900 matchExpressions:
5901 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5902 items:
5903 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5904 properties:
5905 key:
5906 description: key is the label key that the selector applies to.
5907 type: string
5908 operator:
5909 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5910 type: string
5911 values:
5912 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5913 items:
5914 type: string
5915 type: array
5916 required:
5917 - key
5918 - operator
5919 type: object
5920 type: array
5921 matchLabels:
5922 additionalProperties:
5923 type: string
5924 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5925 type: object
5926 type: object
5927 maxSkew:
5928 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
5929 format: int32
5930 type: integer
5931 topologyKey:
5932 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
5933 type: string
5934 whenUnsatisfiable:
5935 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
5936 type: string
5937 required:
5938 - maxSkew
5939 - topologyKey
5940 - whenUnsatisfiable
5941 type: object
5942 type: array
5943 type: object
5944 x-kubernetes-preserve-unknown-fields: true
5945 priorityClassName:
5946 description: PriorityClassName sets the priority class on the pods
5947 type: string
5948 resources:
5949 description: Resources set resource requests and limits
5950 nullable: true
5951 properties:
5952 limits:
5953 additionalProperties:
5954 anyOf:
5955 - type: integer
5956 - type: string
5957 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5958 x-kubernetes-int-or-string: true
5959 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
5960 type: object
5961 requests:
5962 additionalProperties:
5963 anyOf:
5964 - type: integer
5965 - type: string
5966 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5967 x-kubernetes-int-or-string: true
5968 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
5969 type: object
5970 type: object
5971 x-kubernetes-preserve-unknown-fields: true
5972 required:
5973 - active
5974 type: object
5975 required:
5976 - rados
5977 - server
5978 type: object
5979 status:
5980 description: Status represents the status of an object
5981 properties:
5982 phase:
5983 type: string
5984 type: object
5985 x-kubernetes-preserve-unknown-fields: true
5986 required:
5987 - metadata
5988 - spec
5989 type: object
5990 served: true
5991 storage: true
5992 subresources:
5993 status: {}
5994status:
5995 acceptedNames:
5996 kind: ""
5997 plural: ""
5998 conditions: []
5999 storedVersions: []
6000---
6001apiVersion: apiextensions.k8s.io/v1
6002kind: CustomResourceDefinition
6003metadata:
6004 annotations:
6005 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
6006 creationTimestamp: null
6007 name: cephobjectrealms.ceph.rook.io
6008spec:
6009 group: ceph.rook.io
6010 names:
6011 kind: CephObjectRealm
6012 listKind: CephObjectRealmList
6013 plural: cephobjectrealms
6014 singular: cephobjectrealm
6015 scope: Namespaced
6016 versions:
6017 - name: v1
6018 schema:
6019 openAPIV3Schema:
6020 description: CephObjectRealm represents a Ceph Object Store Gateway Realm
6021 properties:
6022 apiVersion:
6023 description: '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'
6024 type: string
6025 kind:
6026 description: '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'
6027 type: string
6028 metadata:
6029 type: object
6030 spec:
6031 description: ObjectRealmSpec represent the spec of an ObjectRealm
6032 nullable: true
6033 properties:
6034 pull:
6035 description: PullSpec represents the pulling specification of a Ceph Object Storage Gateway Realm
6036 properties:
6037 endpoint:
6038 type: string
6039 required:
6040 - endpoint
6041 type: object
6042 required:
6043 - pull
6044 type: object
6045 status:
6046 description: Status represents the status of an object
6047 properties:
6048 phase:
6049 type: string
6050 type: object
6051 x-kubernetes-preserve-unknown-fields: true
6052 required:
6053 - metadata
6054 type: object
6055 served: true
6056 storage: true
6057 subresources:
6058 status: {}
6059status:
6060 acceptedNames:
6061 kind: ""
6062 plural: ""
6063 conditions: []
6064 storedVersions: []
6065---
6066apiVersion: apiextensions.k8s.io/v1
6067kind: CustomResourceDefinition
6068metadata:
6069 annotations:
6070 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
6071 creationTimestamp: null
6072 name: cephobjectstores.ceph.rook.io
6073spec:
6074 group: ceph.rook.io
6075 names:
6076 kind: CephObjectStore
6077 listKind: CephObjectStoreList
6078 plural: cephobjectstores
6079 singular: cephobjectstore
6080 scope: Namespaced
6081 versions:
6082 - name: v1
6083 schema:
6084 openAPIV3Schema:
6085 description: CephObjectStore represents a Ceph Object Store Gateway
6086 properties:
6087 apiVersion:
6088 description: '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'
6089 type: string
6090 kind:
6091 description: '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'
6092 type: string
6093 metadata:
6094 type: object
6095 spec:
6096 description: ObjectStoreSpec represent the spec of a pool
6097 properties:
6098 dataPool:
6099 description: The data pool settings
6100 nullable: true
6101 properties:
6102 compressionMode:
6103 default: none
6104 description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
6105 enum:
6106 - none
6107 - passive
6108 - aggressive
6109 - force
6110 - ""
6111 nullable: true
6112 type: string
6113 crushRoot:
6114 description: The root of the crush hierarchy utilized by the pool
6115 nullable: true
6116 type: string
6117 deviceClass:
6118 description: The device class the OSD should set to for use in the pool
6119 nullable: true
6120 type: string
6121 enableRBDStats:
6122 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
6123 type: boolean
6124 erasureCoded:
6125 description: The erasure code settings
6126 properties:
6127 algorithm:
6128 description: The algorithm for erasure coding
6129 type: string
6130 codingChunks:
6131 description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
6132 maximum: 9
6133 minimum: 0
6134 type: integer
6135 dataChunks:
6136 description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
6137 maximum: 9
6138 minimum: 0
6139 type: integer
6140 required:
6141 - codingChunks
6142 - dataChunks
6143 type: object
6144 failureDomain:
6145 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
6146 type: string
6147 mirroring:
6148 description: The mirroring settings
6149 properties:
6150 enabled:
6151 description: Enabled whether this pool is mirrored or not
6152 type: boolean
6153 mode:
6154 description: 'Mode is the mirroring mode: either pool or image'
6155 type: string
6156 snapshotSchedules:
6157 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
6158 items:
6159 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
6160 properties:
6161 interval:
6162 description: Interval represent the periodicity of the snapshot.
6163 type: string
6164 startTime:
6165 description: StartTime indicates when to start the snapshot
6166 type: string
6167 type: object
6168 type: array
6169 type: object
6170 parameters:
6171 additionalProperties:
6172 type: string
6173 description: Parameters is a list of properties to enable on a given pool
6174 nullable: true
6175 type: object
6176 x-kubernetes-preserve-unknown-fields: true
6177 quotas:
6178 description: The quota settings
6179 nullable: true
6180 properties:
6181 maxBytes:
6182 description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
6183 format: int64
6184 type: integer
6185 maxObjects:
6186 description: MaxObjects represents the quota in objects
6187 format: int64
6188 type: integer
6189 maxSize:
6190 description: MaxSize represents the quota in bytes as a string
6191 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
6192 type: string
6193 type: object
6194 replicated:
6195 description: The replication settings
6196 properties:
6197 replicasPerFailureDomain:
6198 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
6199 minimum: 1
6200 type: integer
6201 requireSafeReplicaSize:
6202 description: RequireSafeReplicaSize if false allows you to set replica 1
6203 type: boolean
6204 size:
6205 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
6206 minimum: 0
6207 type: integer
6208 subFailureDomain:
6209 description: SubFailureDomain the name of the sub-failure domain
6210 type: string
6211 targetSizeRatio:
6212 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
6213 type: number
6214 required:
6215 - size
6216 type: object
6217 statusCheck:
6218 description: The mirroring statusCheck
6219 properties:
6220 mirror:
6221 description: HealthCheckSpec represents the health check of an object store bucket
6222 nullable: true
6223 properties:
6224 disabled:
6225 type: boolean
6226 interval:
6227 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
6228 type: string
6229 timeout:
6230 type: string
6231 type: object
6232 type: object
6233 x-kubernetes-preserve-unknown-fields: true
6234 type: object
6235 gateway:
6236 description: The rgw pod info
6237 nullable: true
6238 properties:
6239 annotations:
6240 additionalProperties:
6241 type: string
6242 description: The annotations-related configuration to add/set on each Pod related object.
6243 nullable: true
6244 type: object
6245 x-kubernetes-preserve-unknown-fields: true
6246 externalRgwEndpoints:
6247 description: ExternalRgwEndpoints points to external rgw endpoint(s)
6248 items:
6249 description: EndpointAddress is a tuple that describes single IP address.
6250 properties:
6251 hostname:
6252 description: The Hostname of this endpoint
6253 type: string
6254 ip:
6255 description: 'The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is also accepted but not fully supported on all platforms. Also, certain kubernetes components, like kube-proxy, are not IPv6 ready. TODO: This should allow hostname or IP, See #4447.'
6256 type: string
6257 nodeName:
6258 description: 'Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.'
6259 type: string
6260 targetRef:
6261 description: Reference to object providing the endpoint.
6262 properties:
6263 apiVersion:
6264 description: API version of the referent.
6265 type: string
6266 fieldPath:
6267 description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
6268 type: string
6269 kind:
6270 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
6271 type: string
6272 name:
6273 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
6274 type: string
6275 namespace:
6276 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
6277 type: string
6278 resourceVersion:
6279 description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
6280 type: string
6281 uid:
6282 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
6283 type: string
6284 type: object
6285 required:
6286 - ip
6287 type: object
6288 nullable: true
6289 type: array
6290 instances:
6291 description: The number of pods in the rgw replicaset.
6292 format: int32
6293 nullable: true
6294 type: integer
6295 labels:
6296 additionalProperties:
6297 type: string
6298 description: The labels-related configuration to add/set on each Pod related object.
6299 nullable: true
6300 type: object
6301 x-kubernetes-preserve-unknown-fields: true
6302 placement:
6303 description: The affinity to place the rgw pods (default is to place on any available node)
6304 nullable: true
6305 properties:
6306 nodeAffinity:
6307 description: NodeAffinity is a group of node affinity scheduling rules
6308 properties:
6309 preferredDuringSchedulingIgnoredDuringExecution:
6310 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
6311 items:
6312 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
6313 properties:
6314 preference:
6315 description: A node selector term, associated with the corresponding weight.
6316 properties:
6317 matchExpressions:
6318 description: A list of node selector requirements by node's labels.
6319 items:
6320 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6321 properties:
6322 key:
6323 description: The label key that the selector applies to.
6324 type: string
6325 operator:
6326 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
6327 type: string
6328 values:
6329 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
6330 items:
6331 type: string
6332 type: array
6333 required:
6334 - key
6335 - operator
6336 type: object
6337 type: array
6338 matchFields:
6339 description: A list of node selector requirements by node's fields.
6340 items:
6341 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6342 properties:
6343 key:
6344 description: The label key that the selector applies to.
6345 type: string
6346 operator:
6347 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
6348 type: string
6349 values:
6350 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
6351 items:
6352 type: string
6353 type: array
6354 required:
6355 - key
6356 - operator
6357 type: object
6358 type: array
6359 type: object
6360 weight:
6361 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
6362 format: int32
6363 type: integer
6364 required:
6365 - preference
6366 - weight
6367 type: object
6368 type: array
6369 requiredDuringSchedulingIgnoredDuringExecution:
6370 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
6371 properties:
6372 nodeSelectorTerms:
6373 description: Required. A list of node selector terms. The terms are ORed.
6374 items:
6375 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
6376 properties:
6377 matchExpressions:
6378 description: A list of node selector requirements by node's labels.
6379 items:
6380 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6381 properties:
6382 key:
6383 description: The label key that the selector applies to.
6384 type: string
6385 operator:
6386 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
6387 type: string
6388 values:
6389 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
6390 items:
6391 type: string
6392 type: array
6393 required:
6394 - key
6395 - operator
6396 type: object
6397 type: array
6398 matchFields:
6399 description: A list of node selector requirements by node's fields.
6400 items:
6401 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6402 properties:
6403 key:
6404 description: The label key that the selector applies to.
6405 type: string
6406 operator:
6407 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
6408 type: string
6409 values:
6410 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
6411 items:
6412 type: string
6413 type: array
6414 required:
6415 - key
6416 - operator
6417 type: object
6418 type: array
6419 type: object
6420 type: array
6421 required:
6422 - nodeSelectorTerms
6423 type: object
6424 type: object
6425 podAffinity:
6426 description: PodAffinity is a group of inter pod affinity scheduling rules
6427 properties:
6428 preferredDuringSchedulingIgnoredDuringExecution:
6429 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
6430 items:
6431 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
6432 properties:
6433 podAffinityTerm:
6434 description: Required. A pod affinity term, associated with the corresponding weight.
6435 properties:
6436 labelSelector:
6437 description: A label query over a set of resources, in this case pods.
6438 properties:
6439 matchExpressions:
6440 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6441 items:
6442 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6443 properties:
6444 key:
6445 description: key is the label key that the selector applies to.
6446 type: string
6447 operator:
6448 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6449 type: string
6450 values:
6451 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6452 items:
6453 type: string
6454 type: array
6455 required:
6456 - key
6457 - operator
6458 type: object
6459 type: array
6460 matchLabels:
6461 additionalProperties:
6462 type: string
6463 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6464 type: object
6465 type: object
6466 namespaceSelector:
6467 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
6468 properties:
6469 matchExpressions:
6470 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6471 items:
6472 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6473 properties:
6474 key:
6475 description: key is the label key that the selector applies to.
6476 type: string
6477 operator:
6478 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6479 type: string
6480 values:
6481 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6482 items:
6483 type: string
6484 type: array
6485 required:
6486 - key
6487 - operator
6488 type: object
6489 type: array
6490 matchLabels:
6491 additionalProperties:
6492 type: string
6493 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6494 type: object
6495 type: object
6496 namespaces:
6497 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
6498 items:
6499 type: string
6500 type: array
6501 topologyKey:
6502 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
6503 type: string
6504 required:
6505 - topologyKey
6506 type: object
6507 weight:
6508 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
6509 format: int32
6510 type: integer
6511 required:
6512 - podAffinityTerm
6513 - weight
6514 type: object
6515 type: array
6516 requiredDuringSchedulingIgnoredDuringExecution:
6517 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
6518 items:
6519 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
6520 properties:
6521 labelSelector:
6522 description: A label query over a set of resources, in this case pods.
6523 properties:
6524 matchExpressions:
6525 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6526 items:
6527 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6528 properties:
6529 key:
6530 description: key is the label key that the selector applies to.
6531 type: string
6532 operator:
6533 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6534 type: string
6535 values:
6536 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6537 items:
6538 type: string
6539 type: array
6540 required:
6541 - key
6542 - operator
6543 type: object
6544 type: array
6545 matchLabels:
6546 additionalProperties:
6547 type: string
6548 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6549 type: object
6550 type: object
6551 namespaceSelector:
6552 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
6553 properties:
6554 matchExpressions:
6555 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6556 items:
6557 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6558 properties:
6559 key:
6560 description: key is the label key that the selector applies to.
6561 type: string
6562 operator:
6563 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6564 type: string
6565 values:
6566 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6567 items:
6568 type: string
6569 type: array
6570 required:
6571 - key
6572 - operator
6573 type: object
6574 type: array
6575 matchLabels:
6576 additionalProperties:
6577 type: string
6578 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6579 type: object
6580 type: object
6581 namespaces:
6582 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
6583 items:
6584 type: string
6585 type: array
6586 topologyKey:
6587 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
6588 type: string
6589 required:
6590 - topologyKey
6591 type: object
6592 type: array
6593 type: object
6594 podAntiAffinity:
6595 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
6596 properties:
6597 preferredDuringSchedulingIgnoredDuringExecution:
6598 description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
6599 items:
6600 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
6601 properties:
6602 podAffinityTerm:
6603 description: Required. A pod affinity term, associated with the corresponding weight.
6604 properties:
6605 labelSelector:
6606 description: A label query over a set of resources, in this case pods.
6607 properties:
6608 matchExpressions:
6609 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6610 items:
6611 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6612 properties:
6613 key:
6614 description: key is the label key that the selector applies to.
6615 type: string
6616 operator:
6617 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6618 type: string
6619 values:
6620 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6621 items:
6622 type: string
6623 type: array
6624 required:
6625 - key
6626 - operator
6627 type: object
6628 type: array
6629 matchLabels:
6630 additionalProperties:
6631 type: string
6632 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6633 type: object
6634 type: object
6635 namespaceSelector:
6636 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
6637 properties:
6638 matchExpressions:
6639 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6640 items:
6641 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6642 properties:
6643 key:
6644 description: key is the label key that the selector applies to.
6645 type: string
6646 operator:
6647 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6648 type: string
6649 values:
6650 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6651 items:
6652 type: string
6653 type: array
6654 required:
6655 - key
6656 - operator
6657 type: object
6658 type: array
6659 matchLabels:
6660 additionalProperties:
6661 type: string
6662 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6663 type: object
6664 type: object
6665 namespaces:
6666 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
6667 items:
6668 type: string
6669 type: array
6670 topologyKey:
6671 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
6672 type: string
6673 required:
6674 - topologyKey
6675 type: object
6676 weight:
6677 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
6678 format: int32
6679 type: integer
6680 required:
6681 - podAffinityTerm
6682 - weight
6683 type: object
6684 type: array
6685 requiredDuringSchedulingIgnoredDuringExecution:
6686 description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
6687 items:
6688 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
6689 properties:
6690 labelSelector:
6691 description: A label query over a set of resources, in this case pods.
6692 properties:
6693 matchExpressions:
6694 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6695 items:
6696 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6697 properties:
6698 key:
6699 description: key is the label key that the selector applies to.
6700 type: string
6701 operator:
6702 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6703 type: string
6704 values:
6705 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6706 items:
6707 type: string
6708 type: array
6709 required:
6710 - key
6711 - operator
6712 type: object
6713 type: array
6714 matchLabels:
6715 additionalProperties:
6716 type: string
6717 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6718 type: object
6719 type: object
6720 namespaceSelector:
6721 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
6722 properties:
6723 matchExpressions:
6724 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6725 items:
6726 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6727 properties:
6728 key:
6729 description: key is the label key that the selector applies to.
6730 type: string
6731 operator:
6732 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6733 type: string
6734 values:
6735 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6736 items:
6737 type: string
6738 type: array
6739 required:
6740 - key
6741 - operator
6742 type: object
6743 type: array
6744 matchLabels:
6745 additionalProperties:
6746 type: string
6747 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6748 type: object
6749 type: object
6750 namespaces:
6751 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
6752 items:
6753 type: string
6754 type: array
6755 topologyKey:
6756 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
6757 type: string
6758 required:
6759 - topologyKey
6760 type: object
6761 type: array
6762 type: object
6763 tolerations:
6764 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
6765 items:
6766 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
6767 properties:
6768 effect:
6769 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
6770 type: string
6771 key:
6772 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
6773 type: string
6774 operator:
6775 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
6776 type: string
6777 tolerationSeconds:
6778 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
6779 format: int64
6780 type: integer
6781 value:
6782 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
6783 type: string
6784 type: object
6785 type: array
6786 topologySpreadConstraints:
6787 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
6788 items:
6789 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
6790 properties:
6791 labelSelector:
6792 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
6793 properties:
6794 matchExpressions:
6795 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6796 items:
6797 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6798 properties:
6799 key:
6800 description: key is the label key that the selector applies to.
6801 type: string
6802 operator:
6803 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6804 type: string
6805 values:
6806 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6807 items:
6808 type: string
6809 type: array
6810 required:
6811 - key
6812 - operator
6813 type: object
6814 type: array
6815 matchLabels:
6816 additionalProperties:
6817 type: string
6818 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6819 type: object
6820 type: object
6821 maxSkew:
6822 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
6823 format: int32
6824 type: integer
6825 topologyKey:
6826 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
6827 type: string
6828 whenUnsatisfiable:
6829 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
6830 type: string
6831 required:
6832 - maxSkew
6833 - topologyKey
6834 - whenUnsatisfiable
6835 type: object
6836 type: array
6837 type: object
6838 x-kubernetes-preserve-unknown-fields: true
6839 port:
6840 description: The port the rgw service will be listening on (http)
6841 format: int32
6842 type: integer
6843 priorityClassName:
6844 description: PriorityClassName sets priority classes on the rgw pods
6845 type: string
6846 resources:
6847 description: The resource requirements for the rgw pods
6848 nullable: true
6849 properties:
6850 limits:
6851 additionalProperties:
6852 anyOf:
6853 - type: integer
6854 - type: string
6855 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
6856 x-kubernetes-int-or-string: true
6857 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
6858 type: object
6859 requests:
6860 additionalProperties:
6861 anyOf:
6862 - type: integer
6863 - type: string
6864 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
6865 x-kubernetes-int-or-string: true
6866 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
6867 type: object
6868 type: object
6869 x-kubernetes-preserve-unknown-fields: true
6870 securePort:
6871 description: The port the rgw service will be listening on (https)
6872 format: int32
6873 maximum: 65535
6874 minimum: 0
6875 nullable: true
6876 type: integer
6877 service:
6878 description: The configuration related to add/set on each rgw service.
6879 nullable: true
6880 properties:
6881 annotations:
6882 additionalProperties:
6883 type: string
6884 description: The annotations-related configuration to add/set on each rgw service. nullable optional
6885 type: object
6886 type: object
6887 sslCertificateRef:
6888 description: The name of the secret that stores the ssl certificate for secure rgw connections
6889 nullable: true
6890 type: string
6891 type: object
6892 healthCheck:
6893 description: The rgw Bucket healthchecks and liveness probe
6894 nullable: true
6895 properties:
6896 bucket:
6897 description: HealthCheckSpec represents the health check of an object store bucket
6898 properties:
6899 disabled:
6900 type: boolean
6901 interval:
6902 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
6903 type: string
6904 timeout:
6905 type: string
6906 type: object
6907 livenessProbe:
6908 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
6909 properties:
6910 disabled:
6911 description: Disabled determines whether probe is disable or not
6912 type: boolean
6913 probe:
6914 description: Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.
6915 properties:
6916 exec:
6917 description: One and only one of the following should be specified. Exec specifies the action to take.
6918 properties:
6919 command:
6920 description: Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
6921 items:
6922 type: string
6923 type: array
6924 type: object
6925 failureThreshold:
6926 description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
6927 format: int32
6928 type: integer
6929 httpGet:
6930 description: HTTPGet specifies the http request to perform.
6931 properties:
6932 host:
6933 description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
6934 type: string
6935 httpHeaders:
6936 description: Custom headers to set in the request. HTTP allows repeated headers.
6937 items:
6938 description: HTTPHeader describes a custom header to be used in HTTP probes
6939 properties:
6940 name:
6941 description: The header field name
6942 type: string
6943 value:
6944 description: The header field value
6945 type: string
6946 required:
6947 - name
6948 - value
6949 type: object
6950 type: array
6951 path:
6952 description: Path to access on the HTTP server.
6953 type: string
6954 port:
6955 anyOf:
6956 - type: integer
6957 - type: string
6958 description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6959 x-kubernetes-int-or-string: true
6960 scheme:
6961 description: Scheme to use for connecting to the host. Defaults to HTTP.
6962 type: string
6963 required:
6964 - port
6965 type: object
6966 initialDelaySeconds:
6967 description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
6968 format: int32
6969 type: integer
6970 periodSeconds:
6971 description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
6972 format: int32
6973 type: integer
6974 successThreshold:
6975 description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
6976 format: int32
6977 type: integer
6978 tcpSocket:
6979 description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
6980 properties:
6981 host:
6982 description: 'Optional: Host name to connect to, defaults to the pod IP.'
6983 type: string
6984 port:
6985 anyOf:
6986 - type: integer
6987 - type: string
6988 description: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6989 x-kubernetes-int-or-string: true
6990 required:
6991 - port
6992 type: object
6993 terminationGracePeriodSeconds:
6994 description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. 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 longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate.
6995 format: int64
6996 type: integer
6997 timeoutSeconds:
6998 description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
6999 format: int32
7000 type: integer
7001 type: object
7002 type: object
7003 type: object
7004 metadataPool:
7005 description: The metadata pool settings
7006 nullable: true
7007 properties:
7008 compressionMode:
7009 default: none
7010 description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
7011 enum:
7012 - none
7013 - passive
7014 - aggressive
7015 - force
7016 - ""
7017 nullable: true
7018 type: string
7019 crushRoot:
7020 description: The root of the crush hierarchy utilized by the pool
7021 nullable: true
7022 type: string
7023 deviceClass:
7024 description: The device class the OSD should set to for use in the pool
7025 nullable: true
7026 type: string
7027 enableRBDStats:
7028 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
7029 type: boolean
7030 erasureCoded:
7031 description: The erasure code settings
7032 properties:
7033 algorithm:
7034 description: The algorithm for erasure coding
7035 type: string
7036 codingChunks:
7037 description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7038 maximum: 9
7039 minimum: 0
7040 type: integer
7041 dataChunks:
7042 description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7043 maximum: 9
7044 minimum: 0
7045 type: integer
7046 required:
7047 - codingChunks
7048 - dataChunks
7049 type: object
7050 failureDomain:
7051 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
7052 type: string
7053 mirroring:
7054 description: The mirroring settings
7055 properties:
7056 enabled:
7057 description: Enabled whether this pool is mirrored or not
7058 type: boolean
7059 mode:
7060 description: 'Mode is the mirroring mode: either pool or image'
7061 type: string
7062 snapshotSchedules:
7063 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
7064 items:
7065 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
7066 properties:
7067 interval:
7068 description: Interval represent the periodicity of the snapshot.
7069 type: string
7070 startTime:
7071 description: StartTime indicates when to start the snapshot
7072 type: string
7073 type: object
7074 type: array
7075 type: object
7076 parameters:
7077 additionalProperties:
7078 type: string
7079 description: Parameters is a list of properties to enable on a given pool
7080 nullable: true
7081 type: object
7082 x-kubernetes-preserve-unknown-fields: true
7083 quotas:
7084 description: The quota settings
7085 nullable: true
7086 properties:
7087 maxBytes:
7088 description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
7089 format: int64
7090 type: integer
7091 maxObjects:
7092 description: MaxObjects represents the quota in objects
7093 format: int64
7094 type: integer
7095 maxSize:
7096 description: MaxSize represents the quota in bytes as a string
7097 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
7098 type: string
7099 type: object
7100 replicated:
7101 description: The replication settings
7102 properties:
7103 replicasPerFailureDomain:
7104 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
7105 minimum: 1
7106 type: integer
7107 requireSafeReplicaSize:
7108 description: RequireSafeReplicaSize if false allows you to set replica 1
7109 type: boolean
7110 size:
7111 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
7112 minimum: 0
7113 type: integer
7114 subFailureDomain:
7115 description: SubFailureDomain the name of the sub-failure domain
7116 type: string
7117 targetSizeRatio:
7118 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
7119 type: number
7120 required:
7121 - size
7122 type: object
7123 statusCheck:
7124 description: The mirroring statusCheck
7125 properties:
7126 mirror:
7127 description: HealthCheckSpec represents the health check of an object store bucket
7128 nullable: true
7129 properties:
7130 disabled:
7131 type: boolean
7132 interval:
7133 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
7134 type: string
7135 timeout:
7136 type: string
7137 type: object
7138 type: object
7139 x-kubernetes-preserve-unknown-fields: true
7140 type: object
7141 preservePoolsOnDelete:
7142 description: Preserve pools on object store deletion
7143 type: boolean
7144 security:
7145 description: Security represents security settings
7146 nullable: true
7147 properties:
7148 kms:
7149 description: KeyManagementService is the main Key Management option
7150 nullable: true
7151 properties:
7152 connectionDetails:
7153 additionalProperties:
7154 type: string
7155 description: ConnectionDetails contains the KMS connection details (address, port etc)
7156 nullable: true
7157 type: object
7158 x-kubernetes-preserve-unknown-fields: true
7159 tokenSecretName:
7160 description: TokenSecretName is the kubernetes secret containing the KMS token
7161 type: string
7162 type: object
7163 type: object
7164 zone:
7165 description: The multisite info
7166 nullable: true
7167 properties:
7168 name:
7169 description: RGW Zone the Object Store is in
7170 type: string
7171 required:
7172 - name
7173 type: object
7174 type: object
7175 status:
7176 description: ObjectStoreStatus represents the status of a Ceph Object Store resource
7177 properties:
7178 bucketStatus:
7179 description: BucketStatus represents the status of a bucket
7180 properties:
7181 details:
7182 type: string
7183 health:
7184 description: ConditionType represent a resource's status
7185 type: string
7186 lastChanged:
7187 type: string
7188 lastChecked:
7189 type: string
7190 type: object
7191 info:
7192 additionalProperties:
7193 type: string
7194 nullable: true
7195 type: object
7196 message:
7197 type: string
7198 phase:
7199 description: ConditionType represent a resource's status
7200 type: string
7201 type: object
7202 x-kubernetes-preserve-unknown-fields: true
7203 required:
7204 - metadata
7205 - spec
7206 type: object
7207 served: true
7208 storage: true
7209 subresources:
7210 status: {}
7211status:
7212 acceptedNames:
7213 kind: ""
7214 plural: ""
7215 conditions: []
7216 storedVersions: []
7217---
7218apiVersion: apiextensions.k8s.io/v1
7219kind: CustomResourceDefinition
7220metadata:
7221 annotations:
7222 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
7223 creationTimestamp: null
7224 name: cephobjectstoreusers.ceph.rook.io
7225spec:
7226 group: ceph.rook.io
7227 names:
7228 kind: CephObjectStoreUser
7229 listKind: CephObjectStoreUserList
7230 plural: cephobjectstoreusers
7231 shortNames:
7232 - rcou
7233 - objectuser
7234 singular: cephobjectstoreuser
7235 scope: Namespaced
7236 versions:
7237 - name: v1
7238 schema:
7239 openAPIV3Schema:
7240 description: CephObjectStoreUser represents a Ceph Object Store Gateway User
7241 properties:
7242 apiVersion:
7243 description: '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'
7244 type: string
7245 kind:
7246 description: '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'
7247 type: string
7248 metadata:
7249 type: object
7250 spec:
7251 description: ObjectStoreUserSpec represent the spec of an Objectstoreuser
7252 properties:
7253 displayName:
7254 description: The display name for the ceph users
7255 type: string
7256 store:
7257 description: The store the user will be created in
7258 type: string
7259 type: object
7260 status:
7261 description: ObjectStoreUserStatus represents the status Ceph Object Store Gateway User
7262 properties:
7263 info:
7264 additionalProperties:
7265 type: string
7266 nullable: true
7267 type: object
7268 phase:
7269 type: string
7270 type: object
7271 x-kubernetes-preserve-unknown-fields: true
7272 required:
7273 - metadata
7274 - spec
7275 type: object
7276 served: true
7277 storage: true
7278 subresources:
7279 status: {}
7280status:
7281 acceptedNames:
7282 kind: ""
7283 plural: ""
7284 conditions: []
7285 storedVersions: []
7286---
7287apiVersion: apiextensions.k8s.io/v1
7288kind: CustomResourceDefinition
7289metadata:
7290 annotations:
7291 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
7292 creationTimestamp: null
7293 name: cephobjectzonegroups.ceph.rook.io
7294spec:
7295 group: ceph.rook.io
7296 names:
7297 kind: CephObjectZoneGroup
7298 listKind: CephObjectZoneGroupList
7299 plural: cephobjectzonegroups
7300 singular: cephobjectzonegroup
7301 scope: Namespaced
7302 versions:
7303 - name: v1
7304 schema:
7305 openAPIV3Schema:
7306 description: CephObjectZoneGroup represents a Ceph Object Store Gateway Zone Group
7307 properties:
7308 apiVersion:
7309 description: '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'
7310 type: string
7311 kind:
7312 description: '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'
7313 type: string
7314 metadata:
7315 type: object
7316 spec:
7317 description: ObjectZoneGroupSpec represent the spec of an ObjectZoneGroup
7318 properties:
7319 realm:
7320 description: The display name for the ceph users
7321 type: string
7322 required:
7323 - realm
7324 type: object
7325 status:
7326 description: Status represents the status of an object
7327 properties:
7328 phase:
7329 type: string
7330 type: object
7331 x-kubernetes-preserve-unknown-fields: true
7332 required:
7333 - metadata
7334 - spec
7335 type: object
7336 served: true
7337 storage: true
7338 subresources:
7339 status: {}
7340status:
7341 acceptedNames:
7342 kind: ""
7343 plural: ""
7344 conditions: []
7345 storedVersions: []
7346---
7347apiVersion: apiextensions.k8s.io/v1
7348kind: CustomResourceDefinition
7349metadata:
7350 annotations:
7351 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
7352 creationTimestamp: null
7353 name: cephobjectzones.ceph.rook.io
7354spec:
7355 group: ceph.rook.io
7356 names:
7357 kind: CephObjectZone
7358 listKind: CephObjectZoneList
7359 plural: cephobjectzones
7360 singular: cephobjectzone
7361 scope: Namespaced
7362 versions:
7363 - name: v1
7364 schema:
7365 openAPIV3Schema:
7366 description: CephObjectZone represents a Ceph Object Store Gateway Zone
7367 properties:
7368 apiVersion:
7369 description: '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'
7370 type: string
7371 kind:
7372 description: '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'
7373 type: string
7374 metadata:
7375 type: object
7376 spec:
7377 description: ObjectZoneSpec represent the spec of an ObjectZone
7378 properties:
7379 dataPool:
7380 description: The data pool settings
7381 nullable: true
7382 properties:
7383 compressionMode:
7384 default: none
7385 description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
7386 enum:
7387 - none
7388 - passive
7389 - aggressive
7390 - force
7391 - ""
7392 nullable: true
7393 type: string
7394 crushRoot:
7395 description: The root of the crush hierarchy utilized by the pool
7396 nullable: true
7397 type: string
7398 deviceClass:
7399 description: The device class the OSD should set to for use in the pool
7400 nullable: true
7401 type: string
7402 enableRBDStats:
7403 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
7404 type: boolean
7405 erasureCoded:
7406 description: The erasure code settings
7407 properties:
7408 algorithm:
7409 description: The algorithm for erasure coding
7410 type: string
7411 codingChunks:
7412 description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7413 maximum: 9
7414 minimum: 0
7415 type: integer
7416 dataChunks:
7417 description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7418 maximum: 9
7419 minimum: 0
7420 type: integer
7421 required:
7422 - codingChunks
7423 - dataChunks
7424 type: object
7425 failureDomain:
7426 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
7427 type: string
7428 mirroring:
7429 description: The mirroring settings
7430 properties:
7431 enabled:
7432 description: Enabled whether this pool is mirrored or not
7433 type: boolean
7434 mode:
7435 description: 'Mode is the mirroring mode: either pool or image'
7436 type: string
7437 snapshotSchedules:
7438 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
7439 items:
7440 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
7441 properties:
7442 interval:
7443 description: Interval represent the periodicity of the snapshot.
7444 type: string
7445 startTime:
7446 description: StartTime indicates when to start the snapshot
7447 type: string
7448 type: object
7449 type: array
7450 type: object
7451 parameters:
7452 additionalProperties:
7453 type: string
7454 description: Parameters is a list of properties to enable on a given pool
7455 nullable: true
7456 type: object
7457 x-kubernetes-preserve-unknown-fields: true
7458 quotas:
7459 description: The quota settings
7460 nullable: true
7461 properties:
7462 maxBytes:
7463 description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
7464 format: int64
7465 type: integer
7466 maxObjects:
7467 description: MaxObjects represents the quota in objects
7468 format: int64
7469 type: integer
7470 maxSize:
7471 description: MaxSize represents the quota in bytes as a string
7472 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
7473 type: string
7474 type: object
7475 replicated:
7476 description: The replication settings
7477 properties:
7478 replicasPerFailureDomain:
7479 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
7480 minimum: 1
7481 type: integer
7482 requireSafeReplicaSize:
7483 description: RequireSafeReplicaSize if false allows you to set replica 1
7484 type: boolean
7485 size:
7486 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
7487 minimum: 0
7488 type: integer
7489 subFailureDomain:
7490 description: SubFailureDomain the name of the sub-failure domain
7491 type: string
7492 targetSizeRatio:
7493 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
7494 type: number
7495 required:
7496 - size
7497 type: object
7498 statusCheck:
7499 description: The mirroring statusCheck
7500 properties:
7501 mirror:
7502 description: HealthCheckSpec represents the health check of an object store bucket
7503 nullable: true
7504 properties:
7505 disabled:
7506 type: boolean
7507 interval:
7508 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
7509 type: string
7510 timeout:
7511 type: string
7512 type: object
7513 type: object
7514 x-kubernetes-preserve-unknown-fields: true
7515 type: object
7516 metadataPool:
7517 description: The metadata pool settings
7518 nullable: true
7519 properties:
7520 compressionMode:
7521 default: none
7522 description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
7523 enum:
7524 - none
7525 - passive
7526 - aggressive
7527 - force
7528 - ""
7529 nullable: true
7530 type: string
7531 crushRoot:
7532 description: The root of the crush hierarchy utilized by the pool
7533 nullable: true
7534 type: string
7535 deviceClass:
7536 description: The device class the OSD should set to for use in the pool
7537 nullable: true
7538 type: string
7539 enableRBDStats:
7540 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
7541 type: boolean
7542 erasureCoded:
7543 description: The erasure code settings
7544 properties:
7545 algorithm:
7546 description: The algorithm for erasure coding
7547 type: string
7548 codingChunks:
7549 description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7550 maximum: 9
7551 minimum: 0
7552 type: integer
7553 dataChunks:
7554 description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7555 maximum: 9
7556 minimum: 0
7557 type: integer
7558 required:
7559 - codingChunks
7560 - dataChunks
7561 type: object
7562 failureDomain:
7563 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
7564 type: string
7565 mirroring:
7566 description: The mirroring settings
7567 properties:
7568 enabled:
7569 description: Enabled whether this pool is mirrored or not
7570 type: boolean
7571 mode:
7572 description: 'Mode is the mirroring mode: either pool or image'
7573 type: string
7574 snapshotSchedules:
7575 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
7576 items:
7577 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
7578 properties:
7579 interval:
7580 description: Interval represent the periodicity of the snapshot.
7581 type: string
7582 startTime:
7583 description: StartTime indicates when to start the snapshot
7584 type: string
7585 type: object
7586 type: array
7587 type: object
7588 parameters:
7589 additionalProperties:
7590 type: string
7591 description: Parameters is a list of properties to enable on a given pool
7592 nullable: true
7593 type: object
7594 x-kubernetes-preserve-unknown-fields: true
7595 quotas:
7596 description: The quota settings
7597 nullable: true
7598 properties:
7599 maxBytes:
7600 description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
7601 format: int64
7602 type: integer
7603 maxObjects:
7604 description: MaxObjects represents the quota in objects
7605 format: int64
7606 type: integer
7607 maxSize:
7608 description: MaxSize represents the quota in bytes as a string
7609 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
7610 type: string
7611 type: object
7612 replicated:
7613 description: The replication settings
7614 properties:
7615 replicasPerFailureDomain:
7616 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
7617 minimum: 1
7618 type: integer
7619 requireSafeReplicaSize:
7620 description: RequireSafeReplicaSize if false allows you to set replica 1
7621 type: boolean
7622 size:
7623 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
7624 minimum: 0
7625 type: integer
7626 subFailureDomain:
7627 description: SubFailureDomain the name of the sub-failure domain
7628 type: string
7629 targetSizeRatio:
7630 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
7631 type: number
7632 required:
7633 - size
7634 type: object
7635 statusCheck:
7636 description: The mirroring statusCheck
7637 properties:
7638 mirror:
7639 description: HealthCheckSpec represents the health check of an object store bucket
7640 nullable: true
7641 properties:
7642 disabled:
7643 type: boolean
7644 interval:
7645 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
7646 type: string
7647 timeout:
7648 type: string
7649 type: object
7650 type: object
7651 x-kubernetes-preserve-unknown-fields: true
7652 type: object
7653 zoneGroup:
7654 description: The display name for the ceph users
7655 type: string
7656 required:
7657 - dataPool
7658 - metadataPool
7659 - zoneGroup
7660 type: object
7661 status:
7662 description: Status represents the status of an object
7663 properties:
7664 phase:
7665 type: string
7666 type: object
7667 x-kubernetes-preserve-unknown-fields: true
7668 required:
7669 - metadata
7670 - spec
7671 type: object
7672 served: true
7673 storage: true
7674 subresources:
7675 status: {}
7676status:
7677 acceptedNames:
7678 kind: ""
7679 plural: ""
7680 conditions: []
7681 storedVersions: []
7682---
7683apiVersion: apiextensions.k8s.io/v1
7684kind: CustomResourceDefinition
7685metadata:
7686 annotations:
7687 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
7688 creationTimestamp: null
7689 name: cephrbdmirrors.ceph.rook.io
7690spec:
7691 group: ceph.rook.io
7692 names:
7693 kind: CephRBDMirror
7694 listKind: CephRBDMirrorList
7695 plural: cephrbdmirrors
7696 singular: cephrbdmirror
7697 scope: Namespaced
7698 versions:
7699 - name: v1
7700 schema:
7701 openAPIV3Schema:
7702 description: CephRBDMirror represents a Ceph RBD Mirror
7703 properties:
7704 apiVersion:
7705 description: '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'
7706 type: string
7707 kind:
7708 description: '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'
7709 type: string
7710 metadata:
7711 type: object
7712 spec:
7713 description: RBDMirroringSpec represents the specification of an RBD mirror daemon
7714 properties:
7715 annotations:
7716 additionalProperties:
7717 type: string
7718 description: The annotations-related configuration to add/set on each Pod related object.
7719 nullable: true
7720 type: object
7721 x-kubernetes-preserve-unknown-fields: true
7722 count:
7723 description: Count represents the number of rbd mirror instance to run
7724 minimum: 1
7725 type: integer
7726 labels:
7727 additionalProperties:
7728 type: string
7729 description: The labels-related configuration to add/set on each Pod related object.
7730 nullable: true
7731 type: object
7732 x-kubernetes-preserve-unknown-fields: true
7733 peers:
7734 description: RBDMirroringPeerSpec represents the peers spec
7735 nullable: true
7736 properties:
7737 secretNames:
7738 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror peers
7739 items:
7740 type: string
7741 type: array
7742 type: object
7743 placement:
7744 description: The affinity to place the rgw pods (default is to place on any available node)
7745 nullable: true
7746 properties:
7747 nodeAffinity:
7748 description: NodeAffinity is a group of node affinity scheduling rules
7749 properties:
7750 preferredDuringSchedulingIgnoredDuringExecution:
7751 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
7752 items:
7753 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
7754 properties:
7755 preference:
7756 description: A node selector term, associated with the corresponding weight.
7757 properties:
7758 matchExpressions:
7759 description: A list of node selector requirements by node's labels.
7760 items:
7761 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7762 properties:
7763 key:
7764 description: The label key that the selector applies to.
7765 type: string
7766 operator:
7767 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
7768 type: string
7769 values:
7770 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
7771 items:
7772 type: string
7773 type: array
7774 required:
7775 - key
7776 - operator
7777 type: object
7778 type: array
7779 matchFields:
7780 description: A list of node selector requirements by node's fields.
7781 items:
7782 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7783 properties:
7784 key:
7785 description: The label key that the selector applies to.
7786 type: string
7787 operator:
7788 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
7789 type: string
7790 values:
7791 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
7792 items:
7793 type: string
7794 type: array
7795 required:
7796 - key
7797 - operator
7798 type: object
7799 type: array
7800 type: object
7801 weight:
7802 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
7803 format: int32
7804 type: integer
7805 required:
7806 - preference
7807 - weight
7808 type: object
7809 type: array
7810 requiredDuringSchedulingIgnoredDuringExecution:
7811 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
7812 properties:
7813 nodeSelectorTerms:
7814 description: Required. A list of node selector terms. The terms are ORed.
7815 items:
7816 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
7817 properties:
7818 matchExpressions:
7819 description: A list of node selector requirements by node's labels.
7820 items:
7821 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7822 properties:
7823 key:
7824 description: The label key that the selector applies to.
7825 type: string
7826 operator:
7827 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
7828 type: string
7829 values:
7830 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
7831 items:
7832 type: string
7833 type: array
7834 required:
7835 - key
7836 - operator
7837 type: object
7838 type: array
7839 matchFields:
7840 description: A list of node selector requirements by node's fields.
7841 items:
7842 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7843 properties:
7844 key:
7845 description: The label key that the selector applies to.
7846 type: string
7847 operator:
7848 description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
7849 type: string
7850 values:
7851 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
7852 items:
7853 type: string
7854 type: array
7855 required:
7856 - key
7857 - operator
7858 type: object
7859 type: array
7860 type: object
7861 type: array
7862 required:
7863 - nodeSelectorTerms
7864 type: object
7865 type: object
7866 podAffinity:
7867 description: PodAffinity is a group of inter pod affinity scheduling rules
7868 properties:
7869 preferredDuringSchedulingIgnoredDuringExecution:
7870 description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
7871 items:
7872 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
7873 properties:
7874 podAffinityTerm:
7875 description: Required. A pod affinity term, associated with the corresponding weight.
7876 properties:
7877 labelSelector:
7878 description: A label query over a set of resources, in this case pods.
7879 properties:
7880 matchExpressions:
7881 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
7882 items:
7883 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7884 properties:
7885 key:
7886 description: key is the label key that the selector applies to.
7887 type: string
7888 operator:
7889 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
7890 type: string
7891 values:
7892 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
7893 items:
7894 type: string
7895 type: array
7896 required:
7897 - key
7898 - operator
7899 type: object
7900 type: array
7901 matchLabels:
7902 additionalProperties:
7903 type: string
7904 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
7905 type: object
7906 type: object
7907 namespaceSelector:
7908 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
7909 properties:
7910 matchExpressions:
7911 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
7912 items:
7913 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7914 properties:
7915 key:
7916 description: key is the label key that the selector applies to.
7917 type: string
7918 operator:
7919 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
7920 type: string
7921 values:
7922 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
7923 items:
7924 type: string
7925 type: array
7926 required:
7927 - key
7928 - operator
7929 type: object
7930 type: array
7931 matchLabels:
7932 additionalProperties:
7933 type: string
7934 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
7935 type: object
7936 type: object
7937 namespaces:
7938 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
7939 items:
7940 type: string
7941 type: array
7942 topologyKey:
7943 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
7944 type: string
7945 required:
7946 - topologyKey
7947 type: object
7948 weight:
7949 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
7950 format: int32
7951 type: integer
7952 required:
7953 - podAffinityTerm
7954 - weight
7955 type: object
7956 type: array
7957 requiredDuringSchedulingIgnoredDuringExecution:
7958 description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
7959 items:
7960 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
7961 properties:
7962 labelSelector:
7963 description: A label query over a set of resources, in this case pods.
7964 properties:
7965 matchExpressions:
7966 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
7967 items:
7968 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7969 properties:
7970 key:
7971 description: key is the label key that the selector applies to.
7972 type: string
7973 operator:
7974 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
7975 type: string
7976 values:
7977 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
7978 items:
7979 type: string
7980 type: array
7981 required:
7982 - key
7983 - operator
7984 type: object
7985 type: array
7986 matchLabels:
7987 additionalProperties:
7988 type: string
7989 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
7990 type: object
7991 type: object
7992 namespaceSelector:
7993 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
7994 properties:
7995 matchExpressions:
7996 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
7997 items:
7998 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7999 properties:
8000 key:
8001 description: key is the label key that the selector applies to.
8002 type: string
8003 operator:
8004 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8005 type: string
8006 values:
8007 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8008 items:
8009 type: string
8010 type: array
8011 required:
8012 - key
8013 - operator
8014 type: object
8015 type: array
8016 matchLabels:
8017 additionalProperties:
8018 type: string
8019 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8020 type: object
8021 type: object
8022 namespaces:
8023 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
8024 items:
8025 type: string
8026 type: array
8027 topologyKey:
8028 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
8029 type: string
8030 required:
8031 - topologyKey
8032 type: object
8033 type: array
8034 type: object
8035 podAntiAffinity:
8036 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
8037 properties:
8038 preferredDuringSchedulingIgnoredDuringExecution:
8039 description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
8040 items:
8041 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
8042 properties:
8043 podAffinityTerm:
8044 description: Required. A pod affinity term, associated with the corresponding weight.
8045 properties:
8046 labelSelector:
8047 description: A label query over a set of resources, in this case pods.
8048 properties:
8049 matchExpressions:
8050 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8051 items:
8052 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8053 properties:
8054 key:
8055 description: key is the label key that the selector applies to.
8056 type: string
8057 operator:
8058 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8059 type: string
8060 values:
8061 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8062 items:
8063 type: string
8064 type: array
8065 required:
8066 - key
8067 - operator
8068 type: object
8069 type: array
8070 matchLabels:
8071 additionalProperties:
8072 type: string
8073 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8074 type: object
8075 type: object
8076 namespaceSelector:
8077 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
8078 properties:
8079 matchExpressions:
8080 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8081 items:
8082 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8083 properties:
8084 key:
8085 description: key is the label key that the selector applies to.
8086 type: string
8087 operator:
8088 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8089 type: string
8090 values:
8091 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8092 items:
8093 type: string
8094 type: array
8095 required:
8096 - key
8097 - operator
8098 type: object
8099 type: array
8100 matchLabels:
8101 additionalProperties:
8102 type: string
8103 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8104 type: object
8105 type: object
8106 namespaces:
8107 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
8108 items:
8109 type: string
8110 type: array
8111 topologyKey:
8112 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
8113 type: string
8114 required:
8115 - topologyKey
8116 type: object
8117 weight:
8118 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
8119 format: int32
8120 type: integer
8121 required:
8122 - podAffinityTerm
8123 - weight
8124 type: object
8125 type: array
8126 requiredDuringSchedulingIgnoredDuringExecution:
8127 description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
8128 items:
8129 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
8130 properties:
8131 labelSelector:
8132 description: A label query over a set of resources, in this case pods.
8133 properties:
8134 matchExpressions:
8135 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8136 items:
8137 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8138 properties:
8139 key:
8140 description: key is the label key that the selector applies to.
8141 type: string
8142 operator:
8143 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8144 type: string
8145 values:
8146 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8147 items:
8148 type: string
8149 type: array
8150 required:
8151 - key
8152 - operator
8153 type: object
8154 type: array
8155 matchLabels:
8156 additionalProperties:
8157 type: string
8158 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8159 type: object
8160 type: object
8161 namespaceSelector:
8162 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
8163 properties:
8164 matchExpressions:
8165 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8166 items:
8167 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8168 properties:
8169 key:
8170 description: key is the label key that the selector applies to.
8171 type: string
8172 operator:
8173 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8174 type: string
8175 values:
8176 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8177 items:
8178 type: string
8179 type: array
8180 required:
8181 - key
8182 - operator
8183 type: object
8184 type: array
8185 matchLabels:
8186 additionalProperties:
8187 type: string
8188 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8189 type: object
8190 type: object
8191 namespaces:
8192 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
8193 items:
8194 type: string
8195 type: array
8196 topologyKey:
8197 description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
8198 type: string
8199 required:
8200 - topologyKey
8201 type: object
8202 type: array
8203 type: object
8204 tolerations:
8205 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
8206 items:
8207 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
8208 properties:
8209 effect:
8210 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
8211 type: string
8212 key:
8213 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
8214 type: string
8215 operator:
8216 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
8217 type: string
8218 tolerationSeconds:
8219 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
8220 format: int64
8221 type: integer
8222 value:
8223 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
8224 type: string
8225 type: object
8226 type: array
8227 topologySpreadConstraints:
8228 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
8229 items:
8230 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
8231 properties:
8232 labelSelector:
8233 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
8234 properties:
8235 matchExpressions:
8236 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8237 items:
8238 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8239 properties:
8240 key:
8241 description: key is the label key that the selector applies to.
8242 type: string
8243 operator:
8244 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8245 type: string
8246 values:
8247 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8248 items:
8249 type: string
8250 type: array
8251 required:
8252 - key
8253 - operator
8254 type: object
8255 type: array
8256 matchLabels:
8257 additionalProperties:
8258 type: string
8259 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8260 type: object
8261 type: object
8262 maxSkew:
8263 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
8264 format: int32
8265 type: integer
8266 topologyKey:
8267 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
8268 type: string
8269 whenUnsatisfiable:
8270 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
8271 type: string
8272 required:
8273 - maxSkew
8274 - topologyKey
8275 - whenUnsatisfiable
8276 type: object
8277 type: array
8278 type: object
8279 x-kubernetes-preserve-unknown-fields: true
8280 priorityClassName:
8281 description: PriorityClassName sets priority class on the rbd mirror pods
8282 type: string
8283 resources:
8284 description: The resource requirements for the rbd mirror pods
8285 nullable: true
8286 properties:
8287 limits:
8288 additionalProperties:
8289 anyOf:
8290 - type: integer
8291 - type: string
8292 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8293 x-kubernetes-int-or-string: true
8294 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
8295 type: object
8296 requests:
8297 additionalProperties:
8298 anyOf:
8299 - type: integer
8300 - type: string
8301 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8302 x-kubernetes-int-or-string: true
8303 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
8304 type: object
8305 type: object
8306 x-kubernetes-preserve-unknown-fields: true
8307 required:
8308 - count
8309 type: object
8310 status:
8311 description: Status represents the status of an object
8312 properties:
8313 phase:
8314 type: string
8315 type: object
8316 x-kubernetes-preserve-unknown-fields: true
8317 required:
8318 - metadata
8319 - spec
8320 type: object
8321 served: true
8322 storage: true
8323 subresources:
8324 status: {}
8325status:
8326 acceptedNames:
8327 kind: ""
8328 plural: ""
8329 conditions: []
8330 storedVersions: []
8331---
8332apiVersion: apiextensions.k8s.io/v1
8333kind: CustomResourceDefinition
8334metadata:
8335 name: objectbucketclaims.objectbucket.io
8336spec:
8337 group: objectbucket.io
8338 names:
8339 kind: ObjectBucketClaim
8340 listKind: ObjectBucketClaimList
8341 plural: objectbucketclaims
8342 singular: objectbucketclaim
8343 shortNames:
8344 - obc
8345 - obcs
8346 scope: Namespaced
8347 versions:
8348 - name: v1alpha1
8349 served: true
8350 storage: true
8351 schema:
8352 openAPIV3Schema:
8353 type: object
8354 properties:
8355 spec:
8356 type: object
8357 properties:
8358 storageClassName:
8359 type: string
8360 bucketName:
8361 type: string
8362 generateBucketName:
8363 type: string
8364 additionalConfig:
8365 type: object
8366 nullable: true
8367 x-kubernetes-preserve-unknown-fields: true
8368 objectBucketName:
8369 type: string
8370 status:
8371 type: object
8372 x-kubernetes-preserve-unknown-fields: true
8373 subresources:
8374 status: {}
8375---
8376apiVersion: apiextensions.k8s.io/v1
8377kind: CustomResourceDefinition
8378metadata:
8379 name: objectbuckets.objectbucket.io
8380spec:
8381 group: objectbucket.io
8382 names:
8383 kind: ObjectBucket
8384 listKind: ObjectBucketList
8385 plural: objectbuckets
8386 singular: objectbucket
8387 shortNames:
8388 - ob
8389 - obs
8390 scope: Cluster
8391 versions:
8392 - name: v1alpha1
8393 served: true
8394 storage: true
8395 schema:
8396 openAPIV3Schema:
8397 type: object
8398 properties:
8399 spec:
8400 type: object
8401 properties:
8402 storageClassName:
8403 type: string
8404 endpoint:
8405 type: object
8406 nullable: true
8407 properties:
8408 bucketHost:
8409 type: string
8410 bucketPort:
8411 type: integer
8412 format: int32
8413 bucketName:
8414 type: string
8415 region:
8416 type: string
8417 subRegion:
8418 type: string
8419 additionalConfig:
8420 type: object
8421 nullable: true
8422 x-kubernetes-preserve-unknown-fields: true
8423 authentication:
8424 type: object
8425 nullable: true
8426 items:
8427 type: object
8428 x-kubernetes-preserve-unknown-fields: true
8429 additionalState:
8430 type: object
8431 nullable: true
8432 x-kubernetes-preserve-unknown-fields: true
8433 reclaimPolicy:
8434 type: string
8435 claimRef:
8436 type: object
8437 nullable: true
8438 x-kubernetes-preserve-unknown-fields: true
8439 status:
8440 type: object
8441 x-kubernetes-preserve-unknown-fields: true
8442 subresources:
8443 status: {}
8444---
8445apiVersion: apiextensions.k8s.io/v1
8446kind: CustomResourceDefinition
8447metadata:
8448 annotations:
8449 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
8450 creationTimestamp: null
8451 name: volumereplicationclasses.replication.storage.openshift.io
8452spec:
8453 group: replication.storage.openshift.io
8454 names:
8455 kind: VolumeReplicationClass
8456 listKind: VolumeReplicationClassList
8457 plural: volumereplicationclasses
8458 shortNames:
8459 - vrc
8460 singular: volumereplicationclass
8461 scope: Cluster
8462 versions:
8463 - additionalPrinterColumns:
8464 - jsonPath: .spec.provisioner
8465 name: provisioner
8466 type: string
8467 name: v1alpha1
8468 schema:
8469 openAPIV3Schema:
8470 description: VolumeReplicationClass is the Schema for the volumereplicationclasses API
8471 properties:
8472 apiVersion:
8473 description: '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'
8474 type: string
8475 kind:
8476 description: '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'
8477 type: string
8478 metadata:
8479 type: object
8480 spec:
8481 description: VolumeReplicationClassSpec specifies parameters that an underlying storage system uses when creating a volume replica. A specific VolumeReplicationClass is used by specifying its name in a VolumeReplication object.
8482 properties:
8483 parameters:
8484 additionalProperties:
8485 type: string
8486 description: Parameters is a key-value map with storage provisioner specific configurations for creating volume replicas
8487 type: object
8488 provisioner:
8489 description: Provisioner is the name of storage provisioner
8490 type: string
8491 required:
8492 - provisioner
8493 type: object
8494 status:
8495 description: VolumeReplicationClassStatus defines the observed state of VolumeReplicationClass
8496 type: object
8497 type: object
8498 served: true
8499 storage: true
8500 subresources:
8501 status: {}
8502status:
8503 acceptedNames:
8504 kind: ""
8505 plural: ""
8506 conditions: []
8507 storedVersions: []
8508---
8509apiVersion: apiextensions.k8s.io/v1
8510kind: CustomResourceDefinition
8511metadata:
8512 annotations:
8513 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
8514 creationTimestamp: null
8515 name: volumereplications.replication.storage.openshift.io
8516spec:
8517 group: replication.storage.openshift.io
8518 names:
8519 kind: VolumeReplication
8520 listKind: VolumeReplicationList
8521 plural: volumereplications
8522 shortNames:
8523 - vr
8524 singular: volumereplication
8525 scope: Namespaced
8526 versions:
8527 - additionalPrinterColumns:
8528 - jsonPath: .metadata.creationTimestamp
8529 name: Age
8530 type: date
8531 - jsonPath: .spec.volumeReplicationClass
8532 name: volumeReplicationClass
8533 type: string
8534 - jsonPath: .spec.dataSource.name
8535 name: pvcName
8536 type: string
8537 - jsonPath: .spec.replicationState
8538 name: desiredState
8539 type: string
8540 - jsonPath: .status.state
8541 name: currentState
8542 type: string
8543 name: v1alpha1
8544 schema:
8545 openAPIV3Schema:
8546 description: VolumeReplication is the Schema for the volumereplications API
8547 properties:
8548 apiVersion:
8549 description: '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'
8550 type: string
8551 kind:
8552 description: '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'
8553 type: string
8554 metadata:
8555 type: object
8556 spec:
8557 description: VolumeReplicationSpec defines the desired state of VolumeReplication
8558 properties:
8559 dataSource:
8560 description: DataSource represents the object associated with the volume
8561 properties:
8562 apiGroup:
8563 description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
8564 type: string
8565 kind:
8566 description: Kind is the type of resource being referenced
8567 type: string
8568 name:
8569 description: Name is the name of resource being referenced
8570 type: string
8571 required:
8572 - kind
8573 - name
8574 type: object
8575 replicationState:
8576 description: ReplicationState represents the replication operation to be performed on the volume. Supported operations are "primary", "secondary" and "resync"
8577 enum:
8578 - primary
8579 - secondary
8580 - resync
8581 type: string
8582 volumeReplicationClass:
8583 description: VolumeReplicationClass is the VolumeReplicationClass name for this VolumeReplication resource
8584 type: string
8585 required:
8586 - dataSource
8587 - replicationState
8588 - volumeReplicationClass
8589 type: object
8590 status:
8591 description: VolumeReplicationStatus defines the observed state of VolumeReplication
8592 properties:
8593 conditions:
8594 description: Conditions are the list of conditions and their status.
8595 items:
8596 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
8597 properties:
8598 lastTransitionTime:
8599 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
8600 format: date-time
8601 type: string
8602 message:
8603 description: message is a human readable message indicating details about the transition. This may be an empty string.
8604 maxLength: 32768
8605 type: string
8606 observedGeneration:
8607 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
8608 format: int64
8609 minimum: 0
8610 type: integer
8611 reason:
8612 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
8613 maxLength: 1024
8614 minLength: 1
8615 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
8616 type: string
8617 status:
8618 description: status of the condition, one of True, False, Unknown.
8619 enum:
8620 - "True"
8621 - "False"
8622 - Unknown
8623 type: string
8624 type:
8625 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
8626 maxLength: 316
8627 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
8628 type: string
8629 required:
8630 - lastTransitionTime
8631 - message
8632 - reason
8633 - status
8634 - type
8635 type: object
8636 type: array
8637 lastCompletionTime:
8638 format: date-time
8639 type: string
8640 lastStartTime:
8641 format: date-time
8642 type: string
8643 message:
8644 type: string
8645 observedGeneration:
8646 description: observedGeneration is the last generation change the operator has dealt with
8647 format: int64
8648 type: integer
8649 state:
8650 description: State captures the latest state of the replication operation
8651 type: string
8652 type: object
8653 type: object
8654 served: true
8655 storage: true
8656 subresources:
8657 status: {}
8658status:
8659 acceptedNames:
8660 kind: ""
8661 plural: ""
8662 conditions: []
8663 storedVersions: []
8664---
8665apiVersion: apiextensions.k8s.io/v1
8666kind: CustomResourceDefinition
8667metadata:
8668 annotations:
8669 controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
8670 creationTimestamp: null
8671 name: volumes.rook.io
8672spec:
8673 group: rook.io
8674 names:
8675 kind: Volume
8676 listKind: VolumeList
8677 plural: volumes
8678 shortNames:
8679 - rv
8680 singular: volume
8681 scope: Namespaced
8682 versions:
8683 - name: v1alpha2
8684 schema:
8685 openAPIV3Schema:
8686 properties:
8687 apiVersion:
8688 description: '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'
8689 type: string
8690 attachments:
8691 items:
8692 properties:
8693 clusterName:
8694 type: string
8695 mountDir:
8696 type: string
8697 node:
8698 type: string
8699 podName:
8700 type: string
8701 podNamespace:
8702 type: string
8703 readOnly:
8704 type: boolean
8705 required:
8706 - clusterName
8707 - mountDir
8708 - node
8709 - podName
8710 - podNamespace
8711 - readOnly
8712 type: object
8713 type: array
8714 kind:
8715 description: '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'
8716 type: string
8717 metadata:
8718 type: object
8719 required:
8720 - attachments
8721 - metadata
8722 type: object
8723 served: true
8724 storage: true
8725status:
8726 acceptedNames:
8727 kind: ""
8728 plural: ""
8729 conditions: []
8730 storedVersions: []