# prometheus-operator.yaml apiVersion: apps/v1 kind: Deployment metadata: name: prometheus-operator namespace: monitoring labels: app.kubernetes.io/name: prometheus-operator app.kubernetes.io/component: controller spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: prometheus-operator template: metadata: labels: app.kubernetes.io/name: prometheus-operator app.kubernetes.io/component: controller spec: serviceAccountName: prometheus-operator containers: - name: operator image: quay.io/prometheus-operator/prometheus-operator:v0.66.0 # Example version imagePullPolicy: IfNotPresent args: - --address=0.0.0.0 - --kubelet-service=kube-system/kubelet # adjust if needed for your environment - --manage-crds=false # assume CRDs applied via GitOps beforehand ports: - name: http containerPort: 8080 resources: requests: cpu: 100m memory: 100Mi # Node affinity not required; operator can run on any node with correct arch nodeSelector: kubernetes.io/os: linux # ensure it's a Linux node