k8s.io/kubernetes@v1.29.3/test/e2e/testing-manifests/statefulset/mysql-galera/statefulset.yaml (about)

     1  apiVersion: apps/v1
     2  kind: StatefulSet
     3  metadata:
     4    name: mysql
     5  spec:
     6    serviceName: "galera"
     7    replicas: 3
     8    selector:
     9      matchLabels:
    10        app: mysql
    11    template:
    12      metadata:
    13        labels:
    14          app: mysql
    15      spec:
    16        initContainers:
    17        - name: install
    18          image: registry.k8s.io/galera-install:0.1
    19          imagePullPolicy: Always
    20          args:
    21          - "--work-dir=/work-dir"
    22          volumeMounts:
    23          - name: workdir
    24            mountPath: "/work-dir"
    25          - name: config
    26            mountPath: "/etc/mysql"
    27        - name: bootstrap
    28          image: debian:jessie
    29          command:
    30          - "/work-dir/peer-finder"
    31          args:
    32          - -on-start="/work-dir/on-start.sh"
    33          - "-service=galera"
    34          env:
    35          - name: POD_NAMESPACE
    36            valueFrom:
    37              fieldRef:
    38                apiVersion: v1
    39                fieldPath: metadata.namespace
    40          volumeMounts:
    41          - name: workdir
    42            mountPath: "/work-dir"
    43          - name: config
    44            mountPath: "/etc/mysql"
    45        containers:
    46        - name: mysql
    47          image: registry.k8s.io/mysql-galera:e2e
    48          ports:
    49          - containerPort: 3306
    50            name: mysql
    51          - containerPort: 4444
    52            name: sst
    53          - containerPort: 4567
    54            name: replication
    55          - containerPort: 4568
    56            name: ist
    57          args:
    58          - --defaults-file=/etc/mysql/my-galera.cnf
    59          - --user=root
    60          readinessProbe:
    61            # TODO: If docker exec is buggy just use registry.k8s.io/mysql-healthz:1.0
    62            exec:
    63              command:
    64              - sh
    65              - -c
    66              - "mysql -u root -e 'show databases;'"
    67            initialDelaySeconds: 15
    68            timeoutSeconds: 5
    69            successThreshold: 2
    70          volumeMounts:
    71          - name: datadir
    72            mountPath: /var/lib/
    73          - name: config
    74            mountPath: /etc/mysql
    75        volumes:
    76        - name: config
    77          emptyDir: {}
    78        - name: workdir
    79          emptyDir: {}
    80    volumeClaimTemplates:
    81    - metadata:
    82        name: datadir
    83      spec:
    84        accessModes: [ "ReadWriteOnce" ]
    85        resources:
    86          requests:
    87            storage: 1Gi