https://www.percona.com/doc/kubernetes-operator-for-pxc/pause.html

 

Pause/resume Percona XtraDB Cluster

Pause/resume Percona XtraDB Cluster

www.percona.com

Pause - DB Cluster 를 일시중지해야할일이 있을경우 사용

기본 설치값은 false 로 되어있음

 

values.yaml -> 설치파일

 

...

pause: false

...

 

./templates/cluster.yaml -> Cluster CR 정의 파일

 

pause: {{ .Values.pause }}

 

### CR 편집

kubectl edit perconaxtradbclusters.pxc.percona.com

 

pause: false -> pause: true

 

$ kubectl get pod
NAME                                                 READY   STATUS        RESTARTS   AGE
my-db-pxc-db-pxc-0                                   3/3     Running       0          12d
my-db-pxc-db-pxc-1                                   3/3     Running       0          12d
my-db-pxc-db-pxc-2                                   3/3    Running   0          12d
my-op-pxc-operator-7578776fd6-ttms8                  1/1     Running       0          12d
testpod1                                             1/1     Running       0          12d
testpod2                                             1/1     Running       0          12d
testpod3                                             1/1     Running       0          12d
xb-cron-my-db-pxc-db-fs-pvc-2022611000-372f8-m7v75   0/1     Completed     0          4d6h
xb-cron-my-db-pxc-db-fs-pvc-2022612000-372f8-ws9x9   0/1     Completed     0          3d6h
xb-cron-my-db-pxc-db-fs-pvc-2022613000-372f8-tdtcm   0/1     Completed     0          2d6h
xb-cron-my-db-pxc-db-fs-pvc-2022614000-372f8-nld5t   0/1     Completed     0          30h
xb-cron-my-db-pxc-db-fs-pvc-2022615000-372f8-5d7gp   0/1     Completed     0          6h54m

 

->

 

$ kubectl get pod
NAME                                                 READY   STATUS      RESTARTS   AGE
my-op-pxc-operator-7578776fd6-ttms8                  1/1     Running     0          12d
testpod1                                             1/1     Running     0          12d
testpod2                                             1/1     Running     0          12d
testpod3                                             1/1     Running     0          12d
xb-cron-my-db-pxc-db-fs-pvc-2022611000-372f8-m7v75   0/1     Completed   0          4d6h
xb-cron-my-db-pxc-db-fs-pvc-2022612000-372f8-ws9x9   0/1     Completed   0          3d6h
xb-cron-my-db-pxc-db-fs-pvc-2022613000-372f8-tdtcm   0/1     Completed   0          2d6h
xb-cron-my-db-pxc-db-fs-pvc-2022614000-372f8-nld5t   0/1     Completed   0          30h
xb-cron-my-db-pxc-db-fs-pvc-2022615000-372f8-5d7gp   0/1     Completed   0          6h55m

 

$ kubectl get sts
NAME                   READY   AGE
my-db-pxc-db-haproxy   0/0     12d
my-db-pxc-db-pxc       0/0     12d

 

$ kubectl get pxc -A
NAMESPACE   NAME           ENDPOINT                       STATUS   PXC   PROXYSQL   HAPROXY   AGE
default     my-db-pxc-db   my-db-pxc-db-haproxy.default   paused                              12d

 

### Pause 값을 true -> false 로 다시 수정

$ kubectl edit perconaxtradbclusters.pxc.percona.com
perconaxtradbcluster.pxc.percona.com/my-db-pxc-db edited

 

pause: true -> pause: false

 

# kubectl get pxc -A
NAMESPACE   NAME           ENDPOINT                       STATUS         PXC   PROXYSQL   HAPROXY   AGE
default     my-db-pxc-db   my-db-pxc-db-haproxy.default   initializing                              12d

 

$ kubectl get sts
NAME                   READY   AGE
my-db-pxc-db-haproxy   3/3     12d
my-db-pxc-db-pxc       3/3     12d

 

