github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/applications/redis-operator/databases.spotahome.com_redisfailovers.yaml (about) 1 2 --- 3 apiVersion: apiextensions.k8s.io/v1 4 kind: CustomResourceDefinition 5 metadata: 6 annotations: 7 controller-gen.kubebuilder.io/version: (devel) 8 creationTimestamp: null 9 name: redisfailovers.databases.spotahome.com 10 spec: 11 group: databases.spotahome.com 12 names: 13 kind: RedisFailover 14 listKind: RedisFailoverList 15 plural: redisfailovers 16 shortNames: 17 - rf 18 singular: redisfailover 19 scope: Namespaced 20 versions: 21 - additionalPrinterColumns: 22 - jsonPath: .metadata.name 23 name: NAME 24 type: string 25 - jsonPath: .spec.redis.replicas 26 name: REDIS 27 type: integer 28 - jsonPath: .spec.sentinel.replicas 29 name: SENTINELS 30 type: integer 31 - jsonPath: .metadata.creationTimestamp 32 name: AGE 33 type: date 34 name: v1 35 schema: 36 openAPIV3Schema: 37 description: RedisFailover represents a Redis failover 38 properties: 39 apiVersion: 40 description: 'APIVersion defines the versioned schema of this representation 41 of an object. Servers should convert recognized schemas to the latest 42 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 43 type: string 44 kind: 45 description: 'Kind is a string value representing the REST resource this 46 object represents. Servers may infer this from the endpoint the client 47 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 48 type: string 49 metadata: 50 type: object 51 spec: 52 description: RedisFailoverSpec represents a Redis failover spec 53 properties: 54 auth: 55 description: AuthSettings contains settings about auth 56 properties: 57 secretPath: 58 type: string 59 type: object 60 bootstrapNode: 61 description: BootstrapSettings contains settings about a potential 62 bootstrap node 63 properties: 64 allowSentinels: 65 type: boolean 66 host: 67 type: string 68 port: 69 type: string 70 type: object 71 labelWhitelist: 72 items: 73 type: string 74 type: array 75 redis: 76 description: RedisSettings defines the specification of the redis 77 cluster 78 properties: 79 affinity: 80 description: Affinity is a group of affinity scheduling rules. 81 properties: 82 nodeAffinity: 83 description: Describes node affinity scheduling rules for 84 the pod. 85 properties: 86 preferredDuringSchedulingIgnoredDuringExecution: 87 description: The scheduler will prefer to schedule pods 88 to nodes that satisfy the affinity expressions specified 89 by this field, but it may choose a node that violates 90 one or more of the expressions. The node that is most 91 preferred is the one with the greatest sum of weights, 92 i.e. for each node that meets all of the scheduling 93 requirements (resource request, requiredDuringScheduling 94 affinity expressions, etc.), compute a sum by iterating 95 through the elements of this field and adding "weight" 96 to the sum if the node matches the corresponding matchExpressions; 97 the node(s) with the highest sum are the most preferred. 98 items: 99 description: An empty preferred scheduling term matches 100 all objects with implicit weight 0 (i.e. it's a no-op). 101 A null preferred scheduling term matches no objects 102 (i.e. is also a no-op). 103 properties: 104 preference: 105 description: A node selector term, associated with 106 the corresponding weight. 107 properties: 108 matchExpressions: 109 description: A list of node selector requirements 110 by node's labels. 111 items: 112 description: A node selector requirement is 113 a selector that contains values, a key, 114 and an operator that relates the key and 115 values. 116 properties: 117 key: 118 description: The label key that the selector 119 applies to. 120 type: string 121 operator: 122 description: Represents a key's relationship 123 to a set of values. Valid operators 124 are In, NotIn, Exists, DoesNotExist. 125 Gt, and Lt. 126 type: string 127 values: 128 description: An array of string values. 129 If the operator is In or NotIn, the 130 values array must be non-empty. If the 131 operator is Exists or DoesNotExist, 132 the values array must be empty. If the 133 operator is Gt or Lt, the values array 134 must have a single element, which will 135 be interpreted as an integer. This array 136 is replaced during a strategic merge 137 patch. 138 items: 139 type: string 140 type: array 141 required: 142 - key 143 - operator 144 type: object 145 type: array 146 matchFields: 147 description: A list of node selector requirements 148 by node's fields. 149 items: 150 description: A node selector requirement is 151 a selector that contains values, a key, 152 and an operator that relates the key and 153 values. 154 properties: 155 key: 156 description: The label key that the selector 157 applies to. 158 type: string 159 operator: 160 description: Represents a key's relationship 161 to a set of values. Valid operators 162 are In, NotIn, Exists, DoesNotExist. 163 Gt, and Lt. 164 type: string 165 values: 166 description: An array of string values. 167 If the operator is In or NotIn, the 168 values array must be non-empty. If the 169 operator is Exists or DoesNotExist, 170 the values array must be empty. If the 171 operator is Gt or Lt, the values array 172 must have a single element, which will 173 be interpreted as an integer. This array 174 is replaced during a strategic merge 175 patch. 176 items: 177 type: string 178 type: array 179 required: 180 - key 181 - operator 182 type: object 183 type: array 184 type: object 185 weight: 186 description: Weight associated with matching the 187 corresponding nodeSelectorTerm, in the range 1-100. 188 format: int32 189 type: integer 190 required: 191 - preference 192 - weight 193 type: object 194 type: array 195 requiredDuringSchedulingIgnoredDuringExecution: 196 description: If the affinity requirements specified by 197 this field are not met at scheduling time, the pod will 198 not be scheduled onto the node. If the affinity requirements 199 specified by this field cease to be met at some point 200 during pod execution (e.g. due to an update), the system 201 may or may not try to eventually evict the pod from 202 its node. 203 properties: 204 nodeSelectorTerms: 205 description: Required. A list of node selector terms. 206 The terms are ORed. 207 items: 208 description: A null or empty node selector term 209 matches no objects. The requirements of them are 210 ANDed. The TopologySelectorTerm type implements 211 a subset of the NodeSelectorTerm. 212 properties: 213 matchExpressions: 214 description: A list of node selector requirements 215 by node's labels. 216 items: 217 description: A node selector requirement is 218 a selector that contains values, a key, 219 and an operator that relates the key and 220 values. 221 properties: 222 key: 223 description: The label key that the selector 224 applies to. 225 type: string 226 operator: 227 description: Represents a key's relationship 228 to a set of values. Valid operators 229 are In, NotIn, Exists, DoesNotExist. 230 Gt, and Lt. 231 type: string 232 values: 233 description: An array of string values. 234 If the operator is In or NotIn, the 235 values array must be non-empty. If the 236 operator is Exists or DoesNotExist, 237 the values array must be empty. If the 238 operator is Gt or Lt, the values array 239 must have a single element, which will 240 be interpreted as an integer. This array 241 is replaced during a strategic merge 242 patch. 243 items: 244 type: string 245 type: array 246 required: 247 - key 248 - operator 249 type: object 250 type: array 251 matchFields: 252 description: A list of node selector requirements 253 by node's fields. 254 items: 255 description: A node selector requirement is 256 a selector that contains values, a key, 257 and an operator that relates the key and 258 values. 259 properties: 260 key: 261 description: The label key that the selector 262 applies to. 263 type: string 264 operator: 265 description: Represents a key's relationship 266 to a set of values. Valid operators 267 are In, NotIn, Exists, DoesNotExist. 268 Gt, and Lt. 269 type: string 270 values: 271 description: An array of string values. 272 If the operator is In or NotIn, the 273 values array must be non-empty. If the 274 operator is Exists or DoesNotExist, 275 the values array must be empty. If the 276 operator is Gt or Lt, the values array 277 must have a single element, which will 278 be interpreted as an integer. This array 279 is replaced during a strategic merge 280 patch. 281 items: 282 type: string 283 type: array 284 required: 285 - key 286 - operator 287 type: object 288 type: array 289 type: object 290 type: array 291 required: 292 - nodeSelectorTerms 293 type: object 294 type: object 295 podAffinity: 296 description: Describes pod affinity scheduling rules (e.g. 297 co-locate this pod in the same node, zone, etc. as some 298 other pod(s)). 299 properties: 300 preferredDuringSchedulingIgnoredDuringExecution: 301 description: The scheduler will prefer to schedule pods 302 to nodes that satisfy the affinity expressions specified 303 by this field, but it may choose a node that violates 304 one or more of the expressions. The node that is most 305 preferred is the one with the greatest sum of weights, 306 i.e. for each node that meets all of the scheduling 307 requirements (resource request, requiredDuringScheduling 308 affinity expressions, etc.), compute a sum by iterating 309 through the elements of this field and adding "weight" 310 to the sum if the node has pods which matches the corresponding 311 podAffinityTerm; the node(s) with the highest sum are 312 the most preferred. 313 items: 314 description: The weights of all of the matched WeightedPodAffinityTerm 315 fields are added per-node to find the most preferred 316 node(s) 317 properties: 318 podAffinityTerm: 319 description: Required. A pod affinity term, associated 320 with the corresponding weight. 321 properties: 322 labelSelector: 323 description: A label query over a set of resources, 324 in this case pods. 325 properties: 326 matchExpressions: 327 description: matchExpressions is a list 328 of label selector requirements. The requirements 329 are ANDed. 330 items: 331 description: A label selector requirement 332 is a selector that contains values, 333 a key, and an operator that relates 334 the key and values. 335 properties: 336 key: 337 description: key is the label key 338 that the selector applies to. 339 type: string 340 operator: 341 description: operator represents a 342 key's relationship to a set of values. 343 Valid operators are In, NotIn, Exists 344 and DoesNotExist. 345 type: string 346 values: 347 description: values is an array of 348 string values. If the operator is 349 In or NotIn, the values array must 350 be non-empty. If the operator is 351 Exists or DoesNotExist, the values 352 array must be empty. This array 353 is replaced during a strategic merge 354 patch. 355 items: 356 type: string 357 type: array 358 required: 359 - key 360 - operator 361 type: object 362 type: array 363 matchLabels: 364 additionalProperties: 365 type: string 366 description: matchLabels is a map of {key,value} 367 pairs. A single {key,value} in the matchLabels 368 map is equivalent to an element of matchExpressions, 369 whose key field is "key", the operator 370 is "In", and the values array contains 371 only "value". The requirements are ANDed. 372 type: object 373 type: object 374 namespaceSelector: 375 description: A label query over the set of namespaces 376 that the term applies to. The term is applied 377 to the union of the namespaces selected by 378 this field and the ones listed in the namespaces 379 field. null selector and null or empty namespaces 380 list means "this pod's namespace". An empty 381 selector ({}) matches all namespaces. This 382 field is beta-level and is only honored when 383 PodAffinityNamespaceSelector feature is enabled. 384 properties: 385 matchExpressions: 386 description: matchExpressions is a list 387 of label selector requirements. The requirements 388 are ANDed. 389 items: 390 description: A label selector requirement 391 is a selector that contains values, 392 a key, and an operator that relates 393 the key and values. 394 properties: 395 key: 396 description: key is the label key 397 that the selector applies to. 398 type: string 399 operator: 400 description: operator represents a 401 key's relationship to a set of values. 402 Valid operators are In, NotIn, Exists 403 and DoesNotExist. 404 type: string 405 values: 406 description: values is an array of 407 string values. If the operator is 408 In or NotIn, the values array must 409 be non-empty. If the operator is 410 Exists or DoesNotExist, the values 411 array must be empty. This array 412 is replaced during a strategic merge 413 patch. 414 items: 415 type: string 416 type: array 417 required: 418 - key 419 - operator 420 type: object 421 type: array 422 matchLabels: 423 additionalProperties: 424 type: string 425 description: matchLabels is a map of {key,value} 426 pairs. A single {key,value} in the matchLabels 427 map is equivalent to an element of matchExpressions, 428 whose key field is "key", the operator 429 is "In", and the values array contains 430 only "value". The requirements are ANDed. 431 type: object 432 type: object 433 namespaces: 434 description: namespaces specifies a static list 435 of namespace names that the term applies to. 436 The term is applied to the union of the namespaces 437 listed in this field and the ones selected 438 by namespaceSelector. null or empty namespaces 439 list and null namespaceSelector means "this 440 pod's namespace" 441 items: 442 type: string 443 type: array 444 topologyKey: 445 description: This pod should be co-located (affinity) 446 or not co-located (anti-affinity) with the 447 pods matching the labelSelector in the specified 448 namespaces, where co-located is defined as 449 running on a node whose value of the label 450 with key topologyKey matches that of any node 451 on which any of the selected pods is running. 452 Empty topologyKey is not allowed. 453 type: string 454 required: 455 - topologyKey 456 type: object 457 weight: 458 description: weight associated with matching the 459 corresponding podAffinityTerm, in the range 1-100. 460 format: int32 461 type: integer 462 required: 463 - podAffinityTerm 464 - weight 465 type: object 466 type: array 467 requiredDuringSchedulingIgnoredDuringExecution: 468 description: If the affinity requirements specified by 469 this field are not met at scheduling time, the pod will 470 not be scheduled onto the node. If the affinity requirements 471 specified by this field cease to be met at some point 472 during pod execution (e.g. due to a pod label update), 473 the system may or may not try to eventually evict the 474 pod from its node. When there are multiple elements, 475 the lists of nodes corresponding to each podAffinityTerm 476 are intersected, i.e. all terms must be satisfied. 477 items: 478 description: Defines a set of pods (namely those matching 479 the labelSelector relative to the given namespace(s)) 480 that this pod should be co-located (affinity) or not 481 co-located (anti-affinity) with, where co-located 482 is defined as running on a node whose value of the 483 label with key <topologyKey> matches that of any node 484 on which a pod of the set of pods is running 485 properties: 486 labelSelector: 487 description: A label query over a set of resources, 488 in this case pods. 489 properties: 490 matchExpressions: 491 description: matchExpressions is a list of label 492 selector requirements. The requirements are 493 ANDed. 494 items: 495 description: A label selector requirement 496 is a selector that contains values, a key, 497 and an operator that relates the key and 498 values. 499 properties: 500 key: 501 description: key is the label key that 502 the selector applies to. 503 type: string 504 operator: 505 description: operator represents a key's 506 relationship to a set of values. Valid 507 operators are In, NotIn, Exists and 508 DoesNotExist. 509 type: string 510 values: 511 description: values is an array of string 512 values. If the operator is In or NotIn, 513 the values array must be non-empty. 514 If the operator is Exists or DoesNotExist, 515 the values array must be empty. This 516 array is replaced during a strategic 517 merge patch. 518 items: 519 type: string 520 type: array 521 required: 522 - key 523 - operator 524 type: object 525 type: array 526 matchLabels: 527 additionalProperties: 528 type: string 529 description: matchLabels is a map of {key,value} 530 pairs. A single {key,value} in the matchLabels 531 map is equivalent to an element of matchExpressions, 532 whose key field is "key", the operator is 533 "In", and the values array contains only "value". 534 The requirements are ANDed. 535 type: object 536 type: object 537 namespaceSelector: 538 description: A label query over the set of namespaces 539 that the term applies to. The term is applied 540 to the union of the namespaces selected by this 541 field and the ones listed in the namespaces field. 542 null selector and null or empty namespaces list 543 means "this pod's namespace". An empty selector 544 ({}) matches all namespaces. This field is beta-level 545 and is only honored when PodAffinityNamespaceSelector 546 feature is enabled. 547 properties: 548 matchExpressions: 549 description: matchExpressions is a list of label 550 selector requirements. The requirements are 551 ANDed. 552 items: 553 description: A label selector requirement 554 is a selector that contains values, a key, 555 and an operator that relates the key and 556 values. 557 properties: 558 key: 559 description: key is the label key that 560 the selector applies to. 561 type: string 562 operator: 563 description: operator represents a key's 564 relationship to a set of values. Valid 565 operators are In, NotIn, Exists and 566 DoesNotExist. 567 type: string 568 values: 569 description: values is an array of string 570 values. If the operator is In or NotIn, 571 the values array must be non-empty. 572 If the operator is Exists or DoesNotExist, 573 the values array must be empty. This 574 array is replaced during a strategic 575 merge patch. 576 items: 577 type: string 578 type: array 579 required: 580 - key 581 - operator 582 type: object 583 type: array 584 matchLabels: 585 additionalProperties: 586 type: string 587 description: matchLabels is a map of {key,value} 588 pairs. A single {key,value} in the matchLabels 589 map is equivalent to an element of matchExpressions, 590 whose key field is "key", the operator is 591 "In", and the values array contains only "value". 592 The requirements are ANDed. 593 type: object 594 type: object 595 namespaces: 596 description: namespaces specifies a static list 597 of namespace names that the term applies to. The 598 term is applied to the union of the namespaces 599 listed in this field and the ones selected by 600 namespaceSelector. null or empty namespaces list 601 and null namespaceSelector means "this pod's namespace" 602 items: 603 type: string 604 type: array 605 topologyKey: 606 description: This pod should be co-located (affinity) 607 or not co-located (anti-affinity) with the pods 608 matching the labelSelector in the specified namespaces, 609 where co-located is defined as running on a node 610 whose value of the label with key topologyKey 611 matches that of any node on which any of the selected 612 pods is running. Empty topologyKey is not allowed. 613 type: string 614 required: 615 - topologyKey 616 type: object 617 type: array 618 type: object 619 podAntiAffinity: 620 description: Describes pod anti-affinity scheduling rules 621 (e.g. avoid putting this pod in the same node, zone, etc. 622 as some other pod(s)). 623 properties: 624 preferredDuringSchedulingIgnoredDuringExecution: 625 description: The scheduler will prefer to schedule pods 626 to nodes that satisfy the anti-affinity expressions 627 specified by this field, but it may choose a node that 628 violates one or more of the expressions. The node that 629 is most preferred is the one with the greatest sum of 630 weights, i.e. for each node that meets all of the scheduling 631 requirements (resource request, requiredDuringScheduling 632 anti-affinity expressions, etc.), compute a sum by iterating 633 through the elements of this field and adding "weight" 634 to the sum if the node has pods which matches the corresponding 635 podAffinityTerm; the node(s) with the highest sum are 636 the most preferred. 637 items: 638 description: The weights of all of the matched WeightedPodAffinityTerm 639 fields are added per-node to find the most preferred 640 node(s) 641 properties: 642 podAffinityTerm: 643 description: Required. A pod affinity term, associated 644 with the corresponding weight. 645 properties: 646 labelSelector: 647 description: A label query over a set of resources, 648 in this case pods. 649 properties: 650 matchExpressions: 651 description: matchExpressions is a list 652 of label selector requirements. The requirements 653 are ANDed. 654 items: 655 description: A label selector requirement 656 is a selector that contains values, 657 a key, and an operator that relates 658 the key and values. 659 properties: 660 key: 661 description: key is the label key 662 that the selector applies to. 663 type: string 664 operator: 665 description: operator represents a 666 key's relationship to a set of values. 667 Valid operators are In, NotIn, Exists 668 and DoesNotExist. 669 type: string 670 values: 671 description: values is an array of 672 string values. If the operator is 673 In or NotIn, the values array must 674 be non-empty. If the operator is 675 Exists or DoesNotExist, the values 676 array must be empty. This array 677 is replaced during a strategic merge 678 patch. 679 items: 680 type: string 681 type: array 682 required: 683 - key 684 - operator 685 type: object 686 type: array 687 matchLabels: 688 additionalProperties: 689 type: string 690 description: matchLabels is a map of {key,value} 691 pairs. A single {key,value} in the matchLabels 692 map is equivalent to an element of matchExpressions, 693 whose key field is "key", the operator 694 is "In", and the values array contains 695 only "value". The requirements are ANDed. 696 type: object 697 type: object 698 namespaceSelector: 699 description: A label query over the set of namespaces 700 that the term applies to. The term is applied 701 to the union of the namespaces selected by 702 this field and the ones listed in the namespaces 703 field. null selector and null or empty namespaces 704 list means "this pod's namespace". An empty 705 selector ({}) matches all namespaces. This 706 field is beta-level and is only honored when 707 PodAffinityNamespaceSelector feature is enabled. 708 properties: 709 matchExpressions: 710 description: matchExpressions is a list 711 of label selector requirements. The requirements 712 are ANDed. 713 items: 714 description: A label selector requirement 715 is a selector that contains values, 716 a key, and an operator that relates 717 the key and values. 718 properties: 719 key: 720 description: key is the label key 721 that the selector applies to. 722 type: string 723 operator: 724 description: operator represents a 725 key's relationship to a set of values. 726 Valid operators are In, NotIn, Exists 727 and DoesNotExist. 728 type: string 729 values: 730 description: values is an array of 731 string values. If the operator is 732 In or NotIn, the values array must 733 be non-empty. If the operator is 734 Exists or DoesNotExist, the values 735 array must be empty. This array 736 is replaced during a strategic merge 737 patch. 738 items: 739 type: string 740 type: array 741 required: 742 - key 743 - operator 744 type: object 745 type: array 746 matchLabels: 747 additionalProperties: 748 type: string 749 description: matchLabels is a map of {key,value} 750 pairs. A single {key,value} in the matchLabels 751 map is equivalent to an element of matchExpressions, 752 whose key field is "key", the operator 753 is "In", and the values array contains 754 only "value". The requirements are ANDed. 755 type: object 756 type: object 757 namespaces: 758 description: namespaces specifies a static list 759 of namespace names that the term applies to. 760 The term is applied to the union of the namespaces 761 listed in this field and the ones selected 762 by namespaceSelector. null or empty namespaces 763 list and null namespaceSelector means "this 764 pod's namespace" 765 items: 766 type: string 767 type: array 768 topologyKey: 769 description: This pod should be co-located (affinity) 770 or not co-located (anti-affinity) with the 771 pods matching the labelSelector in the specified 772 namespaces, where co-located is defined as 773 running on a node whose value of the label 774 with key topologyKey matches that of any node 775 on which any of the selected pods is running. 776 Empty topologyKey is not allowed. 777 type: string 778 required: 779 - topologyKey 780 type: object 781 weight: 782 description: weight associated with matching the 783 corresponding podAffinityTerm, in the range 1-100. 784 format: int32 785 type: integer 786 required: 787 - podAffinityTerm 788 - weight 789 type: object 790 type: array 791 requiredDuringSchedulingIgnoredDuringExecution: 792 description: If the anti-affinity requirements specified 793 by this field are not met at scheduling time, the pod 794 will not be scheduled onto the node. If the anti-affinity 795 requirements specified by this field cease to be met 796 at some point during pod execution (e.g. due to a pod 797 label update), the system may or may not try to eventually 798 evict the pod from its node. When there are multiple 799 elements, the lists of nodes corresponding to each podAffinityTerm 800 are intersected, i.e. all terms must be satisfied. 801 items: 802 description: Defines a set of pods (namely those matching 803 the labelSelector relative to the given namespace(s)) 804 that this pod should be co-located (affinity) or not 805 co-located (anti-affinity) with, where co-located 806 is defined as running on a node whose value of the 807 label with key <topologyKey> matches that of any node 808 on which a pod of the set of pods is running 809 properties: 810 labelSelector: 811 description: A label query over a set of resources, 812 in this case pods. 813 properties: 814 matchExpressions: 815 description: matchExpressions is a list of label 816 selector requirements. The requirements are 817 ANDed. 818 items: 819 description: A label selector requirement 820 is a selector that contains values, a key, 821 and an operator that relates the key and 822 values. 823 properties: 824 key: 825 description: key is the label key that 826 the selector applies to. 827 type: string 828 operator: 829 description: operator represents a key's 830 relationship to a set of values. Valid 831 operators are In, NotIn, Exists and 832 DoesNotExist. 833 type: string 834 values: 835 description: values is an array of string 836 values. If the operator is In or NotIn, 837 the values array must be non-empty. 838 If the operator is Exists or DoesNotExist, 839 the values array must be empty. This 840 array is replaced during a strategic 841 merge patch. 842 items: 843 type: string 844 type: array 845 required: 846 - key 847 - operator 848 type: object 849 type: array 850 matchLabels: 851 additionalProperties: 852 type: string 853 description: matchLabels is a map of {key,value} 854 pairs. A single {key,value} in the matchLabels 855 map is equivalent to an element of matchExpressions, 856 whose key field is "key", the operator is 857 "In", and the values array contains only "value". 858 The requirements are ANDed. 859 type: object 860 type: object 861 namespaceSelector: 862 description: A label query over the set of namespaces 863 that the term applies to. The term is applied 864 to the union of the namespaces selected by this 865 field and the ones listed in the namespaces field. 866 null selector and null or empty namespaces list 867 means "this pod's namespace". An empty selector 868 ({}) matches all namespaces. This field is beta-level 869 and is only honored when PodAffinityNamespaceSelector 870 feature is enabled. 871 properties: 872 matchExpressions: 873 description: matchExpressions is a list of label 874 selector requirements. The requirements are 875 ANDed. 876 items: 877 description: A label selector requirement 878 is a selector that contains values, a key, 879 and an operator that relates the key and 880 values. 881 properties: 882 key: 883 description: key is the label key that 884 the selector applies to. 885 type: string 886 operator: 887 description: operator represents a key's 888 relationship to a set of values. Valid 889 operators are In, NotIn, Exists and 890 DoesNotExist. 891 type: string 892 values: 893 description: values is an array of string 894 values. If the operator is In or NotIn, 895 the values array must be non-empty. 896 If the operator is Exists or DoesNotExist, 897 the values array must be empty. This 898 array is replaced during a strategic 899 merge patch. 900 items: 901 type: string 902 type: array 903 required: 904 - key 905 - operator 906 type: object 907 type: array 908 matchLabels: 909 additionalProperties: 910 type: string 911 description: matchLabels is a map of {key,value} 912 pairs. A single {key,value} in the matchLabels 913 map is equivalent to an element of matchExpressions, 914 whose key field is "key", the operator is 915 "In", and the values array contains only "value". 916 The requirements are ANDed. 917 type: object 918 type: object 919 namespaces: 920 description: namespaces specifies a static list 921 of namespace names that the term applies to. The 922 term is applied to the union of the namespaces 923 listed in this field and the ones selected by 924 namespaceSelector. null or empty namespaces list 925 and null namespaceSelector means "this pod's namespace" 926 items: 927 type: string 928 type: array 929 topologyKey: 930 description: This pod should be co-located (affinity) 931 or not co-located (anti-affinity) with the pods 932 matching the labelSelector in the specified namespaces, 933 where co-located is defined as running on a node 934 whose value of the label with key topologyKey 935 matches that of any node on which any of the selected 936 pods is running. Empty topologyKey is not allowed. 937 type: string 938 required: 939 - topologyKey 940 type: object 941 type: array 942 type: object 943 type: object 944 command: 945 items: 946 type: string 947 type: array 948 customCommandRenames: 949 items: 950 description: RedisCommandRename defines the specification of 951 a "rename-command" configuration option 952 properties: 953 from: 954 type: string 955 to: 956 type: string 957 type: object 958 type: array 959 customConfig: 960 items: 961 type: string 962 type: array 963 dnsPolicy: 964 description: DNSPolicy defines how a pod's DNS will be configured. 965 type: string 966 exporter: 967 description: RedisExporter defines the specification for the redis 968 exporter 969 properties: 970 args: 971 items: 972 type: string 973 type: array 974 enabled: 975 type: boolean 976 env: 977 items: 978 description: EnvVar represents an environment variable present 979 in a Container. 980 properties: 981 name: 982 description: Name of the environment variable. Must 983 be a C_IDENTIFIER. 984 type: string 985 value: 986 description: 'Variable references $(VAR_NAME) are expanded 987 using the previously defined environment variables 988 in the container and any service environment variables. 989 If a variable cannot be resolved, the reference in 990 the input string will be unchanged. Double $$ are 991 reduced to a single $, which allows for escaping the 992 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce 993 the string literal "$(VAR_NAME)". Escaped references 994 will never be expanded, regardless of whether the 995 variable exists or not. Defaults to "".' 996 type: string 997 valueFrom: 998 description: Source for the environment variable's value. 999 Cannot be used if value is not empty. 1000 properties: 1001 configMapKeyRef: 1002 description: Selects a key of a ConfigMap. 1003 properties: 1004 key: 1005 description: The key to select. 1006 type: string 1007 name: 1008 description: 'Name of the referent. More info: 1009 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1010 TODO: Add other useful fields. apiVersion, 1011 kind, uid?' 1012 type: string 1013 optional: 1014 description: Specify whether the ConfigMap or 1015 its key must be defined 1016 type: boolean 1017 required: 1018 - key 1019 type: object 1020 fieldRef: 1021 description: 'Selects a field of the pod: supports 1022 metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, 1023 `metadata.annotations[''<KEY>'']`, spec.nodeName, 1024 spec.serviceAccountName, status.hostIP, status.podIP, 1025 status.podIPs.' 1026 properties: 1027 apiVersion: 1028 description: Version of the schema the FieldPath 1029 is written in terms of, defaults to "v1". 1030 type: string 1031 fieldPath: 1032 description: Path of the field to select in 1033 the specified API version. 1034 type: string 1035 required: 1036 - fieldPath 1037 type: object 1038 resourceFieldRef: 1039 description: 'Selects a resource of the container: 1040 only resources limits and requests (limits.cpu, 1041 limits.memory, limits.ephemeral-storage, requests.cpu, 1042 requests.memory and requests.ephemeral-storage) 1043 are currently supported.' 1044 properties: 1045 containerName: 1046 description: 'Container name: required for volumes, 1047 optional for env vars' 1048 type: string 1049 divisor: 1050 anyOf: 1051 - type: integer 1052 - type: string 1053 description: Specifies the output format of 1054 the exposed resources, defaults to "1" 1055 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1056 x-kubernetes-int-or-string: true 1057 resource: 1058 description: 'Required: resource to select' 1059 type: string 1060 required: 1061 - resource 1062 type: object 1063 secretKeyRef: 1064 description: Selects a key of a secret in the pod's 1065 namespace 1066 properties: 1067 key: 1068 description: The key of the secret to select 1069 from. Must be a valid secret key. 1070 type: string 1071 name: 1072 description: 'Name of the referent. More info: 1073 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1074 TODO: Add other useful fields. apiVersion, 1075 kind, uid?' 1076 type: string 1077 optional: 1078 description: Specify whether the Secret or its 1079 key must be defined 1080 type: boolean 1081 required: 1082 - key 1083 type: object 1084 type: object 1085 required: 1086 - name 1087 type: object 1088 type: array 1089 image: 1090 type: string 1091 imagePullPolicy: 1092 description: PullPolicy describes a policy for if/when to 1093 pull a container image 1094 type: string 1095 resources: 1096 description: ResourceRequirements describes the compute resource 1097 requirements. 1098 properties: 1099 limits: 1100 additionalProperties: 1101 anyOf: 1102 - type: integer 1103 - type: string 1104 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1105 x-kubernetes-int-or-string: true 1106 description: 'Limits describes the maximum amount of compute 1107 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 1108 type: object 1109 requests: 1110 additionalProperties: 1111 anyOf: 1112 - type: integer 1113 - type: string 1114 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1115 x-kubernetes-int-or-string: true 1116 description: 'Requests describes the minimum amount of 1117 compute resources required. If Requests is omitted for 1118 a container, it defaults to Limits if that is explicitly 1119 specified, otherwise to an implementation-defined value. 1120 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 1121 type: object 1122 type: object 1123 type: object 1124 hostNetwork: 1125 type: boolean 1126 image: 1127 type: string 1128 imagePullPolicy: 1129 description: PullPolicy describes a policy for if/when to pull 1130 a container image 1131 type: string 1132 imagePullSecrets: 1133 items: 1134 description: LocalObjectReference contains enough information 1135 to let you locate the referenced object inside the same namespace. 1136 properties: 1137 name: 1138 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1139 TODO: Add other useful fields. apiVersion, kind, uid?' 1140 type: string 1141 type: object 1142 type: array 1143 nodeSelector: 1144 additionalProperties: 1145 type: string 1146 type: object 1147 podAnnotations: 1148 additionalProperties: 1149 type: string 1150 type: object 1151 priorityClassName: 1152 type: string 1153 replicas: 1154 format: int32 1155 type: integer 1156 resources: 1157 description: ResourceRequirements describes the compute resource 1158 requirements. 1159 properties: 1160 limits: 1161 additionalProperties: 1162 anyOf: 1163 - type: integer 1164 - type: string 1165 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1166 x-kubernetes-int-or-string: true 1167 description: 'Limits describes the maximum amount of compute 1168 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 1169 type: object 1170 requests: 1171 additionalProperties: 1172 anyOf: 1173 - type: integer 1174 - type: string 1175 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1176 x-kubernetes-int-or-string: true 1177 description: 'Requests describes the minimum amount of compute 1178 resources required. If Requests is omitted for a container, 1179 it defaults to Limits if that is explicitly specified, otherwise 1180 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 1181 type: object 1182 type: object 1183 securityContext: 1184 description: PodSecurityContext holds pod-level security attributes 1185 and common container settings. Some fields are also present 1186 in container.securityContext. Field values of container.securityContext 1187 take precedence over field values of PodSecurityContext. 1188 properties: 1189 fsGroup: 1190 description: "A special supplemental group that applies to 1191 all containers in a pod. Some volume types allow the Kubelet 1192 to change the ownership of that volume to be owned by the 1193 pod: \n 1. The owning GID will be the FSGroup 2. The setgid 1194 bit is set (new files created in the volume will be owned 1195 by FSGroup) 3. The permission bits are OR'd with rw-rw---- 1196 \n If unset, the Kubelet will not modify the ownership and 1197 permissions of any volume." 1198 format: int64 1199 type: integer 1200 fsGroupChangePolicy: 1201 description: 'fsGroupChangePolicy defines behavior of changing 1202 ownership and permission of the volume before being exposed 1203 inside Pod. This field will only apply to volume types which 1204 support fsGroup based ownership(and permissions). It will 1205 have no effect on ephemeral volume types such as: secret, 1206 configmaps and emptydir. Valid values are "OnRootMismatch" 1207 and "Always". If not specified, "Always" is used.' 1208 type: string 1209 runAsGroup: 1210 description: The GID to run the entrypoint of the container 1211 process. Uses runtime default if unset. May also be set 1212 in SecurityContext. If set in both SecurityContext and 1213 PodSecurityContext, the value specified in SecurityContext 1214 takes precedence for that container. 1215 format: int64 1216 type: integer 1217 runAsNonRoot: 1218 description: Indicates that the container must run as a non-root 1219 user. If true, the Kubelet will validate the image at runtime 1220 to ensure that it does not run as UID 0 (root) and fail 1221 to start the container if it does. If unset or false, no 1222 such validation will be performed. May also be set in SecurityContext. If 1223 set in both SecurityContext and PodSecurityContext, the 1224 value specified in SecurityContext takes precedence. 1225 type: boolean 1226 runAsUser: 1227 description: The UID to run the entrypoint of the container 1228 process. Defaults to user specified in image metadata if 1229 unspecified. May also be set in SecurityContext. If set 1230 in both SecurityContext and PodSecurityContext, the value 1231 specified in SecurityContext takes precedence for that container. 1232 format: int64 1233 type: integer 1234 seLinuxOptions: 1235 description: The SELinux context to be applied to all containers. 1236 If unspecified, the container runtime will allocate a random 1237 SELinux context for each container. May also be set in 1238 SecurityContext. If set in both SecurityContext and PodSecurityContext, 1239 the value specified in SecurityContext takes precedence 1240 for that container. 1241 properties: 1242 level: 1243 description: Level is SELinux level label that applies 1244 to the container. 1245 type: string 1246 role: 1247 description: Role is a SELinux role label that applies 1248 to the container. 1249 type: string 1250 type: 1251 description: Type is a SELinux type label that applies 1252 to the container. 1253 type: string 1254 user: 1255 description: User is a SELinux user label that applies 1256 to the container. 1257 type: string 1258 type: object 1259 seccompProfile: 1260 description: The seccomp options to use by the containers 1261 in this pod. 1262 properties: 1263 localhostProfile: 1264 description: localhostProfile indicates a profile defined 1265 in a file on the node should be used. The profile must 1266 be preconfigured on the node to work. Must be a descending 1267 path, relative to the kubelet's configured seccomp profile 1268 location. Must only be set if type is "Localhost". 1269 type: string 1270 type: 1271 description: "type indicates which kind of seccomp profile 1272 will be applied. Valid options are: \n Localhost - a 1273 profile defined in a file on the node should be used. 1274 RuntimeDefault - the container runtime default profile 1275 should be used. Unconfined - no profile should be applied." 1276 type: string 1277 required: 1278 - type 1279 type: object 1280 supplementalGroups: 1281 description: A list of groups applied to the first process 1282 run in each container, in addition to the container's primary 1283 GID. If unspecified, no groups will be added to any container. 1284 items: 1285 format: int64 1286 type: integer 1287 type: array 1288 sysctls: 1289 description: Sysctls hold a list of namespaced sysctls used 1290 for the pod. Pods with unsupported sysctls (by the container 1291 runtime) might fail to launch. 1292 items: 1293 description: Sysctl defines a kernel parameter to be set 1294 properties: 1295 name: 1296 description: Name of a property to set 1297 type: string 1298 value: 1299 description: Value of a property to set 1300 type: string 1301 required: 1302 - name 1303 - value 1304 type: object 1305 type: array 1306 windowsOptions: 1307 description: The Windows specific settings applied to all 1308 containers. If unspecified, the options within a container's 1309 SecurityContext will be used. If set in both SecurityContext 1310 and PodSecurityContext, the value specified in SecurityContext 1311 takes precedence. 1312 properties: 1313 gmsaCredentialSpec: 1314 description: GMSACredentialSpec is where the GMSA admission 1315 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 1316 inlines the contents of the GMSA credential spec named 1317 by the GMSACredentialSpecName field. 1318 type: string 1319 gmsaCredentialSpecName: 1320 description: GMSACredentialSpecName is the name of the 1321 GMSA credential spec to use. 1322 type: string 1323 hostProcess: 1324 description: HostProcess determines if a container should 1325 be run as a 'Host Process' container. This field is 1326 alpha-level and will only be honored by components that 1327 enable the WindowsHostProcessContainers feature flag. 1328 Setting this field without the feature flag will result 1329 in errors when validating the Pod. All of a Pod's containers 1330 must have the same effective HostProcess value (it is 1331 not allowed to have a mix of HostProcess containers 1332 and non-HostProcess containers). In addition, if HostProcess 1333 is true then HostNetwork must also be set to true. 1334 type: boolean 1335 runAsUserName: 1336 description: The UserName in Windows to run the entrypoint 1337 of the container process. Defaults to the user specified 1338 in image metadata if unspecified. May also be set in 1339 PodSecurityContext. If set in both SecurityContext and 1340 PodSecurityContext, the value specified in SecurityContext 1341 takes precedence. 1342 type: string 1343 type: object 1344 type: object 1345 serviceAccountName: 1346 type: string 1347 serviceAnnotations: 1348 additionalProperties: 1349 type: string 1350 type: object 1351 shutdownConfigMap: 1352 type: string 1353 storage: 1354 description: RedisStorage defines the structure used to store 1355 the Redis Data 1356 properties: 1357 emptyDir: 1358 description: Represents an empty directory for a pod. Empty 1359 directory volumes support ownership management and SELinux 1360 relabeling. 1361 properties: 1362 medium: 1363 description: 'What type of storage medium should back 1364 this directory. The default is "" which means to use 1365 the node''s default medium. Must be an empty string 1366 (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 1367 type: string 1368 sizeLimit: 1369 anyOf: 1370 - type: integer 1371 - type: string 1372 description: 'Total amount of local storage required for 1373 this EmptyDir volume. The size limit is also applicable 1374 for memory medium. The maximum usage on memory medium 1375 EmptyDir would be the minimum value between the SizeLimit 1376 specified here and the sum of memory limits of all containers 1377 in a pod. The default is nil which means that the limit 1378 is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 1379 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1380 x-kubernetes-int-or-string: true 1381 type: object 1382 keepAfterDeletion: 1383 type: boolean 1384 persistentVolumeClaim: 1385 description: EmbeddedPersistentVolumeClaim is an embedded 1386 version of k8s.io/api/core/v1.PersistentVolumeClaim. It 1387 contains TypeMeta and a reduced ObjectMeta. 1388 properties: 1389 apiVersion: 1390 description: 'APIVersion defines the versioned schema 1391 of this representation of an object. Servers should 1392 convert recognized schemas to the latest internal value, 1393 and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 1394 type: string 1395 kind: 1396 description: 'Kind is a string value representing the 1397 REST resource this object represents. Servers may infer 1398 this from the endpoint the client submits requests to. 1399 Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1400 type: string 1401 metadata: 1402 description: EmbeddedMetadata contains metadata relevant 1403 to an EmbeddedResource. 1404 properties: 1405 annotations: 1406 additionalProperties: 1407 type: string 1408 description: 'Annotations is an unstructured key value 1409 map stored with a resource that may be set by external 1410 tools to store and retrieve arbitrary metadata. 1411 They are not queryable and should be preserved when 1412 modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' 1413 type: object 1414 labels: 1415 additionalProperties: 1416 type: string 1417 description: 'Map of string keys and values that can 1418 be used to organize and categorize (scope and select) 1419 objects. May match selectors of replication controllers 1420 and services. More info: http://kubernetes.io/docs/user-guide/labels' 1421 type: object 1422 name: 1423 description: 'Name must be unique within a namespace. 1424 Is required when creating resources, although some 1425 resources may allow a client to request the generation 1426 of an appropriate name automatically. Name is primarily 1427 intended for creation idempotence and configuration 1428 definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 1429 type: string 1430 type: object 1431 spec: 1432 description: 'Spec defines the desired characteristics 1433 of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 1434 properties: 1435 accessModes: 1436 description: 'AccessModes contains the desired access 1437 modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 1438 items: 1439 type: string 1440 type: array 1441 dataSource: 1442 description: 'This field can be used to specify either: 1443 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) 1444 * An existing PVC (PersistentVolumeClaim) If the 1445 provisioner or an external controller can support 1446 the specified data source, it will create a new 1447 volume based on the contents of the specified data 1448 source. If the AnyVolumeDataSource feature gate 1449 is enabled, this field will always have the same 1450 contents as the DataSourceRef field.' 1451 properties: 1452 apiGroup: 1453 description: APIGroup is the group for the resource 1454 being referenced. If APIGroup is not specified, 1455 the specified Kind must be in the core API group. 1456 For any other third-party types, APIGroup is 1457 required. 1458 type: string 1459 kind: 1460 description: Kind is the type of resource being 1461 referenced 1462 type: string 1463 name: 1464 description: Name is the name of resource being 1465 referenced 1466 type: string 1467 required: 1468 - kind 1469 - name 1470 type: object 1471 dataSourceRef: 1472 description: 'Specifies the object from which to populate 1473 the volume with data, if a non-empty volume is desired. 1474 This may be any local object from a non-empty API 1475 group (non core object) or a PersistentVolumeClaim 1476 object. When this field is specified, volume binding 1477 will only succeed if the type of the specified object 1478 matches some installed volume populator or dynamic 1479 provisioner. This field will replace the functionality 1480 of the DataSource field and as such if both fields 1481 are non-empty, they must have the same value. For 1482 backwards compatibility, both fields (DataSource 1483 and DataSourceRef) will be set to the same value 1484 automatically if one of them is empty and the other 1485 is non-empty. There are two important differences 1486 between DataSource and DataSourceRef: * While DataSource 1487 only allows two specific types of objects, DataSourceRef allows 1488 any non-core object, as well as PersistentVolumeClaim 1489 objects. * While DataSource ignores disallowed values 1490 (dropping them), DataSourceRef preserves all values, 1491 and generates an error if a disallowed value is specified. 1492 (Alpha) Using this field requires the AnyVolumeDataSource 1493 feature gate to be enabled.' 1494 properties: 1495 apiGroup: 1496 description: APIGroup is the group for the resource 1497 being referenced. If APIGroup is not specified, 1498 the specified Kind must be in the core API group. 1499 For any other third-party types, APIGroup is 1500 required. 1501 type: string 1502 kind: 1503 description: Kind is the type of resource being 1504 referenced 1505 type: string 1506 name: 1507 description: Name is the name of resource being 1508 referenced 1509 type: string 1510 required: 1511 - kind 1512 - name 1513 type: object 1514 resources: 1515 description: 'Resources represents the minimum resources 1516 the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 1517 properties: 1518 limits: 1519 additionalProperties: 1520 anyOf: 1521 - type: integer 1522 - type: string 1523 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1524 x-kubernetes-int-or-string: true 1525 description: 'Limits describes the maximum amount 1526 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 1527 type: object 1528 requests: 1529 additionalProperties: 1530 anyOf: 1531 - type: integer 1532 - type: string 1533 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1534 x-kubernetes-int-or-string: true 1535 description: 'Requests describes the minimum amount 1536 of compute resources required. If Requests is 1537 omitted for a container, it defaults to Limits 1538 if that is explicitly specified, otherwise to 1539 an implementation-defined value. More info: 1540 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 1541 type: object 1542 type: object 1543 selector: 1544 description: A label query over volumes to consider 1545 for binding. 1546 properties: 1547 matchExpressions: 1548 description: matchExpressions is a list of label 1549 selector requirements. The requirements are 1550 ANDed. 1551 items: 1552 description: A label selector requirement is 1553 a selector that contains values, a key, and 1554 an operator that relates the key and values. 1555 properties: 1556 key: 1557 description: key is the label key that the 1558 selector applies to. 1559 type: string 1560 operator: 1561 description: operator represents a key's 1562 relationship to a set of values. Valid 1563 operators are In, NotIn, Exists and DoesNotExist. 1564 type: string 1565 values: 1566 description: values is an array of string 1567 values. If the operator is In or NotIn, 1568 the values array must be non-empty. If 1569 the operator is Exists or DoesNotExist, 1570 the values array must be empty. This array 1571 is replaced during a strategic merge patch. 1572 items: 1573 type: string 1574 type: array 1575 required: 1576 - key 1577 - operator 1578 type: object 1579 type: array 1580 matchLabels: 1581 additionalProperties: 1582 type: string 1583 description: matchLabels is a map of {key,value} 1584 pairs. A single {key,value} in the matchLabels 1585 map is equivalent to an element of matchExpressions, 1586 whose key field is "key", the operator is "In", 1587 and the values array contains only "value". 1588 The requirements are ANDed. 1589 type: object 1590 type: object 1591 storageClassName: 1592 description: 'Name of the StorageClass required by 1593 the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 1594 type: string 1595 volumeMode: 1596 description: volumeMode defines what type of volume 1597 is required by the claim. Value of Filesystem is 1598 implied when not included in claim spec. 1599 type: string 1600 volumeName: 1601 description: VolumeName is the binding reference to 1602 the PersistentVolume backing this claim. 1603 type: string 1604 type: object 1605 status: 1606 description: 'Status represents the current information/status 1607 of a persistent volume claim. Read-only. More info: 1608 https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 1609 properties: 1610 accessModes: 1611 description: 'AccessModes contains the actual access 1612 modes the volume backing the PVC has. More info: 1613 https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 1614 items: 1615 type: string 1616 type: array 1617 capacity: 1618 additionalProperties: 1619 anyOf: 1620 - type: integer 1621 - type: string 1622 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1623 x-kubernetes-int-or-string: true 1624 description: Represents the actual resources of the 1625 underlying volume. 1626 type: object 1627 conditions: 1628 description: Current Condition of persistent volume 1629 claim. If underlying persistent volume is being 1630 resized then the Condition will be set to 'ResizeStarted'. 1631 items: 1632 description: PersistentVolumeClaimCondition contails 1633 details about state of pvc 1634 properties: 1635 lastProbeTime: 1636 description: Last time we probed the condition. 1637 format: date-time 1638 type: string 1639 lastTransitionTime: 1640 description: Last time the condition transitioned 1641 from one status to another. 1642 format: date-time 1643 type: string 1644 message: 1645 description: Human-readable message indicating 1646 details about last transition. 1647 type: string 1648 reason: 1649 description: Unique, this should be a short, 1650 machine understandable string that gives the 1651 reason for condition's last transition. If 1652 it reports "ResizeStarted" that means the 1653 underlying persistent volume is being resized. 1654 type: string 1655 status: 1656 type: string 1657 type: 1658 description: PersistentVolumeClaimConditionType 1659 is a valid value of PersistentVolumeClaimCondition.Type 1660 type: string 1661 required: 1662 - status 1663 - type 1664 type: object 1665 type: array 1666 phase: 1667 description: Phase represents the current phase of 1668 PersistentVolumeClaim. 1669 type: string 1670 type: object 1671 type: object 1672 type: object 1673 terminationGracePeriod: 1674 format: int64 1675 type: integer 1676 tolerations: 1677 items: 1678 description: The pod this Toleration is attached to tolerates 1679 any taint that matches the triple <key,value,effect> using 1680 the matching operator <operator>. 1681 properties: 1682 effect: 1683 description: Effect indicates the taint effect to match. 1684 Empty means match all taint effects. When specified, allowed 1685 values are NoSchedule, PreferNoSchedule and NoExecute. 1686 type: string 1687 key: 1688 description: Key is the taint key that the toleration applies 1689 to. Empty means match all taint keys. If the key is empty, 1690 operator must be Exists; this combination means to match 1691 all values and all keys. 1692 type: string 1693 operator: 1694 description: Operator represents a key's relationship to 1695 the value. Valid operators are Exists and Equal. Defaults 1696 to Equal. Exists is equivalent to wildcard for value, 1697 so that a pod can tolerate all taints of a particular 1698 category. 1699 type: string 1700 tolerationSeconds: 1701 description: TolerationSeconds represents the period of 1702 time the toleration (which must be of effect NoExecute, 1703 otherwise this field is ignored) tolerates the taint. 1704 By default, it is not set, which means tolerate the taint 1705 forever (do not evict). Zero and negative values will 1706 be treated as 0 (evict immediately) by the system. 1707 format: int64 1708 type: integer 1709 value: 1710 description: Value is the taint value the toleration matches 1711 to. If the operator is Exists, the value should be empty, 1712 otherwise just a regular string. 1713 type: string 1714 type: object 1715 type: array 1716 type: object 1717 sentinel: 1718 description: SentinelSettings defines the specification of the sentinel 1719 cluster 1720 properties: 1721 affinity: 1722 description: Affinity is a group of affinity scheduling rules. 1723 properties: 1724 nodeAffinity: 1725 description: Describes node affinity scheduling rules for 1726 the pod. 1727 properties: 1728 preferredDuringSchedulingIgnoredDuringExecution: 1729 description: The scheduler will prefer to schedule pods 1730 to nodes that satisfy the affinity expressions specified 1731 by this field, but it may choose a node that violates 1732 one or more of the expressions. The node that is most 1733 preferred is the one with the greatest sum of weights, 1734 i.e. for each node that meets all of the scheduling 1735 requirements (resource request, requiredDuringScheduling 1736 affinity expressions, etc.), compute a sum by iterating 1737 through the elements of this field and adding "weight" 1738 to the sum if the node matches the corresponding matchExpressions; 1739 the node(s) with the highest sum are the most preferred. 1740 items: 1741 description: An empty preferred scheduling term matches 1742 all objects with implicit weight 0 (i.e. it's a no-op). 1743 A null preferred scheduling term matches no objects 1744 (i.e. is also a no-op). 1745 properties: 1746 preference: 1747 description: A node selector term, associated with 1748 the corresponding weight. 1749 properties: 1750 matchExpressions: 1751 description: A list of node selector requirements 1752 by node's labels. 1753 items: 1754 description: A node selector requirement is 1755 a selector that contains values, a key, 1756 and an operator that relates the key and 1757 values. 1758 properties: 1759 key: 1760 description: The label key that the selector 1761 applies to. 1762 type: string 1763 operator: 1764 description: Represents a key's relationship 1765 to a set of values. Valid operators 1766 are In, NotIn, Exists, DoesNotExist. 1767 Gt, and Lt. 1768 type: string 1769 values: 1770 description: An array of string values. 1771 If the operator is In or NotIn, the 1772 values array must be non-empty. If the 1773 operator is Exists or DoesNotExist, 1774 the values array must be empty. If the 1775 operator is Gt or Lt, the values array 1776 must have a single element, which will 1777 be interpreted as an integer. This array 1778 is replaced during a strategic merge 1779 patch. 1780 items: 1781 type: string 1782 type: array 1783 required: 1784 - key 1785 - operator 1786 type: object 1787 type: array 1788 matchFields: 1789 description: A list of node selector requirements 1790 by node's fields. 1791 items: 1792 description: A node selector requirement is 1793 a selector that contains values, a key, 1794 and an operator that relates the key and 1795 values. 1796 properties: 1797 key: 1798 description: The label key that the selector 1799 applies to. 1800 type: string 1801 operator: 1802 description: Represents a key's relationship 1803 to a set of values. Valid operators 1804 are In, NotIn, Exists, DoesNotExist. 1805 Gt, and Lt. 1806 type: string 1807 values: 1808 description: An array of string values. 1809 If the operator is In or NotIn, the 1810 values array must be non-empty. If the 1811 operator is Exists or DoesNotExist, 1812 the values array must be empty. If the 1813 operator is Gt or Lt, the values array 1814 must have a single element, which will 1815 be interpreted as an integer. This array 1816 is replaced during a strategic merge 1817 patch. 1818 items: 1819 type: string 1820 type: array 1821 required: 1822 - key 1823 - operator 1824 type: object 1825 type: array 1826 type: object 1827 weight: 1828 description: Weight associated with matching the 1829 corresponding nodeSelectorTerm, in the range 1-100. 1830 format: int32 1831 type: integer 1832 required: 1833 - preference 1834 - weight 1835 type: object 1836 type: array 1837 requiredDuringSchedulingIgnoredDuringExecution: 1838 description: If the affinity requirements specified by 1839 this field are not met at scheduling time, the pod will 1840 not be scheduled onto the node. If the affinity requirements 1841 specified by this field cease to be met at some point 1842 during pod execution (e.g. due to an update), the system 1843 may or may not try to eventually evict the pod from 1844 its node. 1845 properties: 1846 nodeSelectorTerms: 1847 description: Required. A list of node selector terms. 1848 The terms are ORed. 1849 items: 1850 description: A null or empty node selector term 1851 matches no objects. The requirements of them are 1852 ANDed. The TopologySelectorTerm type implements 1853 a subset of the NodeSelectorTerm. 1854 properties: 1855 matchExpressions: 1856 description: A list of node selector requirements 1857 by node's labels. 1858 items: 1859 description: A node selector requirement is 1860 a selector that contains values, a key, 1861 and an operator that relates the key and 1862 values. 1863 properties: 1864 key: 1865 description: The label key that the selector 1866 applies to. 1867 type: string 1868 operator: 1869 description: Represents a key's relationship 1870 to a set of values. Valid operators 1871 are In, NotIn, Exists, DoesNotExist. 1872 Gt, and Lt. 1873 type: string 1874 values: 1875 description: An array of string values. 1876 If the operator is In or NotIn, the 1877 values array must be non-empty. If the 1878 operator is Exists or DoesNotExist, 1879 the values array must be empty. If the 1880 operator is Gt or Lt, the values array 1881 must have a single element, which will 1882 be interpreted as an integer. This array 1883 is replaced during a strategic merge 1884 patch. 1885 items: 1886 type: string 1887 type: array 1888 required: 1889 - key 1890 - operator 1891 type: object 1892 type: array 1893 matchFields: 1894 description: A list of node selector requirements 1895 by node's fields. 1896 items: 1897 description: A node selector requirement is 1898 a selector that contains values, a key, 1899 and an operator that relates the key and 1900 values. 1901 properties: 1902 key: 1903 description: The label key that the selector 1904 applies to. 1905 type: string 1906 operator: 1907 description: Represents a key's relationship 1908 to a set of values. Valid operators 1909 are In, NotIn, Exists, DoesNotExist. 1910 Gt, and Lt. 1911 type: string 1912 values: 1913 description: An array of string values. 1914 If the operator is In or NotIn, the 1915 values array must be non-empty. If the 1916 operator is Exists or DoesNotExist, 1917 the values array must be empty. If the 1918 operator is Gt or Lt, the values array 1919 must have a single element, which will 1920 be interpreted as an integer. This array 1921 is replaced during a strategic merge 1922 patch. 1923 items: 1924 type: string 1925 type: array 1926 required: 1927 - key 1928 - operator 1929 type: object 1930 type: array 1931 type: object 1932 type: array 1933 required: 1934 - nodeSelectorTerms 1935 type: object 1936 type: object 1937 podAffinity: 1938 description: Describes pod affinity scheduling rules (e.g. 1939 co-locate this pod in the same node, zone, etc. as some 1940 other pod(s)). 1941 properties: 1942 preferredDuringSchedulingIgnoredDuringExecution: 1943 description: The scheduler will prefer to schedule pods 1944 to nodes that satisfy the affinity expressions specified 1945 by this field, but it may choose a node that violates 1946 one or more of the expressions. The node that is most 1947 preferred is the one with the greatest sum of weights, 1948 i.e. for each node that meets all of the scheduling 1949 requirements (resource request, requiredDuringScheduling 1950 affinity expressions, etc.), compute a sum by iterating 1951 through the elements of this field and adding "weight" 1952 to the sum if the node has pods which matches the corresponding 1953 podAffinityTerm; the node(s) with the highest sum are 1954 the most preferred. 1955 items: 1956 description: The weights of all of the matched WeightedPodAffinityTerm 1957 fields are added per-node to find the most preferred 1958 node(s) 1959 properties: 1960 podAffinityTerm: 1961 description: Required. A pod affinity term, associated 1962 with the corresponding weight. 1963 properties: 1964 labelSelector: 1965 description: A label query over a set of resources, 1966 in this case pods. 1967 properties: 1968 matchExpressions: 1969 description: matchExpressions is a list 1970 of label selector requirements. The requirements 1971 are ANDed. 1972 items: 1973 description: A label selector requirement 1974 is a selector that contains values, 1975 a key, and an operator that relates 1976 the key and values. 1977 properties: 1978 key: 1979 description: key is the label key 1980 that the selector applies to. 1981 type: string 1982 operator: 1983 description: operator represents a 1984 key's relationship to a set of values. 1985 Valid operators are In, NotIn, Exists 1986 and DoesNotExist. 1987 type: string 1988 values: 1989 description: values is an array of 1990 string values. If the operator is 1991 In or NotIn, the values array must 1992 be non-empty. If the operator is 1993 Exists or DoesNotExist, the values 1994 array must be empty. This array 1995 is replaced during a strategic merge 1996 patch. 1997 items: 1998 type: string 1999 type: array 2000 required: 2001 - key 2002 - operator 2003 type: object 2004 type: array 2005 matchLabels: 2006 additionalProperties: 2007 type: string 2008 description: matchLabels is a map of {key,value} 2009 pairs. A single {key,value} in the matchLabels 2010 map is equivalent to an element of matchExpressions, 2011 whose key field is "key", the operator 2012 is "In", and the values array contains 2013 only "value". The requirements are ANDed. 2014 type: object 2015 type: object 2016 namespaceSelector: 2017 description: A label query over the set of namespaces 2018 that the term applies to. The term is applied 2019 to the union of the namespaces selected by 2020 this field and the ones listed in the namespaces 2021 field. null selector and null or empty namespaces 2022 list means "this pod's namespace". An empty 2023 selector ({}) matches all namespaces. This 2024 field is beta-level and is only honored when 2025 PodAffinityNamespaceSelector feature is enabled. 2026 properties: 2027 matchExpressions: 2028 description: matchExpressions is a list 2029 of label selector requirements. The requirements 2030 are ANDed. 2031 items: 2032 description: A label selector requirement 2033 is a selector that contains values, 2034 a key, and an operator that relates 2035 the key and values. 2036 properties: 2037 key: 2038 description: key is the label key 2039 that the selector applies to. 2040 type: string 2041 operator: 2042 description: operator represents a 2043 key's relationship to a set of values. 2044 Valid operators are In, NotIn, Exists 2045 and DoesNotExist. 2046 type: string 2047 values: 2048 description: values is an array of 2049 string values. If the operator is 2050 In or NotIn, the values array must 2051 be non-empty. If the operator is 2052 Exists or DoesNotExist, the values 2053 array must be empty. This array 2054 is replaced during a strategic merge 2055 patch. 2056 items: 2057 type: string 2058 type: array 2059 required: 2060 - key 2061 - operator 2062 type: object 2063 type: array 2064 matchLabels: 2065 additionalProperties: 2066 type: string 2067 description: matchLabels is a map of {key,value} 2068 pairs. A single {key,value} in the matchLabels 2069 map is equivalent to an element of matchExpressions, 2070 whose key field is "key", the operator 2071 is "In", and the values array contains 2072 only "value". The requirements are ANDed. 2073 type: object 2074 type: object 2075 namespaces: 2076 description: namespaces specifies a static list 2077 of namespace names that the term applies to. 2078 The term is applied to the union of the namespaces 2079 listed in this field and the ones selected 2080 by namespaceSelector. null or empty namespaces 2081 list and null namespaceSelector means "this 2082 pod's namespace" 2083 items: 2084 type: string 2085 type: array 2086 topologyKey: 2087 description: This pod should be co-located (affinity) 2088 or not co-located (anti-affinity) with the 2089 pods matching the labelSelector in the specified 2090 namespaces, where co-located is defined as 2091 running on a node whose value of the label 2092 with key topologyKey matches that of any node 2093 on which any of the selected pods is running. 2094 Empty topologyKey is not allowed. 2095 type: string 2096 required: 2097 - topologyKey 2098 type: object 2099 weight: 2100 description: weight associated with matching the 2101 corresponding podAffinityTerm, in the range 1-100. 2102 format: int32 2103 type: integer 2104 required: 2105 - podAffinityTerm 2106 - weight 2107 type: object 2108 type: array 2109 requiredDuringSchedulingIgnoredDuringExecution: 2110 description: If the affinity requirements specified by 2111 this field are not met at scheduling time, the pod will 2112 not be scheduled onto the node. If the affinity requirements 2113 specified by this field cease to be met at some point 2114 during pod execution (e.g. due to a pod label update), 2115 the system may or may not try to eventually evict the 2116 pod from its node. When there are multiple elements, 2117 the lists of nodes corresponding to each podAffinityTerm 2118 are intersected, i.e. all terms must be satisfied. 2119 items: 2120 description: Defines a set of pods (namely those matching 2121 the labelSelector relative to the given namespace(s)) 2122 that this pod should be co-located (affinity) or not 2123 co-located (anti-affinity) with, where co-located 2124 is defined as running on a node whose value of the 2125 label with key <topologyKey> matches that of any node 2126 on which a pod of the set of pods is running 2127 properties: 2128 labelSelector: 2129 description: A label query over a set of resources, 2130 in this case pods. 2131 properties: 2132 matchExpressions: 2133 description: matchExpressions is a list of label 2134 selector requirements. The requirements are 2135 ANDed. 2136 items: 2137 description: A label selector requirement 2138 is a selector that contains values, a key, 2139 and an operator that relates the key and 2140 values. 2141 properties: 2142 key: 2143 description: key is the label key that 2144 the selector applies to. 2145 type: string 2146 operator: 2147 description: operator represents a key's 2148 relationship to a set of values. Valid 2149 operators are In, NotIn, Exists and 2150 DoesNotExist. 2151 type: string 2152 values: 2153 description: values is an array of string 2154 values. If the operator is In or NotIn, 2155 the values array must be non-empty. 2156 If the operator is Exists or DoesNotExist, 2157 the values array must be empty. This 2158 array is replaced during a strategic 2159 merge patch. 2160 items: 2161 type: string 2162 type: array 2163 required: 2164 - key 2165 - operator 2166 type: object 2167 type: array 2168 matchLabels: 2169 additionalProperties: 2170 type: string 2171 description: matchLabels is a map of {key,value} 2172 pairs. A single {key,value} in the matchLabels 2173 map is equivalent to an element of matchExpressions, 2174 whose key field is "key", the operator is 2175 "In", and the values array contains only "value". 2176 The requirements are ANDed. 2177 type: object 2178 type: object 2179 namespaceSelector: 2180 description: A label query over the set of namespaces 2181 that the term applies to. The term is applied 2182 to the union of the namespaces selected by this 2183 field and the ones listed in the namespaces field. 2184 null selector and null or empty namespaces list 2185 means "this pod's namespace". An empty selector 2186 ({}) matches all namespaces. This field is beta-level 2187 and is only honored when PodAffinityNamespaceSelector 2188 feature is enabled. 2189 properties: 2190 matchExpressions: 2191 description: matchExpressions is a list of label 2192 selector requirements. The requirements are 2193 ANDed. 2194 items: 2195 description: A label selector requirement 2196 is a selector that contains values, a key, 2197 and an operator that relates the key and 2198 values. 2199 properties: 2200 key: 2201 description: key is the label key that 2202 the selector applies to. 2203 type: string 2204 operator: 2205 description: operator represents a key's 2206 relationship to a set of values. Valid 2207 operators are In, NotIn, Exists and 2208 DoesNotExist. 2209 type: string 2210 values: 2211 description: values is an array of string 2212 values. If the operator is In or NotIn, 2213 the values array must be non-empty. 2214 If the operator is Exists or DoesNotExist, 2215 the values array must be empty. This 2216 array is replaced during a strategic 2217 merge patch. 2218 items: 2219 type: string 2220 type: array 2221 required: 2222 - key 2223 - operator 2224 type: object 2225 type: array 2226 matchLabels: 2227 additionalProperties: 2228 type: string 2229 description: matchLabels is a map of {key,value} 2230 pairs. A single {key,value} in the matchLabels 2231 map is equivalent to an element of matchExpressions, 2232 whose key field is "key", the operator is 2233 "In", and the values array contains only "value". 2234 The requirements are ANDed. 2235 type: object 2236 type: object 2237 namespaces: 2238 description: namespaces specifies a static list 2239 of namespace names that the term applies to. The 2240 term is applied to the union of the namespaces 2241 listed in this field and the ones selected by 2242 namespaceSelector. null or empty namespaces list 2243 and null namespaceSelector means "this pod's namespace" 2244 items: 2245 type: string 2246 type: array 2247 topologyKey: 2248 description: This pod should be co-located (affinity) 2249 or not co-located (anti-affinity) with the pods 2250 matching the labelSelector in the specified namespaces, 2251 where co-located is defined as running on a node 2252 whose value of the label with key topologyKey 2253 matches that of any node on which any of the selected 2254 pods is running. Empty topologyKey is not allowed. 2255 type: string 2256 required: 2257 - topologyKey 2258 type: object 2259 type: array 2260 type: object 2261 podAntiAffinity: 2262 description: Describes pod anti-affinity scheduling rules 2263 (e.g. avoid putting this pod in the same node, zone, etc. 2264 as some other pod(s)). 2265 properties: 2266 preferredDuringSchedulingIgnoredDuringExecution: 2267 description: The scheduler will prefer to schedule pods 2268 to nodes that satisfy the anti-affinity expressions 2269 specified by this field, but it may choose a node that 2270 violates one or more of the expressions. The node that 2271 is most preferred is the one with the greatest sum of 2272 weights, i.e. for each node that meets all of the scheduling 2273 requirements (resource request, requiredDuringScheduling 2274 anti-affinity expressions, etc.), compute a sum by iterating 2275 through the elements of this field and adding "weight" 2276 to the sum if the node has pods which matches the corresponding 2277 podAffinityTerm; the node(s) with the highest sum are 2278 the most preferred. 2279 items: 2280 description: The weights of all of the matched WeightedPodAffinityTerm 2281 fields are added per-node to find the most preferred 2282 node(s) 2283 properties: 2284 podAffinityTerm: 2285 description: Required. A pod affinity term, associated 2286 with the corresponding weight. 2287 properties: 2288 labelSelector: 2289 description: A label query over a set of resources, 2290 in this case pods. 2291 properties: 2292 matchExpressions: 2293 description: matchExpressions is a list 2294 of label selector requirements. The requirements 2295 are ANDed. 2296 items: 2297 description: A label selector requirement 2298 is a selector that contains values, 2299 a key, and an operator that relates 2300 the key and values. 2301 properties: 2302 key: 2303 description: key is the label key 2304 that the selector applies to. 2305 type: string 2306 operator: 2307 description: operator represents a 2308 key's relationship to a set of values. 2309 Valid operators are In, NotIn, Exists 2310 and DoesNotExist. 2311 type: string 2312 values: 2313 description: values is an array of 2314 string values. If the operator is 2315 In or NotIn, the values array must 2316 be non-empty. If the operator is 2317 Exists or DoesNotExist, the values 2318 array must be empty. This array 2319 is replaced during a strategic merge 2320 patch. 2321 items: 2322 type: string 2323 type: array 2324 required: 2325 - key 2326 - operator 2327 type: object 2328 type: array 2329 matchLabels: 2330 additionalProperties: 2331 type: string 2332 description: matchLabels is a map of {key,value} 2333 pairs. A single {key,value} in the matchLabels 2334 map is equivalent to an element of matchExpressions, 2335 whose key field is "key", the operator 2336 is "In", and the values array contains 2337 only "value". The requirements are ANDed. 2338 type: object 2339 type: object 2340 namespaceSelector: 2341 description: A label query over the set of namespaces 2342 that the term applies to. The term is applied 2343 to the union of the namespaces selected by 2344 this field and the ones listed in the namespaces 2345 field. null selector and null or empty namespaces 2346 list means "this pod's namespace". An empty 2347 selector ({}) matches all namespaces. This 2348 field is beta-level and is only honored when 2349 PodAffinityNamespaceSelector feature is enabled. 2350 properties: 2351 matchExpressions: 2352 description: matchExpressions is a list 2353 of label selector requirements. The requirements 2354 are ANDed. 2355 items: 2356 description: A label selector requirement 2357 is a selector that contains values, 2358 a key, and an operator that relates 2359 the key and values. 2360 properties: 2361 key: 2362 description: key is the label key 2363 that the selector applies to. 2364 type: string 2365 operator: 2366 description: operator represents a 2367 key's relationship to a set of values. 2368 Valid operators are In, NotIn, Exists 2369 and DoesNotExist. 2370 type: string 2371 values: 2372 description: values is an array of 2373 string values. If the operator is 2374 In or NotIn, the values array must 2375 be non-empty. If the operator is 2376 Exists or DoesNotExist, the values 2377 array must be empty. This array 2378 is replaced during a strategic merge 2379 patch. 2380 items: 2381 type: string 2382 type: array 2383 required: 2384 - key 2385 - operator 2386 type: object 2387 type: array 2388 matchLabels: 2389 additionalProperties: 2390 type: string 2391 description: matchLabels is a map of {key,value} 2392 pairs. A single {key,value} in the matchLabels 2393 map is equivalent to an element of matchExpressions, 2394 whose key field is "key", the operator 2395 is "In", and the values array contains 2396 only "value". The requirements are ANDed. 2397 type: object 2398 type: object 2399 namespaces: 2400 description: namespaces specifies a static list 2401 of namespace names that the term applies to. 2402 The term is applied to the union of the namespaces 2403 listed in this field and the ones selected 2404 by namespaceSelector. null or empty namespaces 2405 list and null namespaceSelector means "this 2406 pod's namespace" 2407 items: 2408 type: string 2409 type: array 2410 topologyKey: 2411 description: This pod should be co-located (affinity) 2412 or not co-located (anti-affinity) with the 2413 pods matching the labelSelector in the specified 2414 namespaces, where co-located is defined as 2415 running on a node whose value of the label 2416 with key topologyKey matches that of any node 2417 on which any of the selected pods is running. 2418 Empty topologyKey is not allowed. 2419 type: string 2420 required: 2421 - topologyKey 2422 type: object 2423 weight: 2424 description: weight associated with matching the 2425 corresponding podAffinityTerm, in the range 1-100. 2426 format: int32 2427 type: integer 2428 required: 2429 - podAffinityTerm 2430 - weight 2431 type: object 2432 type: array 2433 requiredDuringSchedulingIgnoredDuringExecution: 2434 description: If the anti-affinity requirements specified 2435 by this field are not met at scheduling time, the pod 2436 will not be scheduled onto the node. If the anti-affinity 2437 requirements specified by this field cease to be met 2438 at some point during pod execution (e.g. due to a pod 2439 label update), the system may or may not try to eventually 2440 evict the pod from its node. When there are multiple 2441 elements, the lists of nodes corresponding to each podAffinityTerm 2442 are intersected, i.e. all terms must be satisfied. 2443 items: 2444 description: Defines a set of pods (namely those matching 2445 the labelSelector relative to the given namespace(s)) 2446 that this pod should be co-located (affinity) or not 2447 co-located (anti-affinity) with, where co-located 2448 is defined as running on a node whose value of the 2449 label with key <topologyKey> matches that of any node 2450 on which a pod of the set of pods is running 2451 properties: 2452 labelSelector: 2453 description: A label query over a set of resources, 2454 in this case pods. 2455 properties: 2456 matchExpressions: 2457 description: matchExpressions is a list of label 2458 selector requirements. The requirements are 2459 ANDed. 2460 items: 2461 description: A label selector requirement 2462 is a selector that contains values, a key, 2463 and an operator that relates the key and 2464 values. 2465 properties: 2466 key: 2467 description: key is the label key that 2468 the selector applies to. 2469 type: string 2470 operator: 2471 description: operator represents a key's 2472 relationship to a set of values. Valid 2473 operators are In, NotIn, Exists and 2474 DoesNotExist. 2475 type: string 2476 values: 2477 description: values is an array of string 2478 values. If the operator is In or NotIn, 2479 the values array must be non-empty. 2480 If the operator is Exists or DoesNotExist, 2481 the values array must be empty. This 2482 array is replaced during a strategic 2483 merge patch. 2484 items: 2485 type: string 2486 type: array 2487 required: 2488 - key 2489 - operator 2490 type: object 2491 type: array 2492 matchLabels: 2493 additionalProperties: 2494 type: string 2495 description: matchLabels is a map of {key,value} 2496 pairs. A single {key,value} in the matchLabels 2497 map is equivalent to an element of matchExpressions, 2498 whose key field is "key", the operator is 2499 "In", and the values array contains only "value". 2500 The requirements are ANDed. 2501 type: object 2502 type: object 2503 namespaceSelector: 2504 description: A label query over the set of namespaces 2505 that the term applies to. The term is applied 2506 to the union of the namespaces selected by this 2507 field and the ones listed in the namespaces field. 2508 null selector and null or empty namespaces list 2509 means "this pod's namespace". An empty selector 2510 ({}) matches all namespaces. This field is beta-level 2511 and is only honored when PodAffinityNamespaceSelector 2512 feature is enabled. 2513 properties: 2514 matchExpressions: 2515 description: matchExpressions is a list of label 2516 selector requirements. The requirements are 2517 ANDed. 2518 items: 2519 description: A label selector requirement 2520 is a selector that contains values, a key, 2521 and an operator that relates the key and 2522 values. 2523 properties: 2524 key: 2525 description: key is the label key that 2526 the selector applies to. 2527 type: string 2528 operator: 2529 description: operator represents a key's 2530 relationship to a set of values. Valid 2531 operators are In, NotIn, Exists and 2532 DoesNotExist. 2533 type: string 2534 values: 2535 description: values is an array of string 2536 values. If the operator is In or NotIn, 2537 the values array must be non-empty. 2538 If the operator is Exists or DoesNotExist, 2539 the values array must be empty. This 2540 array is replaced during a strategic 2541 merge patch. 2542 items: 2543 type: string 2544 type: array 2545 required: 2546 - key 2547 - operator 2548 type: object 2549 type: array 2550 matchLabels: 2551 additionalProperties: 2552 type: string 2553 description: matchLabels is a map of {key,value} 2554 pairs. A single {key,value} in the matchLabels 2555 map is equivalent to an element of matchExpressions, 2556 whose key field is "key", the operator is 2557 "In", and the values array contains only "value". 2558 The requirements are ANDed. 2559 type: object 2560 type: object 2561 namespaces: 2562 description: namespaces specifies a static list 2563 of namespace names that the term applies to. The 2564 term is applied to the union of the namespaces 2565 listed in this field and the ones selected by 2566 namespaceSelector. null or empty namespaces list 2567 and null namespaceSelector means "this pod's namespace" 2568 items: 2569 type: string 2570 type: array 2571 topologyKey: 2572 description: This pod should be co-located (affinity) 2573 or not co-located (anti-affinity) with the pods 2574 matching the labelSelector in the specified namespaces, 2575 where co-located is defined as running on a node 2576 whose value of the label with key topologyKey 2577 matches that of any node on which any of the selected 2578 pods is running. Empty topologyKey is not allowed. 2579 type: string 2580 required: 2581 - topologyKey 2582 type: object 2583 type: array 2584 type: object 2585 type: object 2586 command: 2587 items: 2588 type: string 2589 type: array 2590 customConfig: 2591 items: 2592 type: string 2593 type: array 2594 dnsPolicy: 2595 description: DNSPolicy defines how a pod's DNS will be configured. 2596 type: string 2597 exporter: 2598 description: SentinelExporter defines the specification for the 2599 sentinel exporter 2600 properties: 2601 args: 2602 items: 2603 type: string 2604 type: array 2605 enabled: 2606 type: boolean 2607 env: 2608 items: 2609 description: EnvVar represents an environment variable present 2610 in a Container. 2611 properties: 2612 name: 2613 description: Name of the environment variable. Must 2614 be a C_IDENTIFIER. 2615 type: string 2616 value: 2617 description: 'Variable references $(VAR_NAME) are expanded 2618 using the previously defined environment variables 2619 in the container and any service environment variables. 2620 If a variable cannot be resolved, the reference in 2621 the input string will be unchanged. Double $$ are 2622 reduced to a single $, which allows for escaping the 2623 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce 2624 the string literal "$(VAR_NAME)". Escaped references 2625 will never be expanded, regardless of whether the 2626 variable exists or not. Defaults to "".' 2627 type: string 2628 valueFrom: 2629 description: Source for the environment variable's value. 2630 Cannot be used if value is not empty. 2631 properties: 2632 configMapKeyRef: 2633 description: Selects a key of a ConfigMap. 2634 properties: 2635 key: 2636 description: The key to select. 2637 type: string 2638 name: 2639 description: 'Name of the referent. More info: 2640 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2641 TODO: Add other useful fields. apiVersion, 2642 kind, uid?' 2643 type: string 2644 optional: 2645 description: Specify whether the ConfigMap or 2646 its key must be defined 2647 type: boolean 2648 required: 2649 - key 2650 type: object 2651 fieldRef: 2652 description: 'Selects a field of the pod: supports 2653 metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, 2654 `metadata.annotations[''<KEY>'']`, spec.nodeName, 2655 spec.serviceAccountName, status.hostIP, status.podIP, 2656 status.podIPs.' 2657 properties: 2658 apiVersion: 2659 description: Version of the schema the FieldPath 2660 is written in terms of, defaults to "v1". 2661 type: string 2662 fieldPath: 2663 description: Path of the field to select in 2664 the specified API version. 2665 type: string 2666 required: 2667 - fieldPath 2668 type: object 2669 resourceFieldRef: 2670 description: 'Selects a resource of the container: 2671 only resources limits and requests (limits.cpu, 2672 limits.memory, limits.ephemeral-storage, requests.cpu, 2673 requests.memory and requests.ephemeral-storage) 2674 are currently supported.' 2675 properties: 2676 containerName: 2677 description: 'Container name: required for volumes, 2678 optional for env vars' 2679 type: string 2680 divisor: 2681 anyOf: 2682 - type: integer 2683 - type: string 2684 description: Specifies the output format of 2685 the exposed resources, defaults to "1" 2686 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2687 x-kubernetes-int-or-string: true 2688 resource: 2689 description: 'Required: resource to select' 2690 type: string 2691 required: 2692 - resource 2693 type: object 2694 secretKeyRef: 2695 description: Selects a key of a secret in the pod's 2696 namespace 2697 properties: 2698 key: 2699 description: The key of the secret to select 2700 from. Must be a valid secret key. 2701 type: string 2702 name: 2703 description: 'Name of the referent. More info: 2704 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2705 TODO: Add other useful fields. apiVersion, 2706 kind, uid?' 2707 type: string 2708 optional: 2709 description: Specify whether the Secret or its 2710 key must be defined 2711 type: boolean 2712 required: 2713 - key 2714 type: object 2715 type: object 2716 required: 2717 - name 2718 type: object 2719 type: array 2720 image: 2721 type: string 2722 imagePullPolicy: 2723 description: PullPolicy describes a policy for if/when to 2724 pull a container image 2725 type: string 2726 resources: 2727 description: ResourceRequirements describes the compute resource 2728 requirements. 2729 properties: 2730 limits: 2731 additionalProperties: 2732 anyOf: 2733 - type: integer 2734 - type: string 2735 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2736 x-kubernetes-int-or-string: true 2737 description: 'Limits describes the maximum amount of compute 2738 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2739 type: object 2740 requests: 2741 additionalProperties: 2742 anyOf: 2743 - type: integer 2744 - type: string 2745 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2746 x-kubernetes-int-or-string: true 2747 description: 'Requests describes the minimum amount of 2748 compute resources required. If Requests is omitted for 2749 a container, it defaults to Limits if that is explicitly 2750 specified, otherwise to an implementation-defined value. 2751 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2752 type: object 2753 type: object 2754 type: object 2755 hostNetwork: 2756 type: boolean 2757 image: 2758 type: string 2759 imagePullPolicy: 2760 description: PullPolicy describes a policy for if/when to pull 2761 a container image 2762 type: string 2763 imagePullSecrets: 2764 items: 2765 description: LocalObjectReference contains enough information 2766 to let you locate the referenced object inside the same namespace. 2767 properties: 2768 name: 2769 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2770 TODO: Add other useful fields. apiVersion, kind, uid?' 2771 type: string 2772 type: object 2773 type: array 2774 nodeSelector: 2775 additionalProperties: 2776 type: string 2777 type: object 2778 podAnnotations: 2779 additionalProperties: 2780 type: string 2781 type: object 2782 priorityClassName: 2783 type: string 2784 replicas: 2785 format: int32 2786 type: integer 2787 resources: 2788 description: ResourceRequirements describes the compute resource 2789 requirements. 2790 properties: 2791 limits: 2792 additionalProperties: 2793 anyOf: 2794 - type: integer 2795 - type: string 2796 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2797 x-kubernetes-int-or-string: true 2798 description: 'Limits describes the maximum amount of compute 2799 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2800 type: object 2801 requests: 2802 additionalProperties: 2803 anyOf: 2804 - type: integer 2805 - type: string 2806 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2807 x-kubernetes-int-or-string: true 2808 description: 'Requests describes the minimum amount of compute 2809 resources required. If Requests is omitted for a container, 2810 it defaults to Limits if that is explicitly specified, otherwise 2811 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2812 type: object 2813 type: object 2814 securityContext: 2815 description: PodSecurityContext holds pod-level security attributes 2816 and common container settings. Some fields are also present 2817 in container.securityContext. Field values of container.securityContext 2818 take precedence over field values of PodSecurityContext. 2819 properties: 2820 fsGroup: 2821 description: "A special supplemental group that applies to 2822 all containers in a pod. Some volume types allow the Kubelet 2823 to change the ownership of that volume to be owned by the 2824 pod: \n 1. The owning GID will be the FSGroup 2. The setgid 2825 bit is set (new files created in the volume will be owned 2826 by FSGroup) 3. The permission bits are OR'd with rw-rw---- 2827 \n If unset, the Kubelet will not modify the ownership and 2828 permissions of any volume." 2829 format: int64 2830 type: integer 2831 fsGroupChangePolicy: 2832 description: 'fsGroupChangePolicy defines behavior of changing 2833 ownership and permission of the volume before being exposed 2834 inside Pod. This field will only apply to volume types which 2835 support fsGroup based ownership(and permissions). It will 2836 have no effect on ephemeral volume types such as: secret, 2837 configmaps and emptydir. Valid values are "OnRootMismatch" 2838 and "Always". If not specified, "Always" is used.' 2839 type: string 2840 runAsGroup: 2841 description: The GID to run the entrypoint of the container 2842 process. Uses runtime default if unset. May also be set 2843 in SecurityContext. If set in both SecurityContext and 2844 PodSecurityContext, the value specified in SecurityContext 2845 takes precedence for that container. 2846 format: int64 2847 type: integer 2848 runAsNonRoot: 2849 description: Indicates that the container must run as a non-root 2850 user. If true, the Kubelet will validate the image at runtime 2851 to ensure that it does not run as UID 0 (root) and fail 2852 to start the container if it does. If unset or false, no 2853 such validation will be performed. May also be set in SecurityContext. If 2854 set in both SecurityContext and PodSecurityContext, the 2855 value specified in SecurityContext takes precedence. 2856 type: boolean 2857 runAsUser: 2858 description: The UID to run the entrypoint of the container 2859 process. Defaults to user specified in image metadata if 2860 unspecified. May also be set in SecurityContext. If set 2861 in both SecurityContext and PodSecurityContext, the value 2862 specified in SecurityContext takes precedence for that container. 2863 format: int64 2864 type: integer 2865 seLinuxOptions: 2866 description: The SELinux context to be applied to all containers. 2867 If unspecified, the container runtime will allocate a random 2868 SELinux context for each container. May also be set in 2869 SecurityContext. If set in both SecurityContext and PodSecurityContext, 2870 the value specified in SecurityContext takes precedence 2871 for that container. 2872 properties: 2873 level: 2874 description: Level is SELinux level label that applies 2875 to the container. 2876 type: string 2877 role: 2878 description: Role is a SELinux role label that applies 2879 to the container. 2880 type: string 2881 type: 2882 description: Type is a SELinux type label that applies 2883 to the container. 2884 type: string 2885 user: 2886 description: User is a SELinux user label that applies 2887 to the container. 2888 type: string 2889 type: object 2890 seccompProfile: 2891 description: The seccomp options to use by the containers 2892 in this pod. 2893 properties: 2894 localhostProfile: 2895 description: localhostProfile indicates a profile defined 2896 in a file on the node should be used. The profile must 2897 be preconfigured on the node to work. Must be a descending 2898 path, relative to the kubelet's configured seccomp profile 2899 location. Must only be set if type is "Localhost". 2900 type: string 2901 type: 2902 description: "type indicates which kind of seccomp profile 2903 will be applied. Valid options are: \n Localhost - a 2904 profile defined in a file on the node should be used. 2905 RuntimeDefault - the container runtime default profile 2906 should be used. Unconfined - no profile should be applied." 2907 type: string 2908 required: 2909 - type 2910 type: object 2911 supplementalGroups: 2912 description: A list of groups applied to the first process 2913 run in each container, in addition to the container's primary 2914 GID. If unspecified, no groups will be added to any container. 2915 items: 2916 format: int64 2917 type: integer 2918 type: array 2919 sysctls: 2920 description: Sysctls hold a list of namespaced sysctls used 2921 for the pod. Pods with unsupported sysctls (by the container 2922 runtime) might fail to launch. 2923 items: 2924 description: Sysctl defines a kernel parameter to be set 2925 properties: 2926 name: 2927 description: Name of a property to set 2928 type: string 2929 value: 2930 description: Value of a property to set 2931 type: string 2932 required: 2933 - name 2934 - value 2935 type: object 2936 type: array 2937 windowsOptions: 2938 description: The Windows specific settings applied to all 2939 containers. If unspecified, the options within a container's 2940 SecurityContext will be used. If set in both SecurityContext 2941 and PodSecurityContext, the value specified in SecurityContext 2942 takes precedence. 2943 properties: 2944 gmsaCredentialSpec: 2945 description: GMSACredentialSpec is where the GMSA admission 2946 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 2947 inlines the contents of the GMSA credential spec named 2948 by the GMSACredentialSpecName field. 2949 type: string 2950 gmsaCredentialSpecName: 2951 description: GMSACredentialSpecName is the name of the 2952 GMSA credential spec to use. 2953 type: string 2954 hostProcess: 2955 description: HostProcess determines if a container should 2956 be run as a 'Host Process' container. This field is 2957 alpha-level and will only be honored by components that 2958 enable the WindowsHostProcessContainers feature flag. 2959 Setting this field without the feature flag will result 2960 in errors when validating the Pod. All of a Pod's containers 2961 must have the same effective HostProcess value (it is 2962 not allowed to have a mix of HostProcess containers 2963 and non-HostProcess containers). In addition, if HostProcess 2964 is true then HostNetwork must also be set to true. 2965 type: boolean 2966 runAsUserName: 2967 description: The UserName in Windows to run the entrypoint 2968 of the container process. Defaults to the user specified 2969 in image metadata if unspecified. May also be set in 2970 PodSecurityContext. If set in both SecurityContext and 2971 PodSecurityContext, the value specified in SecurityContext 2972 takes precedence. 2973 type: string 2974 type: object 2975 type: object 2976 serviceAccountName: 2977 type: string 2978 serviceAnnotations: 2979 additionalProperties: 2980 type: string 2981 type: object 2982 tolerations: 2983 items: 2984 description: The pod this Toleration is attached to tolerates 2985 any taint that matches the triple <key,value,effect> using 2986 the matching operator <operator>. 2987 properties: 2988 effect: 2989 description: Effect indicates the taint effect to match. 2990 Empty means match all taint effects. When specified, allowed 2991 values are NoSchedule, PreferNoSchedule and NoExecute. 2992 type: string 2993 key: 2994 description: Key is the taint key that the toleration applies 2995 to. Empty means match all taint keys. If the key is empty, 2996 operator must be Exists; this combination means to match 2997 all values and all keys. 2998 type: string 2999 operator: 3000 description: Operator represents a key's relationship to 3001 the value. Valid operators are Exists and Equal. Defaults 3002 to Equal. Exists is equivalent to wildcard for value, 3003 so that a pod can tolerate all taints of a particular 3004 category. 3005 type: string 3006 tolerationSeconds: 3007 description: TolerationSeconds represents the period of 3008 time the toleration (which must be of effect NoExecute, 3009 otherwise this field is ignored) tolerates the taint. 3010 By default, it is not set, which means tolerate the taint 3011 forever (do not evict). Zero and negative values will 3012 be treated as 0 (evict immediately) by the system. 3013 format: int64 3014 type: integer 3015 value: 3016 description: Value is the taint value the toleration matches 3017 to. If the operator is Exists, the value should be empty, 3018 otherwise just a regular string. 3019 type: string 3020 type: object 3021 type: array 3022 type: object 3023 type: object 3024 required: 3025 - spec 3026 type: object 3027 served: true 3028 storage: true 3029 subresources: {} 3030 status: 3031 acceptedNames: 3032 kind: "" 3033 plural: "" 3034 conditions: [] 3035 storedVersions: []