apiVersion: apps/v1 kind: Deployment metadata: name: agent-monitor namespace: agent-monitor spec: replicas: 3 template: spec: # Production: require spreading across nodes affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app.kubernetes.io/name operator: In values: - agent-monitor topologyKey: kubernetes.io/hostname topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: agent-monitor - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: app.kubernetes.io/name: agent-monitor containers: - name: agent-monitor resources: requests: memory: "256Mi" cpu: "200m" limits: memory: "1Gi" cpu: "1000m"