Sdílet prostřednictvím


Vytvoření daemonSets Kubernetes

Platí pro: AKS v Azure Stack HCI 22H2, AKS na Windows Serveru

Tento článek popisuje, jak vytvořit a používat daemonSet Kubernetes v AKS povolené službou Azure Arc, aby se zajistilo, že kopie podu bude vždy dostupná na každém pracovním uzlu v clusteru. Pomocí daemonSet můžete zlepšit výkon clusteru tím, že zajistíte, aby aplikace běžela na všech pracovních uzlech a nasadí pody, které provádí údržbu a poskytují podpůrné služby pro uzly.

Přehled daemonSets

DaemonSet je objekt Kubernetes, který zajišťuje, že kopie podu definovaného v konfiguraci je vždy dostupná na každém pracovním uzlu v clusteru. Když do clusteru přidáte nový uzel, daemonSet automaticky přidělí pod na daném uzlu.

Podobně když dojde k odstranění uzlu, odstraní se také pod, který běží na uzlu, a není přeplánovaný na jiném uzlu (například u replik). To vám umožní překonat omezení plánování Kubernetes a ujistit se, že je konkrétní aplikace nasazená na všech uzlech v clusteru.

DaemonSets může zlepšit celkový výkon clusteru. Můžete je například použít k nasazení podů k provádění úloh údržby a služeb podpory do každého uzlu:

  • Spusťte proces démon shromažďování protokolů, například Fluentd a Logstash.
  • Spusťte proces démon monitorování uzlů, například Prometheus.
  • Spusťte proces démona úložiště clusteru, například glusterd nebo ceph.

I když daemonSets ve výchozím nastavení vytvoří pod na každém uzlu, můžete omezit počet přijatelných uzlů tak, že předem definujete pole selektoru uzlu v souboru YAML. Kontroler DaemonSet vytváří pody pouze na uzlech, které odpovídají selektoru uzlu.

Jeden daemonSet obvykle nasadí jeden typ démona ve všech uzlech, ale pomocí různých popisků může mít více daemonSets řízení jednoho typu démona. Popisek Kubernetes určuje pravidla nasazení na základě charakteristik jednotlivých uzlů.

Další informace o tom, jak používat daemonSets, najdete v tématu DaemonSets Kubernetes.

Vytvoření daemonSet

DaemonSet popisujete pomocí souboru YAML a pak ho vytvoříte pomocí kubectl create příkazů nebo kubectl apply příkazů (například kubectl create –f example-daemon.yaml).

Následující příklad popisuje funkce konfiguračního souboru DaemonSet pomocí image nginx:

apiVersion: apps/v1  
kind: DaemonSet  
metadata: 
      labels: 
         app: nginx
      name: example-daemon
spec:  
  template:
    metadata:
    labels:
             app: nginx
          spec:  
    containers:  
        -name: nginx  
         image: nginx

Pokud chcete zobrazit aktuální stav daemonSet, použijte kubectl describe příkaz (například kubectl describe daemonset example-daemon).

Omezení daemonSet na konkrétní uzly

Ve výchozím nastavení daemonSets vytváří pody na všech uzlech v clusteru, ale pomocí selektorů uzlů je můžete nakonfigurovat tak, aby vytvářely pody pouze v konkrétních uzlech. Pokud chcete démona omezit na konkrétní uzly, použijte kubectl label tento příkaz.

Aktualizace daemonSetu

DaemonSet můžete aktualizovat pomocí kubectl edit ds<NAME> příkazu. Doporučuje se ale upravit původní konfigurační soubor a potom použít kubectl apply příkaz při jeho počátečním vytvoření. Po instalaci aktualizace můžete stav aktualizace zobrazit pomocí kubectl rollout status ds <daemonset-name> příkazu.

Odstranění daemonSet

Pokud chcete odebrat démonaSet, použijte kubectl delete příkaz (například kubectl delete –f example-daemon.yaml -n monitoring). Při zadávání názvu souboru DaemonSet byste měli být opatrní, protože odstranění daemonSet vyčistí všechny pody, které nasadil.

Další kroky