kind: ConfigMap metadata: name: yapi-config namespace: kube-public apiVersion: v1 data: config.json: |- { "port": "3000", "adminAccount": "admin@admin.com", "timeout": 120000, "db": { "servername": "yapi-mongo", "DATABASE": "yapi", "port": 27017, "user": "yapi", "pass": "yapi", "authSource": "" }, "mail": { "enable": true, "host": "smtp.exmail.qq.com", "port": 465, "from": "itsystem@uenpay.com", "auth": { "user": "itsystem@uenpay.com", "pass": "C%PXW0l7Z3^hS%AZ" } } } --- apiVersion: apps/v1 kind: StatefulSet metadata: name: yapi namespace: kube-public spec: replicas: 1 selector: matchLabels: app: yapi template: metadata: labels: app: yapi spec: terminationGracePeriodSeconds: 10 containers: - name: yapi image: harbor.uenpay.com/base/yapi:1.12.0 #image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/yapi:1.12.0 imagePullPolicy: IfNotPresent env: - name: JAVA_OPTS value: -Duser.timezone=Asia/Shanghai ports: - containerPort: 3000 name: http protocol: TCP resources: limits: cpu: 4 memory: 8Gi requests: cpu: 4 memory: 8Gi volumeMounts: - name: config mountPath: /yapi/config.json subPath: config.json - name: data mountPath: /yapi/vendors volumes: - name: config configMap: name: yapi-config volumeClaimTemplates: - metadata: name: data annotations: volume.beta.kubernetes.io/storage-class: "cephrbd-sc" spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 30Gi --- apiVersion: v1 kind: Service metadata: name: yapi namespace: kube-public spec: selector: app: yapi ports: - name: http protocol: TCP port: 3000 targetPort: 3000 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: yapi.uenpay.com namespace: kube-public spec: ingressClassName: nginx rules: - host: yapi.uenpay.com http: paths: - backend: service: name: yapi port: number: 3000 path: / pathType: Prefix