k8s-manifests/prd/00-shadow-infra.yaml

221 lines
4.5 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: mysql-prd-conf
namespace: prd
data:
shadow.cnf: |
[mysqld]
default-time_zone = '+8:00'
lower_case_table_names = 1
skip-name-resolve
max_allowed_packet = 64M
max_connections = 1024
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
slow_query_log = ON
long_query_time = 3
---
apiVersion: v1
kind: Service
metadata:
name: mysql-prd
namespace: prd
spec:
selector:
app: proxysql-prd
ports:
- name: mysql
port: 3306
targetPort: mysql
- name: mysql-legacy-4006
port: 4006
targetPort: mysql
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql-prd
namespace: prd
spec:
serviceName: mysql-prd
replicas: 0
selector:
matchLabels:
app: mysql-prd
template:
metadata:
labels:
app: mysql-prd
spec:
nodeSelector:
kubernetes.io/hostname: mesprd-k8snode-02v2
containers:
- name: mysql
image: docker.m.daocloud.io/library/mysql:8.0.32
imagePullPolicy: IfNotPresent
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: prd-shadow-mysql
key: root-password
- name: TZ
value: Asia/Shanghai
ports:
- name: mysql
containerPort: 3306
volumeMounts:
- name: mysql-data
mountPath: /var/lib/mysql
- name: mysql-conf
mountPath: /etc/mysql/conf.d
resources:
requests:
cpu: 500m
memory: 2Gi
limits:
memory: 16Gi
readinessProbe:
exec:
command:
- sh
- -c
- mysqladmin ping -uroot -p"$MYSQL_ROOT_PASSWORD"
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
livenessProbe:
exec:
command:
- sh
- -c
- mysqladmin ping -uroot -p"$MYSQL_ROOT_PASSWORD"
initialDelaySeconds: 120
periodSeconds: 20
timeoutSeconds: 5
volumes:
- name: mysql-conf
configMap:
name: mysql-prd-conf
volumeClaimTemplates:
- metadata:
name: mysql-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 300Gi
---
apiVersion: v1
kind: Service
metadata:
name: mom-redis
namespace: prd
spec:
selector:
app: redis-prd
ports:
- name: redis
port: 6379
targetPort: 6379
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: redis-prd
namespace: prd
spec:
serviceName: mom-redis
replicas: 1
selector:
matchLabels:
app: redis-prd
template:
metadata:
labels:
app: redis-prd
spec:
nodeSelector:
kubernetes.io/hostname: mesprd-k8snode-03v2
containers:
- name: redis
image: docker.io/library/redis:7.0.15-alpine
imagePullPolicy: IfNotPresent
ports:
- name: redis
containerPort: 6379
volumeMounts:
- name: redis-data
mountPath: /data
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
memory: 2Gi
volumeClaimTemplates:
- metadata:
name: redis-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 20Gi
---
apiVersion: v1
kind: Service
metadata:
name: mom-register
namespace: prd
spec:
selector:
app: imes-basic-mom-register
ports:
- name: nacos
port: 8848
targetPort: 8848
---
apiVersion: v1
kind: Service
metadata:
name: mom-seata
namespace: prd
spec:
selector:
app: imes-basic-seata-server
ports:
- name: seata
port: 8091
targetPort: 8091
---
apiVersion: v1
kind: Service
metadata:
name: imes-basic-mom-xxl-job
namespace: prd
spec:
selector:
app: imes-basic-mom-xxl-job
ports:
- name: xxl-job
port: 9080
targetPort: 9080
---
apiVersion: v1
kind: Service
metadata:
name: mom-gateway
namespace: prd
spec:
selector:
app: imes-basic-mom-gateway
ports:
- name: http
port: 9999
targetPort: 9999