$ kubectl get pod
NAME                                                 READY   STATUS      RESTARTS   AGE
my-db-pxc-db-haproxy-0                               2/2     Running     0          6m23s
my-db-pxc-db-haproxy-1                               2/2     Running     0          5m12s
my-db-pxc-db-haproxy-2                               2/2     Running     0          4m52s
my-db-pxc-db-pxc-0                                   3/3     Running     0          6m24s
my-db-pxc-db-pxc-1                                   3/3     Running     0          5m23s
my-db-pxc-db-pxc-2                                   3/3     Running     0          4m23s
my-op-pxc-operator-7578776fd6-ttms8                  1/1     Running     0          12d
testpod1                                             1/1     Running     0          12d
testpod2                                             1/1     Running     0          12d
testpod3                                             1/1     Running     0          12d
xb-cron-my-db-pxc-db-fs-pvc-2022611000-372f8-m7v75   0/1     Completed   0          4d7h
xb-cron-my-db-pxc-db-fs-pvc-2022612000-372f8-ws9x9   0/1     Completed   0          3d7h
xb-cron-my-db-pxc-db-fs-pvc-2022613000-372f8-tdtcm   0/1     Completed   0          2d7h
xb-cron-my-db-pxc-db-fs-pvc-2022614000-372f8-nld5t   0/1     Completed   0          31h
xb-cron-my-db-pxc-db-fs-pvc-2022615000-372f8-5d7gp   0/1     Completed   0          7h5m

 

 

apiVersion: pxc.percona.com/v{{ .Chart.AppVersion | replace "." "-" }}
kind: PerconaXtraDBCluster
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"pxc.percona.com/v{{ .Chart.AppVersion | replace "." "-" }}","kind":"PerconaXtraDBCluster"}
  name: {{ include "pxc-database.fullname" . }}
  labels:
{{ include "pxc-database.labels" . | indent 4 }}
  finalizers:
{{ .Values.finalizers | toYaml | indent 4 }}
spec:
  crVersion: {{ .Chart.AppVersion }}
  {{- if hasKey .Values.pxc "clusterSecretName" }}
  secretsName: {{ .Values.pxc.clusterSecretName }}
  {{- else }}
  secretsName: {{ include "pxc-database.fullname" . }}
  {{- end }}
  {{- if not .Values.pxc.disableTLS }}
  {{- if hasKey .Values.secrets.tls "cluster" }}
  sslSecretName: {{ .Values.secrets.tls.cluster }}
  {{- else }}
  sslSecretName: {{ include "pxc-database.fullname" . }}-ssl
  {{- end }}
  {{- if hasKey .Values.secrets.tls "internal" }}
  sslInternalSecretName: {{ .Values.secrets.tls.internal }}
  {{- else }}
  sslInternalSecretName: {{ include "pxc-database.fullname" . }}-ssl-internal
  {{- end }}
  {{- end }}
  {{- if hasKey .Values.pxc "vaultSecretName" }}
  vaultSecretName: {{ .Values.pxc.vaultSecretName }}
  {{- else }}
  vaultSecretName: {{ include "pxc-database.fullname" . }}-vault
  {{- end }}
  {{- if hasKey .Values.pxc "logCollectorSecretName" }}
  logCollectorSecretName: {{ .Values.pxc.logCollectorSecretName }}
  {{- else }}
  logCollectorSecretName: {{ include "pxc-database.fullname" . }}-log-collector
  {{- end }}
  initImage: {{ .Values.initImage }}
  {{- if or .Values.allowUnsafeConfigurations .Values.pxc.disableTLS }}
  allowUnsafeConfigurations: true
  {{- end }}
  enableCRValidationWebhook: {{ .Values.enableCRValidationWebhook }}
  pause: {{ .Values.pause }}
  updateStrategy: {{ .Values.updateStrategy }}
  {{- if hasKey .Values.upgradeOptions "versionServiceEndpoint" }}
  upgradeOptions:
    versionServiceEndpoint: {{ .Values.upgradeOptions.versionServiceEndpoint }}
    apply: {{ .Values.upgradeOptions.apply }}
    schedule: {{ .Values.upgradeOptions.schedule }}
  {{- end }}
  {{- if .Values.tls }}
  tls:
  {{- if hasKey .Values.tls "SANs" }}
    SANs:
{{ .Values.tls.SANs | toYaml | indent 6 }}
  {{- end }}
  {{- if hasKey .Values.tls "issuerConf" }}
    issuerConf:
      name: {{ .Values.tls.issuerConf.name }}
      kind: {{ .Values.tls.issuerConf.kind }}
      group: {{ .Values.tls.issuerConf.group }}
  {{- end }}
  {{- end }}

 

