github.com/percona/percona-xtradb-cluster-operator@v1.14.0/e2e-tests/proxy-protocol/compare/statefulset_proxy-protocol-haproxy.yml (about)

     1  apiVersion: apps/v1
     2  kind: StatefulSet
     3  metadata:
     4    generation: 1
     5    name: proxy-protocol-haproxy
     6    ownerReferences:
     7      - controller: true
     8        kind: PerconaXtraDBCluster
     9        name: proxy-protocol
    10  spec:
    11    podManagementPolicy: OrderedReady
    12    replicas: 3
    13    revisionHistoryLimit: 10
    14    selector:
    15      matchLabels:
    16        app.kubernetes.io/component: haproxy
    17        app.kubernetes.io/instance: proxy-protocol
    18        app.kubernetes.io/managed-by: percona-xtradb-cluster-operator
    19        app.kubernetes.io/name: percona-xtradb-cluster
    20        app.kubernetes.io/part-of: percona-xtradb-cluster
    21    serviceName: proxy-protocol-haproxy
    22    template:
    23      metadata:
    24        labels:
    25          app.kubernetes.io/component: haproxy
    26          app.kubernetes.io/instance: proxy-protocol
    27          app.kubernetes.io/managed-by: percona-xtradb-cluster-operator
    28          app.kubernetes.io/name: percona-xtradb-cluster
    29          app.kubernetes.io/part-of: percona-xtradb-cluster
    30      spec:
    31        containers:
    32          - env:
    33              - name: PXC_SERVICE
    34                value: proxy-protocol-pxc
    35              - name: LIVENESS_CHECK_TIMEOUT
    36                value: "5"
    37              - name: READINESS_CHECK_TIMEOUT
    38                value: "1"
    39              - name: IS_PROXY_PROTOCOL
    40                value: "yes"
    41            envFrom:
    42              - secretRef:
    43                  name: proxy-protocol-env-vars-haproxy
    44                  optional: true
    45            imagePullPolicy: Always
    46            livenessProbe:
    47              exec:
    48                command:
    49                  - /usr/local/bin/liveness-check.sh
    50              failureThreshold: 4
    51              initialDelaySeconds: 60
    52              periodSeconds: 30
    53              successThreshold: 1
    54              timeoutSeconds: 5
    55            name: haproxy
    56            ports:
    57              - containerPort: 3306
    58                name: mysql
    59                protocol: TCP
    60              - containerPort: 3307
    61                name: mysql-replicas
    62                protocol: TCP
    63              - containerPort: 3309
    64                name: proxy-protocol
    65                protocol: TCP
    66              - containerPort: 33062
    67                name: mysql-admin
    68                protocol: TCP
    69              - containerPort: 33060
    70                name: mysqlx
    71                protocol: TCP
    72            readinessProbe:
    73              exec:
    74                command:
    75                  - /usr/local/bin/readiness-check.sh
    76              failureThreshold: 3
    77              initialDelaySeconds: 15
    78              periodSeconds: 5
    79              successThreshold: 1
    80              timeoutSeconds: 1
    81            resources:
    82              requests:
    83                cpu: 600m
    84                memory: 500M
    85            terminationMessagePath: /dev/termination-log
    86            terminationMessagePolicy: File
    87            volumeMounts:
    88              - mountPath: /etc/haproxy-custom/
    89                name: haproxy-custom
    90              - mountPath: /etc/haproxy/pxc
    91                name: haproxy-auto
    92              - mountPath: /etc/mysql/mysql-users-secret
    93                name: mysql-users-secret-file
    94              - mountPath: /etc/mysql/haproxy-env-secret
    95                name: proxy-protocol-env-vars-haproxy
    96          - args:
    97              - /usr/bin/peer-list
    98              - -on-change=/usr/bin/add_pxc_nodes.sh
    99              - -service=$(PXC_SERVICE)
   100            env:
   101              - name: PXC_SERVICE
   102                value: proxy-protocol-pxc
   103              - name: IS_PROXY_PROTOCOL
   104                value: "yes"
   105            envFrom:
   106              - secretRef:
   107                  name: proxy-protocol-env-vars-haproxy
   108                  optional: true
   109            imagePullPolicy: Always
   110            name: pxc-monit
   111            resources: {}
   112            terminationMessagePath: /dev/termination-log
   113            terminationMessagePolicy: File
   114            volumeMounts:
   115              - mountPath: /etc/haproxy-custom/
   116                name: haproxy-custom
   117              - mountPath: /etc/haproxy/pxc
   118                name: haproxy-auto
   119              - mountPath: /etc/mysql/mysql-users-secret
   120                name: mysql-users-secret-file
   121              - mountPath: /etc/mysql/haproxy-env-secret
   122                name: proxy-protocol-env-vars-haproxy
   123        dnsPolicy: ClusterFirst
   124        initContainers:
   125          - command:
   126              - /pxc-init-entrypoint.sh
   127            imagePullPolicy: Always
   128            name: pxc-init
   129            resources:
   130              limits:
   131                cpu: 50m
   132                memory: 50M
   133            terminationMessagePath: /dev/termination-log
   134            terminationMessagePolicy: File
   135            volumeMounts:
   136              - mountPath: /var/lib/mysql
   137                name: bin
   138        nodeSelector: {}
   139        restartPolicy: Always
   140        schedulerName: default-scheduler
   141        securityContext: {}
   142        serviceAccount: default
   143        serviceAccountName: default
   144        terminationGracePeriodSeconds: 30
   145        volumes:
   146          - configMap:
   147              defaultMode: 420
   148              name: proxy-protocol-haproxy
   149              optional: true
   150            name: haproxy-custom
   151          - emptyDir: {}
   152            name: haproxy-auto
   153          - name: mysql-users-secret-file
   154            secret:
   155              defaultMode: 420
   156              optional: false
   157              secretName: internal-proxy-protocol
   158          - name: proxy-protocol-env-vars-haproxy
   159            secret:
   160              defaultMode: 420
   161              optional: true
   162              secretName: proxy-protocol-env-vars-haproxy
   163          - emptyDir: {}
   164            name: bin
   165    updateStrategy:
   166      rollingUpdate:
   167        partition: 0
   168      type: RollingUpdate