apiVersion: apps/v1 kind: StatefulSet metadata: name: mysql-questionbank spec: replicas: 1 serviceName: mysql-questionbank selector: matchLabels: app: mysql-questionbank template: metadata: labels: app: mysql-questionbank spec: initContainers: - name: init image: busybox imagePullPolicy: IfNotPresent command: - sh - -c - | sysctl -w net.ipv4.tcp_keepalive_time=300 sysctl -w net.ipv4.tcp_keepalive_intvl=10 sysctl -w net.ipv4.tcp_keepalive_probes=3 securityContext: privileged: true containers: - name: mysql-questionbank image: mysql:8.0.33 args: ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci", "--max_connections=4000", "--binlog_expire_logs_seconds=432000","--sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION","--lower_case_table_names=1"] ports: - containerPort: 3306 volumeMounts: - name: mysql-data-questionbank mountPath: /var/lib/mysql env: - name: MYSQL_ROOT_PASSWORD value: "Beaconfire@2099" volumes: - name: mysql-data-questionbank hostPath: path: /data/prod/mysql-questionbank affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "kubernetes.io/hostname" operator: In values: - bfs-k8snode-10-2-2-8.hetzner.base.beaconfireinc.com --- apiVersion: v1 kind: Service metadata: name: mysql-questionbank labels: app: mysql-questionbank spec: ports: - protocol: TCP port: 3306 targetPort: 3306 nodePort: 30336 selector: app: mysql-questionbank type: NodePort