## Services são responsáveis por criar um DNS e Ip Interno fixo para os Pods.
## Quando há mais de um Pod para a aplicação, o Service também pode fazer o LoadBalance entre os Pods.
## Outros pods no mesmo cluster podem acessar este service através de seu nome ( ou nome + namespace para pods em outro namespace):
##   Ex: curl http://exemplo-service.exemplo-ns/

apiVersion: v1
kind: Service
metadata:
  name: example-service
  namespace: example-ns
  labels:
    app: example
    monitoring: metrics-text
    ## Labels comuns - https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/
    app.kubernetes.io/name: example-app
    app.kubernetes.io/instance: example-app-1
    app.kubernetes.io/version: "4.0.0"
    app.kubernetes.io/component: api
    app.kubernetes.io/part-of: example-app
    app.kubernetes.io/managed-by: manual
    app.kubernetes.io/created-by: manual
spec:
  type: ClusterIP
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: http
  ## seleciona quais pods o Service irá usar através de labels
  selector:
    app: example
