Files
aiops/deploy/kubernetes/mysql.yaml
T
Logan.Li fd60361d93 chore: 统一本地服务器与远程仓库源码
- 合并 main 与 master 历史并以服务器结构为基线
- 保留迁移、数据保留、AWS 账单与部署安全能力
- 建立 SDD 规格和 CI 验证闭环
2026-08-05 20:03:25 +08:00

106 lines
2.6 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
namespace: devops
labels:
app.kubernetes.io/name: mysql
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: mysql
template:
metadata:
labels:
app.kubernetes.io/name: mysql
spec:
securityContext:
fsGroup: 999
fsGroupChangePolicy: OnRootMismatch
seccompProfile:
type: RuntimeDefault
containers:
- name: mysql
image: mysql:8.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: aiops-secret
key: mysql-root-password
- name: MYSQL_DATABASE
value: aiops
- name: MYSQL_USER
value: aiops
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: aiops-secret
key: mysql-password
- name: TZ
value: Asia/Shanghai
args:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumeMounts:
- name: mysql-data
mountPath: /var/lib/mysql
securityContext:
runAsNonRoot: true
runAsUser: 999
runAsGroup: 999
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
seccompProfile:
type: RuntimeDefault
readinessProbe:
exec:
command: ["sh", "-c", "mysqladmin ping -h 127.0.0.1 -uroot -p\"$MYSQL_ROOT_PASSWORD\""]
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
resources:
requests:
cpu: 250m
memory: 512Mi
limits:
cpu: "1"
memory: 2Gi
volumes:
- name: mysql-data
persistentVolumeClaim:
claimName: mysql-data
---
# MySQL 数据必须独立持久化,供备份与恢复演练使用。 // Logan.Li
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-data
namespace: devops
labels:
app.kubernetes.io/name: mysql
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: devops
spec:
selector:
app.kubernetes.io/name: mysql
ports:
- port: 3306
targetPort: 3306