일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Amazon VPC
- k8s
- Industry Week 2023
- Cognito
- Heartbleed
- staticmethod
- classmethod
- Terraform state
- DaemonSet
- ansible
- DevOps
- taint
- SSL 인증서
- Amazon DynamoDB
- ReplicaSet
- Kubernetis
- Amazon GuardDuty
- CI CD
- Backend
- Terraform
- mariaDB
- Amazon Route 53
- ConfigMap
- Amazon RDS
- deployment
- AWS
- docker
- AWS EC2
- AWS Security Hub
- Python
Archives
- Today
- Total
Nubes et Stella
Kubernetis #07 (DaemonSet) 본문
01. Kubernetis DaemonSet
각 "노드" 별로 반드시 실행되어야 하는 워크로드들을 일괄 생성해주는 API-Resource 이다.
데몬셋 특징
- 클러스터 상의 모든 노드에 동일한 파드를 하나씩 생성한다.
- 로그 수집 / 메트릭 수집 / 네트워크 구성등의 목적으로 많이 사용된다.
> 로그 수집 : filebeat / fluenbit
> 메트릭 수집 : node-exporter / metricbeat / telegraf
> 네트워크 구성 : kube-proxy / calico
- Deployment와 동일하게 Label Selctor 기반으로 동작한다.
- nodeSelector / Affinity / Toleration 등을 통해 실행되어야 할 노드 목록을 필터링 할 수 있다.
DaemonSet 구현
- daemonset.yaml
- line 2 : "kind" 인자에 "DaemonSet"을 설정한다.
- line 8~ : "selector", "template.spce".. 기존 Deployment 와 동일하다.
- line 78~88 : "hostpath"를 설정한다. 모든 컨테이너들의 로그에 접근하기 위함
- line 65~77 : 컨테이너들의 configmap, log..를 Pod의 볼륨에 마운트한다.
- line 78~94 : Pod를 생성할 때 볼륨을 설정해준다. (Volume에 대한 자세한 내용은 나중에 따로..)
- configmap.yaml
- line 7 : filebeat.yaml 이라는 파일을 configmap 의 키로 설정
- line 8 : input을 통해서 파일 내용을 설정하며, paths를 통해서 로그 파일을 생성한다.
- line 24~25 : output을 통해서 다른 시스템(kafka, elk..)으로 로그를 포워딩 할 수도 있다.
- 설정을 끝마친 후 apply하게 되면, "daemonset"과 하위 "Pod"가 생성된다.
- kubectl logs [Pod] 명령어를 사용하여 파드의 로그를 콘솔로 출력한다.
'DevOps > Kubernetis' 카테고리의 다른 글
Kubernetis #06 (Namespace/(Cron)Job) (0) | 2023.10.24 |
---|---|
Kubernetis #05 (ConfigMap/Secret) (0) | 2023.10.19 |
Kubernetis #04 (Deployment/Service) (0) | 2023.10.15 |
Kubernetis #03 (Pod/ReplicaSet) (0) | 2023.10.14 |
Kubernetis #02 (Install) (0) | 2023.10.14 |