# quick-deploy.yaml — AIOps 单容器快速部署 # 部署: kubectl apply -f quick-deploy.yaml # 此文件自包含 (ConfigMap + Deployment + Service), 不依赖其他 YAML # # 两种模式: # 远程模式 (默认): MODE=release, 连接外部 MySQL + Redis # 本地模式: MODE=local, 自动 SQLite (data/sqlite3.db) + redka 本地缓存 --- apiVersion: v1 kind: ConfigMap metadata: name: aiops-config namespace: devops data: config.yaml: | mode: local port: "8080" log_level: info database: driver: sqlite dbname: data/sqlite3.db redis: driver: redka jwt: secret: "aiops-jwt-secret-key-2026" expire_hour: 24 --- apiVersion: apps/v1 kind: Deployment metadata: name: aiops namespace: devops labels: app.kubernetes.io/name: aiops app.kubernetes.io/component: app spec: replicas: 1 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0 selector: matchLabels: app.kubernetes.io/name: aiops app.kubernetes.io/component: app template: metadata: labels: app.kubernetes.io/name: aiops app.kubernetes.io/component: app spec: hostNetwork: true dnsPolicy: ClusterFirstWithHostNet containers: - name: aiops image: aiops:embed imagePullPolicy: IfNotPresent ports: - containerPort: 8080 env: # 运行模式: local=SQLite+redka, release=需配置外部DB/Redis - name: MODE value: "local" - name: TZ value: Asia/Shanghai - name: JWT_SECRET value: "aiops-jwt-secret-key-2026" # 集群模式 (MODE=release) 时取消注释: # - name: DATABASE_DRIVER # value: mysql # - name: DATABASE_HOST # value: "10.10.10.75" # - name: REDIS_DRIVER # value: redis # - name: REDIS_HOST # value: "10.10.10.75" volumeMounts: - name: config mountPath: /app/config.yaml subPath: config.yaml readOnly: true - name: data mountPath: /app/data resources: requests: cpu: 100m memory: 256Mi limits: cpu: "1" memory: 1Gi volumes: - name: config configMap: name: aiops-config - name: data persistentVolumeClaim: claimName: aiops-data --- apiVersion: v1 kind: Service metadata: name: aiops namespace: devops spec: type: NodePort selector: app.kubernetes.io/name: aiops ports: - port: 8080 targetPort: 8080 nodePort: 30080