Kubernetes DaemonSets létrehozása
A következőkre vonatkozik: AKS on Azure Stack HCI 22H2, AKS on Windows Server
Ez a cikk azt ismerteti, hogyan hozhat létre és használhat Kubernetes DaemonSetet az Azure Arc által engedélyezett AKS-ben annak biztosítása érdekében, hogy a pod másolata mindig elérhető legyen a fürt minden feldolgozó csomópontján. A DaemonSet használatával javíthatja a fürt teljesítményét, ha biztosítja, hogy az alkalmazás az összes feldolgozó csomóponton fusson, valamint olyan podokat helyezzen üzembe, amelyek karbantartást végeznek, és támogatási szolgáltatásokat nyújtanak a csomópontokhoz.
A Démonkészletek áttekintése
A DaemonSet egy Kubernetes-objektum, amely biztosítja, hogy a konfigurációban definiált pod másolata mindig elérhető legyen a fürt minden feldolgozó csomópontján. Amikor új csomópontot ad hozzá egy fürthöz, a DaemonSet automatikusan lefoglalja a podot a csomóponton.
Hasonlóképpen, ha egy csomópontot törölnek, a csomóponton futó pod is törlődik, és nem lesz újra ütemezve egy másik csomóponton (például a ReplicaSets esetében). Így leküzdheti a Kubernetes ütemezési korlátait, és meggyőződhet arról, hogy egy adott alkalmazás üzembe van helyezve a fürt összes csomópontján.
A démonkészletek javíthatják a fürt általános teljesítményét. Például használhatja őket podok üzembe helyezésére, hogy karbantartási feladatokat és támogatási szolgáltatásokat hajtsanak végre minden csomóponton:
- Futtasson egy naplógyűjtési démont, például
Fluentd
ésLogstash
. - Futtasson egy csomópontmonitorozási démont, például
Prometheus
. - Futtasson egy fürttároló démont, például
glusterd
vagyceph
.
Bár a DaemonSets alapértelmezés szerint minden csomóponton létrehoz egy podot, a YAML-fájl csomópontválasztó mezőjének előre definiálásával korlátozhatja az elfogadható csomópontok számát. A DaemonSet vezérlő csak a csomópontválasztónak megfelelő csomópontokon hoz létre podokat.
Általában egy DaemonSet egy démontípust helyez üzembe az összes csomóponton, de több Démonkészlet is vezérelhet egy démontípust különböző címkék használatával. A Kubernetes-címke az egyes csomópontok jellemzői alapján határozza meg az üzembehelyezési szabályokat.
A DaemonSets használatáról további információt a Kubernetes DaemonSets című témakörben talál.
Démonkészlet létrehozása
A DaemonSet egy YAML-fájllal írja le, majd hozza létre a kubectl create
parancsokkal kubectl apply
(például kubectl create –f example-daemon.yaml
).
Az alábbi példa egy DaemonSet konfigurációs fájl funkcióit ismerteti nginx-rendszerkép használatával:
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app: nginx
name: example-daemon
spec:
template:
metadata: null
labels:
app: nginx
containers: null
name: nginx
image: nginx
A Démonkészlet aktuális állapotának megtekintéséhez használja a kubectl describe
parancsot (például kubectl describe daemonset example-daemon
).
A DaemonSet korlátozása adott csomópontokra
A DaemonSets alapértelmezés szerint podokat hoz létre egy fürt összes csomópontján, de a csomópontválasztókkal konfigurálhatja őket úgy, hogy csak adott csomópontokon hozzanak létre podokat. Ha egy DaemonSetet adott csomópontokra szeretne korlátozni, használja a kubectl label
parancsot.
DaemonSet frissítése
A parancs használatával frissítheti a kubectl edit ds<NAME>
DaemonSetet. Javasoljuk azonban, hogy szerkessze az eredeti konfigurációs fájlt, majd használja a kubectl apply
parancsot az eredeti létrehozásakor. A frissítés alkalmazása után a parancs használatával megtekintheti a kubectl rollout status ds <daemonset-name>
frissítés állapotát.
Démonkészlet törlése
DaemonSet eltávolításához használja a kubectl delete
parancsot (például kubectl delete –f example-daemon.yaml -n monitoring
). A DaemonSet-fájl nevének megadásakor óvatosnak kell lennie, mivel a DaemonSet törlése törli az összes üzembe helyezett podot.