apiVersion: apps/v1 kind: Deployment metadata: name: ${APP_NAME} namespace: ${NAMESPACE} labels: app: ${APP_NAME} spec: replicas: ${REPLICAS} selector: matchLabels: app: ${APP_NAME} template: metadata: labels: app: ${APP_NAME} spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: schbrain.deploy operator: In values: - ${NODE_TAG} terminationGracePeriodSeconds: 20 containers: - name: ${APP_NAME} image: ${IMAGE} imagePullPolicy: IfNotPresent resources: requests: memory: ${MEMORY_REQUEST} limits: memory: ${MEMORY_LIMIT} ports: - name: service containerPort: ${PORT} protocol: TCP env: - name: NODE_IP valueFrom: fieldRef: fieldPath: status.hostIP