apiVersion: apps/v1 kind: Deployment metadata: name: user-rpc namespace: juwan labels: app: user-rpc spec: replicas: 3 revisionHistoryLimit: 5 selector: matchLabels: app: user-rpc template: metadata: labels: app: user-rpc spec: serviceAccountName: find-endpoints initContainers: - name: wait-for-db image: busybox:1.36 command: [ "sh", "-c", 'until nc -z -v -w5 user-db-rw 5432; do echo "Waiting for database..."; sleep 2; done;', ] containers: - name: user-rpc image: user-rpc:v1 ports: - containerPort: 9001 env: - name: DB_URI valueFrom: secretKeyRef: name: user-db-app key: uri readinessProbe: tcpSocket: port: 9001 initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: tcpSocket: port: 9001 initialDelaySeconds: 15 periodSeconds: 20 resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1024Mi volumeMounts: - name: timezone mountPath: /etc/localtime volumes: - name: timezone hostPath: path: /usr/share/zoneinfo/Asia/Shanghai --- apiVersion: v1 kind: Service metadata: name: user-rpc-svc namespace: juwan spec: ports: - port: 9001 targetPort: 9001 selector: app: user-rpc --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: user-rpc-hpa-c namespace: juwan labels: app: user-rpc-hpa-c spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: user-rpc minReplicas: 3 maxReplicas: 10 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 80 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: user-rpc-hpa-m namespace: juwan labels: app: user-rpc-hpa-m spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: user-rpc minReplicas: 3 maxReplicas: 10 metrics: - type: Resource resource: name: memory target: type: Utilization averageUtilization: 80 --- apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: namespace: juwan name: user-db spec: instances: 3 postInitSQLRefs: configMapRefs: - name: db-dx-init-script key: init-extensions-sql optional: false backup: barmanObjectStore: destinationPath: s3://juwan-dev-pg-backups-zj/pg-data/ endpointURL: https://cn-nb1.rains3.com s3Credentials: accessKeyId: name: rc-creds key: SOucqRaJr4OyfcIu secretAccessKey: name: rc-creds key: tn2Agj9EowMwuPA9y7TdSL0AXKsMEz wal: compression: gzip storage: size: 1Gi monitoring: enablePodMonitor: true