Kubernetes DaemonSet là gì? Cách sử dụng

Trong bài viết này, hãy cùng mình tìm hiểu về DaemonSet trong Kubernetes. DaemonSet là một công cụ giúp triển khai một pod trên mỗi node trong cluster.

Xem thêm:

Manual Scheduling trong K8s

Resource requirement

Kubernetes DaemonSet là gì?

DaemonSet giống như ReplicaSet, nhưng thay vì triển khai một số lượng cố định pod, nó triển khai một pod duy nhất trên mỗi node trong cluster.

Cách hoạt động

Khi có node mới được thêm vào cluster, DaemonSet sẽ tự động triển khai một bản sao pod lên node đó. Tương tự, khi có node bị xóa, pod tương ứng cũng sẽ bị xóa.

Các trường hợp sử dụng

DaemonSet thường được sử dụng để triển khai các thành phần cần thiết trên mỗi node, chẳng hạn như:

  • Agent monitor Giám sát hiệu suất của cluster
  • Agent thu thập log: Thu thập log từ các node
  • kube-proxy: Thành phần điều phối mạng trong Kubernetes
  • Agent network: Triển khai các giải pháp mạng trên mỗi node

Tạo DaemonSet

apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app: elasticsearch
  name: elasticsearch
  namespace: kube-system
spec:
  selector:
    matchLabels:
      app: elasticsearch
  template:
    metadata:
      labels:
        app: elasticsearch
    spec:
      containers:
      - image: registry.k8s.io/fluentd-elasticsearch:1.20
        name: fluentd-elasticsearch
        resources: {}
status: {}

DaemonSet là một công cụ để triển khai các thành phần cần thiết trên mỗi node trong cluster. Nó giúp đơn giản hóa việc quản lý và bảo trì các thành phần này. Cảm ơn bạn đã tham khảo kubernetes cơ bản trên ttnguyen.net.

Bài viết liên quan:

Taints và Tolerations trong Kuberbetes

Labels and Selectors trong Kubernetes

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em