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: securityContext: runAsNonRoot: true runAsUser: 101 seccompProfile: type: RuntimeDefault 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: ${IMAGE} imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false capabilities: drop: ["ALL"] ports: - containerPort: 8080 readinessProbe: httpGet: path: / port: 8080 initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 5 livenessProbe: httpGet: path: / port: 8080 initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 5 resources: requests: cpu: 10m memory: 10Mi limits: memory: 300Mi --- apiVersion: v1 kind: Service metadata: name: schemas-app labels: app.kubernetes.io/name: schemas-app spec: selector: app.kubernetes.io/name: schemas-app ports: - port: 80 targetPort: 8080