apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        resources:
          limits:
            memory: "50Mi"
            cpu: "100m"
        ports:
        - containerPort: 80
      tolerations: # Permite escalar pods em nodes que tem o taint abaixo
        - key: "key"
          operator: "Equal"
          value: "manutencao"
          effect: "NoExecute"

# Se definir um taint para NoSchedule, os pods que já estava no node continuarão rodando,
# mas os novos serão escalados em outros nodes.
# kubectl taint node node1 key=manutencao2:NoSchedule