Ressourcen für Kubelet- und Betriebssystem-Daemons auf Oracle Cloud Infrastructure Kubernetes Engine-Knoten reservieren
Einführung
Bei der Ausführung von Kubernetes-Workloads auf Oracle Cloud Infrastructure Kubernetes Engine (OKE) muss unbedingt sichergestellt werden, dass Worker-Knoten Ressourcen für Kubernetes-Kontrollkomponenten und Betriebssystem-(BS-)Daemons reserviert haben. Die richtige Reservierung verhindert Ressourcenkonflikte, reduziert den Speicherdruck und erhöht die Clusterstabilität. Dies ist besonders wichtig in Multi-Tenant-Umgebungen, Workloads mit hoher Dichte oder bei der Behebung von Knotendruckproblemen. In diesem Tutorial erfahren Sie, wie Sie diese Reservierungen mit einem benutzerdefinierten Skript cloud-init
konfigurieren, das bei der Erstellung des Knotenpools angewendet wird. Durch die Nutzung von cloud-init
können Sie diese Konfigurationen mit minimalem Aufwand über Ihre Clusterknoten hinweg standardisieren.
Kubelet-Ressourcenkonfiguration
Kubelet, der primäre Knoten-Agent in Kubernetes, unterstützt die Ressourcenverwaltung durch Konfigurations-Flags oder -Dateien. Sie können Folgendes definieren:
- kubeReserved: Reserviert Ressourcen für Kubernetes-Daemons wie
kubelet
undkube-proxy
. - systemReserved: Reserviert Ressourcen für Services auf BS-Ebene wie
journald
odersshd
.
Ziele
-
Erfahren Sie, wie Sie CPU und Speicher für Kubernetes- und BS-Daemons mit
kubeReserved
undsystemReserved
reservieren. -
Stellen Sie einen verwalteten Knotenpool mit einem benutzerdefinierten
cloud-init
-Skript bereit, um die Kubelet-Konfiguration beim Start anzuwenden.
Voraussetzungen
-
Zugriff auf einen Oracle Cloud Infrastructure-(OCI-)Account mit der Berechtigung zum Erstellen von OKE-Clustern und Knotenpools.
-
Ein vorhandenes OKE-Cluster (oder Sie können ein neues erstellen).
-
Grundlegende Kenntnisse mit Kubernetes- und Oracle Cloud Infrastructure-Befehlszeilenschnittstelle (OCI-CLI).
Schritt 1: Schreiben Sie das Skript cloud-init
Das folgende cloud-init
-Skript erstellt eine Kubelet-Konfigurationsdatei, die CPU-, Speicher- und ephemeren Speicher reserviert und Räumungsschwellenwerte festlegt.
#!/bin/bash
curl --fail -H "Authorization: Bearer Oracle" -L0 http://169.254.169.254/opc/v2/instance/metadata/oke_init_script | base64 --decode >/var/run/oke-init.sh
bash /var/run/oke-init.sh --kubelet-extra-args "--kube-reserved=cpu=500m,memory=1Gi --system-reserved=cpu=100m,memory=100Mi"
Schritt 2: Erstellen eines Knotenpools mit dem Skript cloud-init
-
Navigieren Sie zur OCI-Konsole, und navigieren Sie zu Ihrem OKE-Cluster.
-
Wählen Sie Knotenpools aus, und klicken Sie auf Knotenpool hinzufügen, um einen neuen Pool zu erstellen, oder klicken Sie auf Bearbeiten, um einen vorhandenen Knotenpool zu ändern.
-
Legen Sie den Knotenpool mit Ihren Voreinstellungen für Name, Compartment, Knotenplatzierung, Ausprägung und Networking fest.
-
Klicken Sie unter Erweiterte Optionen anzeigen auf Cloud-Init-Skript einfügen, und fügen Sie Ihr benutzerdefiniertes Skript ein.
-
Vervollständigen Sie die restlichen Knotenpooleinstellungen, und klicken Sie auf Hinzufügen.
Nachdem die Knoten bereitgestellt wurden, wird das Skript beim Booten ausgeführt und wendet die Ressourcenbeschränkungen automatisch an.
Hinweis: Wenn Sie das Setup mit Terraform automatisieren, können Sie das Skript im Block
node_config_details.cloud_init_script
übergeben, wenn Sie die Knotenpoolressource erstellen.
Bestätigungen
- Autor - JP Santana (Master Cloud Architect)
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Reserve Resources for Kubelet and Operating System Daemons on Oracle Cloud Infrastructure Kubernetes Engine Nodes
G38628-01
Copyright ©2025, Oracle and/or its affiliates.