                               :accept "application/json"
                               (cond-> options
                                 auth-str (assoc-in [:headers "Authorization"] auth-str)
-                                (and (not content-type) body) (assoc :content-type "application/json"))))]
+                                (and (not content-type) body) (assoc :content-type "application/json"))))
+          result-type (:kind result)
+          ;; Drop managedFields from response objects when present (much too verbose!)
+          ;; https://github.com/kubernetes/kubernetes/issues/90066
+          result (cond
+                   (or (= "Pod" result-type)
+                       (= "ReplicaSet" result-type))
+                   (drop-managed-fields result)
+                   (or (= "PodList" result-type)
+                       (= "ReplicaSetList" result-type))
+                   (update result :items #(mapv drop-managed-fields %))
+                   :else result)]
       (scheduler/log "response from K8s API server:" result)
       result)
     (catch [:status http-400-bad-request] response

                          (when namespace (str "/namespaces/" namespace))
                          "/pods?labelSelector=waiter%2Fcluster=" cluster-name)
       :metadata-key :pods-metadata
       :update-fn (fn pods-watch-update [{pod :object update-type :type}]
                    (let [now (t/now)
                          pod-id (k8s-object->id pod)
                          service-id (k8s-object->service-id pod)
                          version (k8s-object->resource-version pod)

                      {:watch-resource resource-name
                       :watch-response update-json}))
      ;; Drop managedFields from response objects when present (much too verbose!)
      ;; https://github.com/kubernetes/kubernetes/issues/90066
      (update update-json :object drop-managed-fields))))

(defn api-request
  "Make an HTTP request to the Kubernetes API server using the configured authentication.
