Vytvoření daemonSets Kubernetes

Platí pro: AKS ve Službě Azure Stack HCI 22H2, AKS na Windows Serveru

Tento článek popisuje, jak vytvořit a používat sadu DaemonSet Kubernetes v AKS povolenou službou Azure Arc, abyste zajistili, že kopie podu bude vždy k dispozici na každém pracovním uzlu v clusteru. DaemonSet můžete použít ke zlepšení výkonu clusteru tím, že zajistíte, aby aplikace běžela na všech pracovních uzlech, a nasadíte pody, které provádí údržbu a poskytují služby podpory pro uzly.

Přehled daemonSets

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

Podobně se při odstranění uzlu odstraní i pod, který je na tomto uzlu spuštěný, a není přeplánovaný na jiném uzlu (například jako u replik). To vám umožní překonat omezení plánování Kubernetes a zajistit nasazení konkrétní aplikace na všech uzlech v rámci clusteru.

DaemonSets mohou zlepšit celkový výkon clusteru. Můžete je například použít k nasazení podů pro provádění úloh údržby a podpůrných služeb pro každý uzel:

  • Spusťte proces démon shromažďování protokolů, například Fluentd a Logstash.
  • Spusťte proces démon monitorování uzlu, 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í vytvářejí pod na každém uzlu, můžete omezit počet přijatelných uzlů tím, že předem definujete pole selektoru uzlů v souboru YAML. Kontroler DaemonSet vytváří pody pouze na uzlech, které odpovídají selektoru uzlů.

Jeden daemonSet obvykle nasadí jeden typ démona napříč všemi uzly, ale je možné, že několik daemonSets řídí jeden typ démona pomocí různých popisků. Popisek Kubernetes určuje pravidla nasazení na základě charakteristik jednotlivých uzlů.

Další informace o použití daemonSets najdete v tématu DaemonSets Kubernetes.

Vytvoření daemonSet

DaemonSet popíšete pomocí souboru YAML a pak ho vytvoříte pomocí kubectl create příkazů nebo kubectl apply (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

K zobrazení aktuálního stavu sady DaemonSet použijte kubectl describe příkaz (například kubectl describe daemonset example-daemon).

Omezení daemonSet na konkrétní uzly

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

Aktualizace sady démonů

DaemonSet můžete aktualizovat pomocí kubectl edit ds<NAME> příkazu . Doporučuje se však 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í sady démonů

Pokud chcete odebrat DaemonSet, 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 nasazené pody.

Další kroky