728x90
데몬셋은 모든 노드의 파드를 실행하도록 하며 systemctl에서 제어하는 모든 것을 의미함.
데몬셋이 반드시 하나의 노드에 파드 하나씩 존재하는 것을 보장함
따라서 노드가 클러스터에 추가되면 파드가 추가되고, 클러스터에서 제거되면 가비지에 수집됨
ReplicaSets은 각각의 노드에 배치되는 것이 가장 고가용성 구축 방법이지만
sched 스케줄러에 의해 제어되어 분산을 보장할 수 없고 노드가 어느 파드에 배치될 지 모름
대표적인 용도론
- 모든 노드에서 클러스터 스토리지 데몬 실행
- 로그 수집 데몬 실행
- 노드 모니터링 데몬 실행
Selector
matchExpression가 파드의 label과 AND연산으로 매칭이 되어야 함.
metadata의 labels는 matchLabels와는 맞춰줘야 하는 것이 맞고,
controller의 label은 사실 metadata의 label과는 관련이 없지만,
다음과 같이 Controller의 label과 metadata의 label을 일치하게 설정해주는 것이 관습
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: myweb-ds
labels:
app: myweb
env: env
spec:
selector:
matchLabels:
app: myweb
env: dev
template:
metadata:
labels:
app: myweb
env: dev
spec:
containers:
- name: myweb
image: ghcr.io/c1t1d0s7/go-myweb
ports:
- containerPort: 8080
protocol: TCP
728x90
반응형
'Cloud > Kubernates' 카테고리의 다른 글
[k8s, kubernates] Apache(httpd) 웹서비스 구성 (0) | 2024.07.16 |
---|---|
[k8s, kubernates] 서비스 -1 (0) | 2024.07.15 |
[k8s, kubernates] 컨트롤러 : 레플리케이션 컨트롤러와 레플리카셋 (0) | 2024.07.09 |
[k8s, kubernates] 파드 라이프사이클 (0) | 2024.07.09 |
[k8s, kubernates] 레이블 (0) | 2024.07.09 |