Freigeben über


Anpassen der Ressourcenkonfiguration für verwaltete Add-Ons

Dieser Artikel enthält eine Übersicht über das Anpassen der Ressourcenkonfiguration für von Azure Kubernetes Service (AKS) verwaltete Add-Ons mit kostenoptimierter Add-On-Skalierung (Vorschau).

Überblick

Wenn Sie das kostenoptimierte Add-On-Skalierungsfeature in Ihrem AKS-Cluster aktivieren, werden das Vertical Pod Autoscaler (VPA)-Add-On und VPA-benutzerdefinierte Ressourcen für verwaltete AKS-Add-Ons installiert, die diese Funktion unterstützen. Mit diesem Feature können Sie auch die Ressourcen-CPU- und Speicheranforderungen und -beschränkungen in Bereitstellungen und DaemonSets manuell anpassen. Sie können auch den maximalen und minimal zulässigen CPU- und Arbeitsspeicher sowie den VPA-Updatemodus in benutzerdefinierten VPA-Ressourcen anpassen.

Voraussetzungen

Ressourcennotizen anpassen

Anmerkung BESCHREIBUNG Werte
kubernetes.azure.com/override-requests-limits Unterstützt die Möglichkeit, die CPU- und Speicheranforderungen sowie Grenzwerte der Containerressourcen in einer Bereitstellung oder einem DaemonSet anzupassen, wenn der Wert "aktiviert" ist. Legen Sie den Wert auf "disabled" fest, um die Standardeinstellungen von AKS zurückzusetzen. "aktiviert" oder "deaktiviert"
kubernetes.azure.com/override-min-max Unterstützt die Funktion zum Anpassen des maximalen/minimal zulässigen CPU-/Arbeitsspeicherwerts der Containerrichtlinie in einer benutzerdefinierten VPA-Ressource, wenn der Wert "aktiviert" ist. Legen Sie den Wert auf "disabled" fest, um die Standardeinstellungen von AKS zurückzusetzen. "aktiviert" oder "deaktiviert"
kubernetes.azure.com/override-update-mode Unterstützt die Funktion zum Anpassen des Aktualisierungsrichtlinienwerts updateMode in einer benutzerdefinierten VPA-Ressource, wenn der Wert "aktiviert" ist. Legen Sie den Wert auf "disabled" fest, um die Standardeinstellungen von AKS zurückzusetzen. "aktiviert" oder "deaktiviert"

Anpassen von CPU-/Arbeitsspeicheranforderungen/-grenzwerten für Ressourcen

Nachdem Sie die kubernetes.azure.com/override-requests-limits Anmerkung in einem Deployment oder DaemonSet auf "aktiviert" festgelegt haben, können Sie die Anforderungen und Beschränkungen für CPU und Speicher der Ressourcen anpassen. Das folgende Beispiel zeigt, wie Sie die CPU-/Speicheranforderungen und -limits für Ressourcen in einem Deployment anpassen können.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: coredns
  namespace: kube-system
  annotations:
    # update value from "disabled" to "enabled"
    kubernetes.azure.com/override-requests-limits: "enabled"
spec:
  ...
  containers:
  - name: coredns
    resources:
      limits:
        # update cpu limits value won't be reconciled back
        cpu: "3"
        # update memory limits value won't be reconciled back
        memory: "500Mi"
      requests:
        # update cpu requests value won't be reconciled back
        cpu: "100m"
        # update memory requests value won't be reconciled back
        memory: "70Mi"

Anpassung des maximal/minimal zulässigen CPU- und Speicherverbrauchs von Ressourcen.

Nachdem Sie die kubernetes.azure.com/override-min-max Anmerkung in einer benutzerdefinierten VPA-Ressource auf "aktiviert" festgelegt haben, können Sie die maximal zulässigen CPU- und Speicherwerte in einer benutzerdefinierten VPA-Ressource anpassen. Das folgende Beispiel zeigt, wie Sie die maximalen und minimal zulässigen CPU- und Speicherwerte in einer benutzerdefinierten VPA-Ressource anpassen:

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: coredns
  namespace: kube-system
  annotations:
    # update value from "disabled" to "enabled"
    kubernetes.azure.com/override-min-max: "enabled"
spec:
  resourcePolicy:
    containerPolicies:
    - containerName: coredns
      maxAllowed:
        # update maxAllowed cpu value won't be reconciled back
        cpu: 3
        # update maxAllowed memory value won't be reconciled back
        memory: 500Mi
      minAllowed:
        # update minAllowed cpu value won't be reconciled back
        cpu: 10m
        # update minAllowed memory value won't be reconciled back
        memory: 10Mi
  ...

Anpassen des Ressourcenaktualisierungsmodus

Nachdem Sie die kubernetes.azure.com/override-update-mode Anmerkung in einer benutzerdefinierten VPA-Ressource auf "aktiviert" festgelegt haben, können Sie den Aktualisierungsrichtlinienwert updateMode in einer benutzerdefinierten VPA-Ressource auf "Aus" oder "Initial" (Standard) anpassen. Das folgende Beispiel zeigt, wie Sie den Aktualisierungsrichtlinienwert updateMode in einer benutzerdefinierten VPA-Ressource auf "Initial" anpassen:

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: coredns
  namespace: kube-system
  annotations:
    # update value from "disabled" to "enabled"
    kubernetes.azure.com/override-update-mode: "enabled"
spec:
  ...
  updatePolicy:
    # update updateMode won't be reconciled back
    updateMode: "Initial"

Deaktivieren von VPA für ein bestimmtes AKS-verwaltetes Add-On

Um VPA für ein bestimmtes AKS-verwaltetes Add-On zu deaktivieren, müssen Sie die YAML-Datei der benutzerdefinierten VPA-Ressource aktualisieren und die kubernetes.azure.com/override-update-mode-Anmerkung auf "enabled" sowie die updateMode-Anmerkung auf "Off" festlegen. Im Modus "Aus " bietet der VPA nur Empfehlungen für CPU und Arbeitsspeicher und wendet die Änderungen nicht auf den Pod an.

Das folgende Beispiel zeigt, wie VPA für das CoreDNS-Add-On deaktiviert wird:

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: coredns
  namespace: kube-system
  annotations:
    # Set value to "enabled"
    kubernetes.azure.com/override-update-mode: "enabled"
spec:
  ...
  updatePolicy:
    # Set value to "Off"
    updateMode: "Off"

Problembehandlung

  1. Stellen Sie sicher, dass das von AKS verwaltete Add-On das kostenoptimierte Add-On-Skalierungsfeature unterstützt. Weitere Informationen finden Sie unter "Unterstützte verwaltete AKS-Add-Ons".
  2. Vergewissern Sie sich, dass die kubernetes.azure.com/override-requests-limits Anmerkung in der Bereitstellung oder im DaemonSet auf "aktiviert" festgelegt ist.
  3. Stellen Sie sicher, dass die kubernetes.azure.com/override-min-max Anmerkung in der benutzerdefinierten VPA-Ressource auf "aktiviert" festgelegt ist.
  4. Stellen Sie sicher, dass die kubernetes.azure.com/override-update-mode Anmerkung in der benutzerdefinierten VPA-Ressource auf "aktiviert" festgelegt ist.

Nächste Schritte

Um die Clusterressourcenauslastung weiter zu konfigurieren und CPU/Arbeitsspeicher für verwaltete AKS-Add-On-Pods freizugeben, siehe Vertical Pod Autoscaling in AKS.