본문 바로가기

⭐ Kubernetes & EKS/Kubernetes (쿠버네티스)

노드마다 포드를 하나씩 배치하는 방법

# 데몬셋, 노드마다 포드를 하나씩 배치하는 방법

- 백그라운드에서 실행되는 프로세스를 데몬셋 이라고 한다.

- 노드에 설치되어 데이터를 제공하기 위해 설치

- 쿠버네티스 용어 사전 : 데몬셋
- 데몬셋(DaemonSet)은 파드 복제본을 클러스터 노드 집합에서 동작하게 한다.
(백그라운드에서 실행한다는 의미? 노드 아래의 백그라운드에서 실행되는 프로세스 인거 같다.)
일반적으로 모든 노드에서 실행돼야 하는 로그 수집기 및 모니터링 에이전트 등의 시스템 데몬을 배포하기 위해서 사용된다.

# 연습문제

쿠버네티스 공식사이트 > 데몬셋 > kind:

vim http-go-ds.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: http-go
spec:
  selector:
    matchLabels:
      name: http-go
  template:
    metadata:
      labels:
        app: http-go
    spec:
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
      containers:
      - name: http-go
        image: gasbugs/http-go

- 오류 발생함

The DaemonSet "http-go" is invalid: spec.template.metadata.labels: Invalid value: map[string]string{"app":"http-go"}: `selector` does not match template `labels`

# 데몬셋 조회하기

kubectl get ds

# 노드마다 데몬셋이 어떻게 할당 되었는지 확인하기

kubectl get pod -o wide

- 모니터링 시스템을 구성할때 주로 데몬셋을 많이 사용하게 된다.