apiVersion: apps/v1 kind: Deployment metadata: name: schemas-app labels: app.kubernetes.io/name: schemas-app annotations: kubernetes.io/change-cause: "${TIMESTAMP} Deployed commit id: ${COMMIT}" spec: replicas: 1 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 1 minReadySeconds: 30 selector: matchLabels: app.kubernetes.io/name: schemas-app template: metadata: labels: app.kubernetes.io/name: schemas-app app.kubernetes.io/instance: schemas spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: "app.kubernetes.io/name" operator: In values: - schemas-app topologyKey: kubernetes.io/hostname containers: - name: schemas-app image: registry.gitlab.com/unboundsoftware/schemas-app:${COMMIT} imagePullPolicy: IfNotPresent ports: - containerPort: 80 readinessProbe: httpGet: path: / port: 80 initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 5 livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 5 resources: requests: cpu: 10m memory: 10Mi limits: cpu: 300m memory: 300Mi --- apiVersion: v1 kind: Service metadata: name: schemas-app labels: app.kubernetes.io/name: schemas-app spec: type: NodePort selector: app.kubernetes.io/name: schemas-app ports: - port: 80 targetPort: 80