apiVersion: v1
kind: Service
metadata:
  name: mmmopp
  namespace: mmm-suplus-prd
  labels:
    k8s-app: mmmopp
spec:
  ports:
    - name: "http"
      port: 80
      targetPort: 8080
  selector:
    k8s-app: mmmopp
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mmmopp
  namespace: mmm-suplus-prd
  labels:
    k8s-app: mmmopp
spec:
  replicas: 1
  template:
    metadata:
      labels:
        k8s-app: mmmopp
    spec:
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - preference: {}
              weight: 100
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                  - key: kubernetes.io/hostname
                    operator: In
                    values:
                      - cn-hangzhou.i-bp1djh1xn7taumbue1ze
                      - cn-hangzhou.i-bp1djh1xn7taumbue1zd
                      - cn-hangzhou.i-bp1euf5u1ph9kbhtndhb
                      - cn-hangzhou.i-bp1hyp5oips9cdwxxgxy
      containers:
        - name: mmmopp
          image: 192.168.0.243:5000/mmm/mmmopp:master
          imagePullPolicy: Always
          volumeMounts:
            - mountPath:  /opt/logs
              name: accesslogs
            - mountPath: /var/www/opp/file
              name: opportunity-pvc1
          ports:
            - containerPort: 8080
          env:
            - name: MYSQL_HOST
              valueFrom:
                configMapKeyRef:
                  name: suplus-config
                  key: mysql.host
            - name: MYSQL_PORT
              valueFrom:
                configMapKeyRef:
                  name: suplus-config
                  key: mysql.port
            - name: REDIS_HOST
              valueFrom:
                configMapKeyRef:
                  name: suplus-config
                  key: redis.ip
            - name: REDIS_PORT
              valueFrom:
                configMapKeyRef:
                  name: suplus-config
                  key: redis.port
            - name: MYSQL_USER
              valueFrom:
                configMapKeyRef:
                  name: suplus-config
                  key: mysql.user
            - name: MYSQL_PASSWORD
              valueFrom:
                configMapKeyRef:
                  name: suplus-config
                  key: mysql.password
            - name: MYSQL_DB_NAME
              value: "opportunity"
            - name: RUN_MODE
              value: "prod"
            - name: LOG_LEVEL
              value: "error"
            - name: aliyun_logs_suplusfile
              value: "stdout"
            - name: aliyun_logs_access
              value: " /opt/logs/app.log"
      volumes:
        - name: accesslogs
          emptyDir: {}
        - name: opportunity-pvc1
          persistentVolumeClaim:
            claimName: opportunity-pvc5