cluster.yaml - 02

 

 

cluster.yaml - 02 START

 

### pxc values 값 정의

 

### .Values.haproxy 의 enabled 값이 아니고, Values.proxysql 의 값이 enabled 일때 haproxy 값 기본값 "enabled" key 값이 false 값으로 정의 - haproxy 구성안됨

### .Values.haproxy 값이 $haproxy 변수값으로 할당

### .Values.haproxy 의 enabled 값이 아니고, Values.proxysql 의 값이 enabled 이 아닐경우, haproxy 의 "enabled" key 값의 "values" 값이 true - haproxy 구성됨

### include "pxc-db.haproxy-image" 값으로 haproxy 의 container image 값 정의

 

### Values.proxysql.enabled 값이 아닐경우 proxysql 의 "enabled" key 값의 valuse 값이 "false" 값으로 세팅 - proxysql 구성 안됨

### Values.proxysql.enabled 값일 경우 proxysql 의 "enabled" key 값의 valuse 값이 "true" 값으로 세팅 - proxysql 구성됨

### include "pxc-db.proxysql-image" 값으로 proxysql의 container image 값 정의

 

### Values.logcollector 의 enabled 값이 아닐경우  Values.logcollector 의 값이 enabled 일때 logcollector 값 기본값 "enabled" key 값이 false 값으로 정의 - logcollector 구성안됨

### Values.logcollector.enabled 값일 경우 logcollector 의 "enabled" key 값의 valuse 값이 "true" 값으로 세팅 - logcollector 구성됨

 

### Values.pmm 의 enabled 값이 아닐경우  Values.pmm 의 값이 enabled 일때 pmm 값 기본값 "enabled" key 값이 false 값으로 정의 - pmm 구성안됨

### Values.pmm.enabled 값일 경우 pmm 의 "enabled" key 값의 valuse 값이 "true" 값으로 세팅 - pmm 구성됨

 

### .Values.backup 값이 $backup 변수값으로 할당

### $backup.enabled 값이 있을경우 backup 구성됨

### backup 의 이미지가 include "pxc-db.backup-image" 값으로 정의

