github.com/percona/percona-xtradb-cluster-operator@v1.14.0/deploy/cr.yaml (about) 1 apiVersion: pxc.percona.com/v1 2 kind: PerconaXtraDBCluster 3 metadata: 4 name: cluster1 5 finalizers: 6 - delete-pxc-pods-in-order 7 # - delete-ssl 8 # - delete-proxysql-pvc 9 # - delete-pxc-pvc 10 # annotations: 11 # percona.com/issue-vault-token: "true" 12 spec: 13 crVersion: 1.14.0 14 # ignoreAnnotations: 15 # - iam.amazonaws.com/role 16 # ignoreLabels: 17 # - rack 18 # secretsName: cluster1-secrets 19 # vaultSecretName: keyring-secret-vault 20 # sslSecretName: cluster1-ssl 21 # sslInternalSecretName: cluster1-ssl-internal 22 # logCollectorSecretName: cluster1-log-collector-secrets 23 # initContainer: 24 # image: perconalab/percona-xtradb-cluster-operator:main 25 # resources: 26 # requests: 27 # memory: 100M 28 # cpu: 100m 29 # limits: 30 # memory: 200M 31 # cpu: 200m 32 # enableCRValidationWebhook: true 33 # tls: 34 # SANs: 35 # - pxc-1.example.com 36 # - pxc-2.example.com 37 # - pxc-3.example.com 38 # issuerConf: 39 # name: special-selfsigned-issuer 40 # kind: ClusterIssuer 41 # group: cert-manager.io 42 allowUnsafeConfigurations: false 43 # pause: false 44 updateStrategy: SmartUpdate 45 upgradeOptions: 46 versionServiceEndpoint: https://check.percona.com 47 apply: disabled 48 schedule: "0 4 * * *" 49 pxc: 50 size: 3 51 image: percona/percona-xtradb-cluster:8.0.35-27.1 52 autoRecovery: true 53 # expose: 54 # enabled: true 55 # type: LoadBalancer 56 # externalTrafficPolicy: Local 57 # internalTrafficPolicy: Local 58 # loadBalancerSourceRanges: 59 # - 10.0.0.0/8 60 # loadBalancerIP: 127.0.0.1 61 # annotations: 62 # networking.gke.io/load-balancer-type: "Internal" 63 # labels: 64 # rack: rack-22 65 # replicationChannels: 66 # - name: pxc1_to_pxc2 67 # isSource: true 68 # - name: pxc2_to_pxc1 69 # isSource: false 70 # configuration: 71 # sourceRetryCount: 3 72 # sourceConnectRetry: 60 73 # ssl: false 74 # sslSkipVerify: true 75 # ca: '/etc/mysql/ssl/ca.crt' 76 # sourcesList: 77 # - host: 10.95.251.101 78 # port: 3306 79 # weight: 100 80 # schedulerName: mycustom-scheduler 81 # readinessDelaySec: 15 82 # livenessDelaySec: 600 83 # configuration: | 84 # [mysqld] 85 # wsrep_debug=CLIENT 86 # wsrep_provider_options="gcache.size=1G; gcache.recover=yes" 87 # [sst] 88 # xbstream-opts=--decompress 89 # [xtrabackup] 90 # compress=lz4 91 # for PXC 5.7 92 # [xtrabackup] 93 # compress 94 # imagePullSecrets: 95 # - name: private-registry-credentials 96 # priorityClassName: high-priority 97 # annotations: 98 # iam.amazonaws.com/role: role-arn 99 # labels: 100 # rack: rack-22 101 # readinessProbes: 102 # initialDelaySeconds: 15 103 # timeoutSeconds: 15 104 # periodSeconds: 30 105 # successThreshold: 1 106 # failureThreshold: 5 107 # livenessProbes: 108 # initialDelaySeconds: 300 109 # timeoutSeconds: 5 110 # periodSeconds: 10 111 # successThreshold: 1 112 # failureThreshold: 3 113 # containerSecurityContext: 114 # privileged: false 115 # podSecurityContext: 116 # runAsUser: 1001 117 # runAsGroup: 1001 118 # supplementalGroups: [1001] 119 # serviceAccountName: percona-xtradb-cluster-operator-workload 120 # imagePullPolicy: Always 121 # runtimeClassName: image-rc 122 # sidecars: 123 # - image: busybox 124 # command: ["/bin/sh"] 125 # args: ["-c", "while true; do trap 'exit 0' SIGINT SIGTERM SIGQUIT SIGKILL; done;"] 126 # name: my-sidecar-1 127 # resources: 128 # requests: 129 # memory: 100M 130 # cpu: 100m 131 # limits: 132 # memory: 200M 133 # cpu: 200m 134 # envVarsSecret: my-env-var-secrets 135 resources: 136 requests: 137 memory: 1G 138 cpu: 600m 139 # ephemeral-storage: 1G 140 # limits: 141 # memory: 1G 142 # cpu: "1" 143 # ephemeral-storage: 1G 144 # nodeSelector: 145 # disktype: ssd 146 # topologySpreadConstraints: 147 # - labelSelector: 148 # matchLabels: 149 # app.kubernetes.io/name: percona-xtradb-cluster-operator 150 # maxSkew: 1 151 # topologyKey: kubernetes.io/hostname 152 # whenUnsatisfiable: DoNotSchedule 153 affinity: 154 antiAffinityTopologyKey: "kubernetes.io/hostname" 155 # advanced: 156 # nodeAffinity: 157 # requiredDuringSchedulingIgnoredDuringExecution: 158 # nodeSelectorTerms: 159 # - matchExpressions: 160 # - key: kubernetes.io/e2e-az-name 161 # operator: In 162 # values: 163 # - e2e-az1 164 # - e2e-az2 165 # tolerations: 166 # - key: "node.alpha.kubernetes.io/unreachable" 167 # operator: "Exists" 168 # effect: "NoExecute" 169 # tolerationSeconds: 6000 170 podDisruptionBudget: 171 maxUnavailable: 1 172 # minAvailable: 0 173 volumeSpec: 174 # emptyDir: {} 175 # hostPath: 176 # path: /data 177 # type: Directory 178 persistentVolumeClaim: 179 # storageClassName: standard 180 # accessModes: [ "ReadWriteOnce" ] 181 resources: 182 requests: 183 storage: 6G 184 gracePeriod: 600 185 # lifecycle: 186 # preStop: 187 # exec: 188 # command: [ "/bin/true" ] 189 # postStart: 190 # exec: 191 # command: [ "/bin/true" ] 192 haproxy: 193 enabled: true 194 size: 3 195 image: percona/percona-xtradb-cluster-operator:1.14.0-haproxy 196 # imagePullPolicy: Always 197 # schedulerName: mycustom-scheduler 198 # readinessDelaySec: 15 199 # livenessDelaySec: 600 200 # configuration: | 201 # 202 # the actual default configuration file can be found here https://github.com/percona/percona-docker/blob/main/haproxy/dockerdir/etc/haproxy/haproxy-global.cfg 203 # 204 # global 205 # maxconn 2048 206 # external-check 207 # insecure-fork-wanted 208 # stats socket /etc/haproxy/pxc/haproxy.sock mode 600 expose-fd listeners level admin 209 # 210 # defaults 211 # default-server init-addr last,libc,none 212 # log global 213 # mode tcp 214 # retries 10 215 # timeout client 28800s 216 # timeout connect 100500 217 # timeout server 28800s 218 # 219 # resolvers kubernetes 220 # parse-resolv-conf 221 # 222 # frontend galera-in 223 # bind *:3309 accept-proxy 224 # bind *:3306 225 # mode tcp 226 # option clitcpka 227 # default_backend galera-nodes 228 # 229 # frontend galera-admin-in 230 # bind *:33062 231 # mode tcp 232 # option clitcpka 233 # default_backend galera-admin-nodes 234 # 235 # frontend galera-replica-in 236 # bind *:3307 237 # mode tcp 238 # option clitcpka 239 # default_backend galera-replica-nodes 240 # 241 # frontend galera-mysqlx-in 242 # bind *:33060 243 # mode tcp 244 # option clitcpka 245 # default_backend galera-mysqlx-nodes 246 # 247 # frontend stats 248 # bind *:8404 249 # mode http 250 # option http-use-htx 251 # http-request use-service prometheus-exporter if { path /metrics } 252 # imagePullSecrets: 253 # - name: private-registry-credentials 254 # annotations: 255 # iam.amazonaws.com/role: role-arn 256 # labels: 257 # rack: rack-22 258 # readinessProbes: 259 # initialDelaySeconds: 15 260 # timeoutSeconds: 1 261 # periodSeconds: 5 262 # successThreshold: 1 263 # failureThreshold: 3 264 # livenessProbes: 265 # initialDelaySeconds: 60 266 # timeoutSeconds: 5 267 # periodSeconds: 30 268 # successThreshold: 1 269 # failureThreshold: 4 270 # exposePrimary: 271 # enabled: false 272 # type: ClusterIP 273 # annotations: 274 # service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp 275 # externalTrafficPolicy: Cluster 276 # internalTrafficPolicy: Cluster 277 # labels: 278 # rack: rack-22 279 # loadBalancerSourceRanges: 280 # - 10.0.0.0/8 281 # loadBalancerIP: 127.0.0.1 282 # exposeReplicas: 283 # enabled: false 284 # type: ClusterIP 285 # annotations: 286 # service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp 287 # externalTrafficPolicy: Cluster 288 # internalTrafficPolicy: Cluster 289 # labels: 290 # rack: rack-22 291 # loadBalancerSourceRanges: 292 # - 10.0.0.0/8 293 # loadBalancerIP: 127.0.0.1 294 # runtimeClassName: image-rc 295 # sidecars: 296 # - image: busybox 297 # command: ["/bin/sh"] 298 # args: ["-c", "while true; do trap 'exit 0' SIGINT SIGTERM SIGQUIT SIGKILL; done;"] 299 # name: my-sidecar-1 300 # resources: 301 # requests: 302 # memory: 100M 303 # cpu: 100m 304 # limits: 305 # memory: 200M 306 # cpu: 200m 307 # envVarsSecret: my-env-var-secrets 308 resources: 309 requests: 310 memory: 1G 311 cpu: 600m 312 # limits: 313 # memory: 1G 314 # cpu: 700m 315 # priorityClassName: high-priority 316 # nodeSelector: 317 # disktype: ssd 318 # sidecarResources: 319 # requests: 320 # memory: 1G 321 # cpu: 500m 322 # limits: 323 # memory: 2G 324 # cpu: 600m 325 # containerSecurityContext: 326 # privileged: false 327 # podSecurityContext: 328 # runAsUser: 1001 329 # runAsGroup: 1001 330 # supplementalGroups: [1001] 331 # serviceAccountName: percona-xtradb-cluster-operator-workload 332 # topologySpreadConstraints: 333 # - labelSelector: 334 # matchLabels: 335 # app.kubernetes.io/name: percona-xtradb-cluster-operator 336 # maxSkew: 1 337 # topologyKey: kubernetes.io/hostname 338 # whenUnsatisfiable: DoNotSchedule 339 affinity: 340 antiAffinityTopologyKey: "kubernetes.io/hostname" 341 # advanced: 342 # nodeAffinity: 343 # requiredDuringSchedulingIgnoredDuringExecution: 344 # nodeSelectorTerms: 345 # - matchExpressions: 346 # - key: kubernetes.io/e2e-az-name 347 # operator: In 348 # values: 349 # - e2e-az1 350 # - e2e-az2 351 # tolerations: 352 # - key: "node.alpha.kubernetes.io/unreachable" 353 # operator: "Exists" 354 # effect: "NoExecute" 355 # tolerationSeconds: 6000 356 podDisruptionBudget: 357 maxUnavailable: 1 358 # minAvailable: 0 359 gracePeriod: 30 360 # lifecycle: 361 # preStop: 362 # exec: 363 # command: [ "/bin/true" ] 364 # postStart: 365 # exec: 366 # command: [ "/bin/true" ] 367 proxysql: 368 enabled: false 369 size: 3 370 image: percona/percona-xtradb-cluster-operator:1.14.0-proxysql 371 # imagePullPolicy: Always 372 # configuration: | 373 # datadir="/var/lib/proxysql" 374 # 375 # admin_variables = 376 # { 377 # admin_credentials="proxyadmin:admin_password" 378 # mysql_ifaces="0.0.0.0:6032" 379 # refresh_interval=2000 380 # 381 # cluster_username="proxyadmin" 382 # cluster_password="admin_password" 383 # checksum_admin_variables=false 384 # checksum_ldap_variables=false 385 # checksum_mysql_variables=false 386 # cluster_check_interval_ms=200 387 # cluster_check_status_frequency=100 388 # cluster_mysql_query_rules_save_to_disk=true 389 # cluster_mysql_servers_save_to_disk=true 390 # cluster_mysql_users_save_to_disk=true 391 # cluster_proxysql_servers_save_to_disk=true 392 # cluster_mysql_query_rules_diffs_before_sync=1 393 # cluster_mysql_servers_diffs_before_sync=1 394 # cluster_mysql_users_diffs_before_sync=1 395 # cluster_proxysql_servers_diffs_before_sync=1 396 # } 397 # 398 # mysql_variables= 399 # { 400 # monitor_password="monitor" 401 # monitor_galera_healthcheck_interval=1000 402 # threads=2 403 # max_connections=2048 404 # default_query_delay=0 405 # default_query_timeout=10000 406 # poll_timeout=2000 407 # interfaces="0.0.0.0:3306" 408 # default_schema="information_schema" 409 # stacksize=1048576 410 # connect_timeout_server=10000 411 # monitor_history=60000 412 # monitor_connect_interval=20000 413 # monitor_ping_interval=10000 414 # ping_timeout_server=200 415 # commands_stats=true 416 # sessions_sort=true 417 # have_ssl=true 418 # ssl_p2s_ca="/etc/proxysql/ssl-internal/ca.crt" 419 # ssl_p2s_cert="/etc/proxysql/ssl-internal/tls.crt" 420 # ssl_p2s_key="/etc/proxysql/ssl-internal/tls.key" 421 # ssl_p2s_cipher="ECDHE-RSA-AES128-GCM-SHA256" 422 # } 423 # readinessDelaySec: 15 424 # livenessDelaySec: 600 425 # schedulerName: mycustom-scheduler 426 # imagePullSecrets: 427 # - name: private-registry-credentials 428 # annotations: 429 # iam.amazonaws.com/role: role-arn 430 # labels: 431 # rack: rack-22 432 # expose: 433 # enabled: false 434 # type: ClusterIP 435 # annotations: 436 # service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp 437 # externalTrafficPolicy: Cluster 438 # internalTrafficPolicy: Cluster 439 # labels: 440 # rack: rack-22 441 # loadBalancerSourceRanges: 442 # - 10.0.0.0/8 443 # loadBalancerIP: 127.0.0.1 444 # runtimeClassName: image-rc 445 # sidecars: 446 # - image: busybox 447 # command: ["/bin/sh"] 448 # args: ["-c", "while true; do trap 'exit 0' SIGINT SIGTERM SIGQUIT SIGKILL; done;"] 449 # name: my-sidecar-1 450 # resources: 451 # requests: 452 # memory: 100M 453 # cpu: 100m 454 # limits: 455 # memory: 200M 456 # cpu: 200m 457 # envVarsSecret: my-env-var-secrets 458 resources: 459 requests: 460 memory: 1G 461 cpu: 600m 462 # limits: 463 # memory: 1G 464 # cpu: 700m 465 # priorityClassName: high-priority 466 # nodeSelector: 467 # disktype: ssd 468 # sidecarResources: 469 # requests: 470 # memory: 1G 471 # cpu: 500m 472 # limits: 473 # memory: 2G 474 # cpu: 600m 475 # containerSecurityContext: 476 # privileged: false 477 # podSecurityContext: 478 # runAsUser: 1001 479 # runAsGroup: 1001 480 # supplementalGroups: [1001] 481 # serviceAccountName: percona-xtradb-cluster-operator-workload 482 # topologySpreadConstraints: 483 # - labelSelector: 484 # matchLabels: 485 # app.kubernetes.io/name: percona-xtradb-cluster-operator 486 # maxSkew: 1 487 # topologyKey: kubernetes.io/hostname 488 # whenUnsatisfiable: DoNotSchedule 489 affinity: 490 antiAffinityTopologyKey: "kubernetes.io/hostname" 491 # advanced: 492 # nodeAffinity: 493 # requiredDuringSchedulingIgnoredDuringExecution: 494 # nodeSelectorTerms: 495 # - matchExpressions: 496 # - key: kubernetes.io/e2e-az-name 497 # operator: In 498 # values: 499 # - e2e-az1 500 # - e2e-az2 501 # tolerations: 502 # - key: "node.alpha.kubernetes.io/unreachable" 503 # operator: "Exists" 504 # effect: "NoExecute" 505 # tolerationSeconds: 6000 506 volumeSpec: 507 # emptyDir: {} 508 # hostPath: 509 # path: /data 510 # type: Directory 511 persistentVolumeClaim: 512 # storageClassName: standard 513 # accessModes: [ "ReadWriteOnce" ] 514 resources: 515 requests: 516 storage: 2G 517 podDisruptionBudget: 518 maxUnavailable: 1 519 # minAvailable: 0 520 gracePeriod: 30 521 # lifecycle: 522 # preStop: 523 # exec: 524 # command: [ "/bin/true" ] 525 # postStart: 526 # exec: 527 # command: [ "/bin/true" ] 528 # loadBalancerSourceRanges: 529 # - 10.0.0.0/8 530 logcollector: 531 enabled: true 532 image: percona/percona-xtradb-cluster-operator:1.14.0-logcollector 533 # configuration: | 534 # [OUTPUT] 535 # Name es 536 # Match * 537 # Host 192.168.2.3 538 # Port 9200 539 # Index my_index 540 # Type my_type 541 resources: 542 requests: 543 memory: 100M 544 cpu: 200m 545 pmm: 546 enabled: false 547 image: percona/pmm-client:2.41.1 548 serverHost: monitoring-service 549 # serverUser: admin 550 # pxcParams: "--disable-tablestats-limit=2000" 551 # proxysqlParams: "--custom-labels=CUSTOM-LABELS" 552 # containerSecurityContext: 553 # privileged: false 554 resources: 555 requests: 556 memory: 150M 557 cpu: 300m 558 backup: 559 # allowParallel: true 560 image: percona/percona-xtradb-cluster-operator:1.14.0-pxc8.0-backup-pxb8.0.35 561 # backoffLimit: 6 562 # serviceAccountName: percona-xtradb-cluster-operator 563 # imagePullSecrets: 564 # - name: private-registry-credentials 565 pitr: 566 enabled: false 567 storageName: STORAGE-NAME-HERE 568 timeBetweenUploads: 60 569 timeoutSeconds: 60 570 # resources: 571 # requests: 572 # memory: 0.1G 573 # cpu: 100m 574 # limits: 575 # memory: 1G 576 # cpu: 700m 577 storages: 578 s3-us-west: 579 type: s3 580 verifyTLS: true 581 # nodeSelector: 582 # storage: tape 583 # backupWorker: 'True' 584 # resources: 585 # requests: 586 # memory: 1G 587 # cpu: 600m 588 # topologySpreadConstraints: 589 # - labelSelector: 590 # matchLabels: 591 # app.kubernetes.io/name: percona-xtradb-cluster-operator 592 # maxSkew: 1 593 # topologyKey: kubernetes.io/hostname 594 # whenUnsatisfiable: DoNotSchedule 595 # affinity: 596 # nodeAffinity: 597 # requiredDuringSchedulingIgnoredDuringExecution: 598 # nodeSelectorTerms: 599 # - matchExpressions: 600 # - key: backupWorker 601 # operator: In 602 # values: 603 # - 'True' 604 # tolerations: 605 # - key: "backupWorker" 606 # operator: "Equal" 607 # value: "True" 608 # effect: "NoSchedule" 609 # annotations: 610 # testName: scheduled-backup 611 # labels: 612 # backupWorker: 'True' 613 # schedulerName: 'default-scheduler' 614 # priorityClassName: 'high-priority' 615 # containerSecurityContext: 616 # privileged: true 617 # podSecurityContext: 618 # fsGroup: 1001 619 # supplementalGroups: [1001, 1002, 1003] 620 # containerOptions: 621 # env: 622 # - name: VERIFY_TLS 623 # value: "false" 624 # args: 625 # xtrabackup: 626 # - "--someflag=abc" 627 # xbcloud: 628 # - "--someflag=abc" 629 # xbstream: 630 # - "--someflag=abc" 631 s3: 632 bucket: S3-BACKUP-BUCKET-NAME-HERE 633 credentialsSecret: my-cluster-name-backup-s3 634 region: us-west-2 635 azure-blob: 636 type: azure 637 azure: 638 credentialsSecret: azure-secret 639 container: test 640 # endpointUrl: https://accountName.blob.core.windows.net 641 # storageClass: Hot 642 fs-pvc: 643 type: filesystem 644 # nodeSelector: 645 # storage: tape 646 # backupWorker: 'True' 647 # resources: 648 # requests: 649 # memory: 1G 650 # cpu: 600m 651 # topologySpreadConstraints: 652 # - labelSelector: 653 # matchLabels: 654 # app.kubernetes.io/name: percona-xtradb-cluster-operator 655 # maxSkew: 1 656 # topologyKey: kubernetes.io/hostname 657 # whenUnsatisfiable: DoNotSchedule 658 # affinity: 659 # nodeAffinity: 660 # requiredDuringSchedulingIgnoredDuringExecution: 661 # nodeSelectorTerms: 662 # - matchExpressions: 663 # - key: backupWorker 664 # operator: In 665 # values: 666 # - 'True' 667 # tolerations: 668 # - key: "backupWorker" 669 # operator: "Equal" 670 # value: "True" 671 # effect: "NoSchedule" 672 # annotations: 673 # testName: scheduled-backup 674 # labels: 675 # backupWorker: 'True' 676 # schedulerName: 'default-scheduler' 677 # priorityClassName: 'high-priority' 678 # containerSecurityContext: 679 # privileged: true 680 # podSecurityContext: 681 # fsGroup: 1001 682 # supplementalGroups: [1001, 1002, 1003] 683 volume: 684 persistentVolumeClaim: 685 # storageClassName: standard 686 accessModes: [ "ReadWriteOnce" ] 687 resources: 688 requests: 689 storage: 6G 690 schedule: 691 # - name: "sat-night-backup" 692 # schedule: "0 0 * * 6" 693 # keep: 3 694 # storageName: s3-us-west 695 - name: "daily-backup" 696 schedule: "0 0 * * *" 697 keep: 5 698 storageName: fs-pvc