### backup 의 stroage 값이 pxc-database.storages 값으로 정의

 

 

  {{- $pxc := .Values.pxc }}
  pxc:
    size: {{ $pxc.size }}
    image: "{{ $pxc.image.repository }}:{{ $pxc.image.tag }}"
    autoRecovery: {{ $pxc.autoRecovery }}
    {{- if $pxc.schedulerName }}
    schedulerName: {{ $pxc.schedulerName }}
    {{- end }}
    readinessDelaySec: {{ $pxc.readinessDelaySec }}
    livenessDelaySec: {{ $pxc.livenessDelaySec }}
    {{- if $pxc.configuration }}
    configuration: |
    {{ tpl $pxc.configuration $ | nindent 6 }}
    {{- end }}
    {{- if $pxc.imagePullPolicy }}
    imagePullPolicy: {{ $pxc.imagePullPolicy }}
    {{- end }}
    {{- if $pxc.imagePullSecrets }}
    imagePullSecrets:
{{ $pxc.imagePullSecrets | toYaml | indent 6 }}
    {{- end }}
    {{- if $pxc.priorityClassName }}
    priorityClassName: {{ $pxc.priorityClassName }}
    {{- end }}
    annotations:
{{ $pxc.annotations | toYaml | indent 6 }}
    labels:
{{ $pxc.labels | toYaml | indent 6 }}
    {{- if $pxc.expose }}
    expose:
{{ tpl ($pxc.expose | toYaml) $ | indent 6 }}
    {{- end }}
    {{- if $pxc.replicationChannels }}
    replicationChannels:
{{ tpl ($pxc.replicationChannels | toYaml) $ | indent 6 }}
    {{- end }}
    {{- if $pxc.runtimeClassName }}
    runtimeClassName: {{ $pxc.runtimeClassName }}
    {{- end }}
    {{- if $pxc.envVarsSecret }}
    envVarsSecret: {{ $pxc.envVarsSecret }}
    {{- end }}
    resources:
      requests:
{{ tpl ($pxc.resources.requests | toYaml) $ | indent 8 }}
      limits:
{{ tpl ($pxc.resources.limits | toYaml) $ | indent 8 }}
    sidecars:
{{ $pxc.sidecars | toYaml | indent 6 }}
    sidecarResources:
      requests:
{{ tpl ($pxc.sidecarResources.requests | toYaml) $ | indent 8 }}
      limits:
{{ tpl ($pxc.sidecarResources.limits | toYaml) $ | indent 8 }}
    nodeSelector:
{{ $pxc.nodeSelector | toYaml | indent 6 }}
    affinity:
{{ $pxc.affinity | toYaml | indent 6 }}
    tolerations:
{{ $pxc.tolerations | toYaml | indent 6 }}
    podDisruptionBudget:
{{ $pxc.podDisruptionBudget | toYaml | indent 6 }}
    volumeSpec:
    {{- if not $pxc.persistence.enabled }}
      emptyDir: {}
    {{- else }}
    {{- if hasKey $pxc.persistence "hostPath" }}
      hostPath:
        path: {{ $pxc.persistence.hostPath }}
        type: Directory
    {{- else }}
      persistentVolumeClaim:
        {{- if $pxc.persistence.storageClass }}
        {{- if (eq "-" $pxc.persistence.storageClass) }}
        storageClassName: ""
        {{- else }}
        storageClassName: "{{ $pxc.persistence.storageClass }}"
        {{- end }}
        {{- end }}
        accessModes: [{{ $pxc.persistence.accessMode | quote }}]
        resources:
          requests:
            storage: {{ $pxc.persistence.size | quote }}
    {{- end }}
    {{- end }}
    gracePeriod: {{ $pxc.gracePeriod }}
    readinessProbes:
{{ tpl ($pxc.readinessProbes | toYaml) $ | indent 6 }}
    livenessProbes:
{{ tpl ($pxc.livenessProbes | toYaml) $ | indent 6 }}
    {{- if $pxc.containerSecurityContext }}
    containerSecurityContext:
{{ tpl ($pxc.containerSecurityContext | toYaml) $ | indent 6 }}
    {{- end }}
    {{- if $pxc.podSecurityContext }}
    podSecurityContext:
{{ tpl ($pxc.podSecurityContext | toYaml) $ | indent 6 }}
    {{- end }}
    {{- if $pxc.serviceAccountName }}
    serviceAccountName: {{ $pxc.serviceAccountName }}
    {{- end }}
  {{- if or (not .Values.haproxy.enabled) .Values.proxysql.enabled }}
  haproxy:
    enabled: false
  {{- else }}
  {{- $haproxy := .Values.haproxy }}
  haproxy:
    enabled: true
    size: {{ $haproxy.size }}
    image: {{ include "pxc-db.haproxy-image" . }}
    replicasServiceEnabled: {{ $haproxy.replicasServiceEnabled }}
    {{- if $haproxy.imagePullPolicy }}
    imagePullPolicy: {{ $haproxy.imagePullPolicy }}
    {{- end }}
    {{- if $haproxy.imagePullSecrets }}
    imagePullSecrets:
{{ $haproxy.imagePullSecrets | toYaml | indent 6 }}
    {{- end }}
    {{- if $haproxy.schedulerName }}
    schedulerName: {{ $haproxy.schedulerName }}
    {{- end }}
    {{- if $haproxy.configuration }}
    configuration: |
    {{ tpl $haproxy.configuration $ | nindent 6 }}
    {{- end }}
    {{- if $haproxy.priorityClassName }}
    priorityClassName: {{ $haproxy.priorityClassName }}
    {{- end }}
    {{- if $haproxy.externalTrafficPolicy }}
    externalTrafficPolicy: {{ $haproxy.externalTrafficPolicy }}
    {{- end }}
    {{- if $haproxy.replicasExternalTrafficPolicy }}
    replicasExternalTrafficPolicy: {{ $haproxy.replicasExternalTrafficPolicy }}
    {{- end }}
    {{- if $haproxy.loadBalancerSourceRanges }}
    loadBalancerSourceRanges:
{{ $haproxy.loadBalancerSourceRanges | toYaml | indent 6 }}
    {{- end }}
    {{- if $haproxy.serviceType }}
    serviceType: {{ $haproxy.serviceType }}
    {{- end }}
    {{- if $haproxy.replicasServiceType }}
    replicasServiceType: {{ $haproxy.replicasServiceType }}
    {{- end }}
    {{- if $haproxy.serviceAnnotations }}
    serviceAnnotations:
{{ $haproxy.serviceAnnotations | toYaml | indent 6 }}
    {{- end }}
    annotations:
{{ $haproxy.annotations | toYaml | indent 6 }}
    labels:
{{ $haproxy.labels | toYaml | indent 6 }}
    {{- if $haproxy.runtimeClassName }}
    runtimeClassName: {{ $haproxy.runtimeClassName }}
    {{- end }}
    {{- if $haproxy.envVarsSecret }}
    envVarsSecret: {{ $haproxy.envVarsSecret }}
    {{- end }}
    resources:
      requests:
{{ $haproxy.resources.requests | toYaml | indent 8 }}
      limits:
{{ $haproxy.resources.limits | toYaml | indent 8 }}
    sidecars:
{{ $haproxy.sidecars | toYaml | indent 6 }}
    sidecarResources:
      requests:
{{ tpl ($haproxy.sidecarResources.requests | toYaml) $ | indent 8 }}
      limits:
{{ tpl ($haproxy.sidecarResources.limits | toYaml) $ | indent 8 }}
    {{- if $haproxy.serviceAccountName }}
    serviceAccountName: {{ $haproxy.serviceAccountName }}
    {{- end }}
    nodeSelector:
{{ $haproxy.nodeSelector | toYaml | indent 6 }}
    affinity:
{{ $haproxy.affinity | toYaml | indent 6 }}
    tolerations:
{{ $haproxy.tolerations | toYaml | indent 6 }}
    podDisruptionBudget:
{{ $haproxy.podDisruptionBudget | toYaml | indent 6 }}
    volumeSpec:
      emptyDir: {}
    gracePeriod: {{ $haproxy.gracePeriod }}
    {{- if $haproxy.readinessDelaySec }}
    readinessDelaySec: {{ $haproxy.readinessDelaySec }}
    {{- end }}
    {{- if $haproxy.livenessDelaySec }}
    livenessDelaySec: {{ $pxc.livenessDelaySec }}
    {{- end }}
    readinessProbes:
{{ tpl ($haproxy.readinessProbes | toYaml) $ | indent 6 }}
    livenessProbes:
{{ tpl ($haproxy.livenessProbes | toYaml) $ | indent 6 }}
    {{- if $haproxy.containerSecurityContext }}
    containerSecurityContext:
{{ tpl ($haproxy.containerSecurityContext | toYaml) $ | indent 6 }}
    {{- end }}
    {{- if $haproxy.podSecurityContext }}
    podSecurityContext:
{{ tpl ($haproxy.podSecurityContext | toYaml) $ | indent 6 }}
    {{- end }}
  {{- end }}
  {{- if not .Values.proxysql.enabled }}
  proxysql:
    enabled: false
  {{- else }}
  {{- $proxysql := .Values.proxysql }}
  proxysql:
    enabled: true
    size: {{ $proxysql.size }}
    image: {{ include "pxc-db.proxysql-image" . }}
    {{- if $proxysql.imagePullPolicy }}
    imagePullPolicy: {{ $proxysql.imagePullPolicy }}
    {{- end }}
    {{- if $proxysql.imagePullSecrets }}
    imagePullSecrets:
    {{- $proxysql.imagePullSecrets | toYaml | indent 6 }}
    {{- end }}
    {{- if $proxysql.schedulerName }}
    schedulerName: {{ $proxysql.schedulerName }}
    {{- end }}
    {{- if $proxysql.configuration }}
    configuration: |
    {{ tpl $proxysql.configuration $ | nindent 6 }}
    {{- end }}
    {{- if $proxysql.priorityClassName }}
    priorityClassName: {{ $proxysql.priorityClassName }}
    {{- end }}
    {{- if $proxysql.externalTrafficPolicy }}
    externalTrafficPolicy: {{ $proxysql.externalTrafficPolicy }}
    {{- end }}
    {{- if $proxysql.loadBalancerSourceRanges }}
    loadBalancerSourceRanges:
{{ $proxysql.loadBalancerSourceRanges | toYaml | indent 6 }}
    {{- end }}
    {{- if $proxysql.serviceType }}
    serviceType: {{ $proxysql.serviceType }}
    {{- end }}
    {{- if $proxysql.serviceAnnotations }}
    serviceAnnotations:
{{ $proxysql.serviceAnnotations | toYaml | indent 6 }}
    {{- end }}
    annotations:
{{ $proxysql.annotations | toYaml | indent 6 }}
    labels:
{{ $proxysql.labels | toYaml | indent 6 }}
    {{- if $proxysql.runtimeClassName }}
    runtimeClassName: {{ $proxysql.runtimeClassName }}
    {{- end }}
    {{- if $proxysql.envVarsSecret }}
    envVarsSecret: {{ $proxysql.envVarsSecret }}
    {{- end }}
    resources:
      requests:
{{ $proxysql.resources.requests | toYaml | indent 8 }}
      limits:
{{ $proxysql.resources.limits | toYaml | indent 8 }}
    sidecars:
{{ $proxysql.sidecars | toYaml | indent 6 }}
    sidecarResources:
      requests:
{{ tpl ($proxysql.sidecarResources.requests | toYaml) $ | indent 8 }}
      limits:
{{ tpl ($proxysql.sidecarResources.limits | toYaml) $ | indent 8 }}
    {{- if $proxysql.serviceAccountName }}
    serviceAccountName: {{ $proxysql.serviceAccountName }}
    {{- end }}
    nodeSelector:
{{ $proxysql.nodeSelector | toYaml | indent 6 }}
    affinity:
{{ $proxysql.affinity | toYaml | indent 6 }}
    tolerations:
{{ $proxysql.tolerations | toYaml | indent 6 }}
    podDisruptionBudget:
{{ $proxysql.podDisruptionBudget | toYaml | indent 6 }}
    volumeSpec:
    {{- if not $proxysql.persistence.enabled }}
      emptyDir: {}
    {{- else }}
    {{- if hasKey $proxysql.persistence "hostPath" }}
      hostPath:
        path: {{ $proxysql.persistence.hostPath }}
        type: Directory
    {{- else }}
      persistentVolumeClaim:
        {{- if $proxysql.persistence.storageClass }}
        {{- if (eq "-" $proxysql.persistence.storageClass) }}
        storageClassName: ""
        {{- else }}
        storageClassName: "{{ $proxysql.persistence.storageClass }}"
        {{- end }}
        {{- end }}
        accessModes: [{{ $proxysql.persistence.accessMode | quote }}]
        resources:
          requests:
            storage: {{ $proxysql.persistence.size | quote }}
    {{- end }}
    {{- end }}
    gracePeriod: {{ $proxysql.gracePeriod }}
    {{- if $proxysql.containerSecurityContext }}
    containerSecurityContext:
{{ tpl ($proxysql.containerSecurityContext | toYaml) $ | indent 6 }}
    {{- end }}
    {{- if $proxysql.podSecurityContext }}
    podSecurityContext:
{{ tpl ($proxysql.podSecurityContext | toYaml) $ | indent 6 }}
    {{- end }}
  {{- end }}
  logcollector:
  {{- if not .Values.logcollector.enabled }}
    enabled: false
  {{- else }}
    {{- $logcollector := .Values.logcollector }}
    enabled: true
    image: {{ include "pxc-db.logcollector-image" . }}
    {{- if $logcollector.imagePullPolicy }}
    imagePullPolicy: {{ $logcollector.imagePullPolicy }}
    {{- end }}
    {{- if $logcollector.imagePullSecrets }}
    imagePullSecrets:
    {{- $logcollector.imagePullSecrets | toYaml | nindent 6 }}
    {{- end }}
    {{- if $logcollector.configuration }}
    configuration: |
    {{ tpl $logcollector.configuration $ | nindent 6 }}
    {{- end }}
    resources:
      requests:
{{ tpl ($logcollector.resources.requests | toYaml) $ | indent 8 }}
      limits:
{{ tpl ($logcollector.resources.limits | toYaml) $ | indent 8 }}
  {{- end }}
  pmm:
  {{- if not .Values.pmm.enabled }}
    enabled: false
  {{- else }}
    {{- $pmm := .Values.pmm }}
    enabled: true
    image: {{ $pmm.image.repository }}:{{ $pmm.image.tag }}
    {{- if $pmm.imagePullPolicy }}
    imagePullPolicy: {{ $pmm.imagePullPolicy }}
    {{- end }}
    {{- if $pmm.imagePullSecrets }}
    imagePullSecrets:
    {{- $pmm.imagePullSecrets | toYaml | nindent 6 }}
    {{- end }}
    serverHost: {{ $pmm.serverHost }}
    serverUser: {{ $pmm.serverUser }}
    resources:
      requests:
{{ tpl ($pmm.resources.requests | toYaml) $ | indent 8 }}
      limits:
{{ tpl ($pmm.resources.limits | toYaml) $ | indent 8 }}
  {{- end }}
  {{- $backup := .Values.backup }}
  {{- if $backup.enabled }}
  backup:
    image: {{ include "pxc-db.backup-image" . }}
    {{- if $backup.serviceAccountName }}
    serviceAccountName: {{ $backup.serviceAccountName }}
    {{- end }}
    {{- if $backup.imagePullPolicy }}
    imagePullPolicy: {{ $backup.imagePullPolicy }}
    {{- end }}
    {{- if $backup.imagePullSecrets }}
    imagePullSecrets:
{{ $backup.imagePullSecrets | toYaml | indent 6 }}
    {{- end }}
    pitr:
    {{- if not $backup.pitr.enabled }}
      enabled: false
    {{- else }}
      enabled: true
      storageName: {{ $backup.pitr.storageName }}
      timeBetweenUploads: {{ $backup.pitr.timeBetweenUploads }}
      resources:
        requests:
{{ tpl ($backup.pitr.resources.requests | toYaml) $ | indent 10 }}
        limits:
{{ tpl ($backup.pitr.resources.limits | toYaml) $ | indent 10 }}
    {{- end }}
    storages:
{{ include "pxc-database.storages" . | indent 6 }}
    schedule:
{{ $backup.schedule | toYaml | indent 6 }}
{{- end }}

 

 

cluster.yaml - 02 END

+ Recent posts