7장. DaemonSet [apps/v1]
- 설명
- DaemonSet은 데몬 세트의 구성을 나타냅니다.
- 유형
-
object
7.1. 사양
속성 | 유형 | 설명 |
---|---|---|
|
| APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| DaemonSetSpec은 데몬 세트의 사양입니다. |
|
| DaemonSetStatus는 데몬 세트의 현재 상태를 나타냅니다. |
7.1.1. .spec
- 설명
- DaemonSetSpec은 데몬 세트의 사양입니다.
- 유형
-
object
- 필수 항목
-
선택기
-
템플릿
-
속성 | 유형 | 설명 |
---|---|---|
|
| 새로 생성된 DaemonSet Pod가 컨테이너 충돌 없이 준비해야 하는 최소 시간(초)을 사용할 수 있는 것으로 간주해야 합니다. 기본값은 0입니다(포드가 준비되는 즉시 사용 가능한 것으로 간주됨). |
|
| 롤백을 허용하기 위해 보유할 이전 기록 수입니다. 이는 명시적 0과 지정되지 않음을 구분하기 위한 포인터입니다. 기본값은 10입니다. |
| 데몬 세트에서 관리하는 Pod에 대한 라벨 쿼리입니다. 제어하려면 일치해야합니다. Pod 템플릿의 레이블과 일치해야 합니다. 자세한 내용은 https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors | |
| 생성할 Pod를 설명하는 오브젝트입니다. DaemonSet은 템플릿의 노드 선택기와 일치하는 모든 노드에서 (또는 노드 선택기를 지정하지 않은 경우 모든 노드에서) 정확히 하나의 복사본을 생성합니다. 허용된 유일한 template.spec.restartPolicy 값은 "항상"입니다. 자세한 내용은 https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template | |
|
| DaemonSetUpdateStrategy는 DaemonSet의 업데이트 전략을 제어하는 데 사용되는 구조입니다. |
7.1.2. .spec.updateStrategy
- 설명
- DaemonSetUpdateStrategy는 DaemonSet의 업데이트 전략을 제어하는 데 사용되는 구조입니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 데몬 세트 롤링 업데이트의 원하는 동작을 제어하는 사양입니다. |
|
| 데몬 세트 업데이트 유형입니다. "RollingUpdate" 또는 "OnDelete"일 수 있습니다. 기본값은 RollingUpdate입니다.
가능한 enum 값: - |
7.1.3. .spec.updateStrategy.rollingUpdate
- 설명
- 데몬 세트 롤링 업데이트의 원하는 동작을 제어하는 사양입니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
| 업데이트 중 업데이트된 DaemonSet Pod를 보유할 수 있는 기존 사용 가능한 DaemonSet Pod가 있는 최대 노드 수입니다. 값은 절대 숫자(예: 5) 또는 원하는 Pod의 백분율(예: 10%)일 수 있습니다. MaxUnavailable이 0인 경우 이 값은 0이 될 수 없습니다. 절대 숫자는 백분율에서 최소 1까지 반올림하여 계산됩니다. 기본값은 0입니다. 예: 이 값을 30%로 설정하면 데몬 Pod를 실행해야 하는 총 노드 수의 최대 30%(즉, status.desiredNumberScheduled)에서 이전 Pod가 삭제된 것으로 표시되기 전에 생성된 새 Pod를 보유할 수 있습니다. 업데이트는 노드의 30%에서 새 Pod를 시작하여 시작됩니다. 업데이트된 Pod를 사용할 수 있게 되면(최소 minReadySeconds 이상) 해당 노드의 이전 DaemonSet Pod가 삭제됩니다. 어떤 이유로든 기존 Pod를 사용할 수 없게 되면(Ready가 false로 전환되거나 제거됨) 업데이트된 Pod가 급증 제한을 고려하지 않고 해당 노드에 즉시 생성됩니다. 서지 허용은 지정된 노드에서 데몬 세트에서 사용하는 리소스가 두 배가 될 수 있음을 의미합니다. 따라서 준비 상태 점검이 실패하면 리소스 집약적 데몬 세트에서 두 배로 증가할 수 있으므로 중단 중에 제거가 발생할 수 있습니다. | |
| 업데이트 중에 사용할 수 없는 최대 DaemonSet Pod 수입니다. 값은 절대 숫자(예: 5) 또는 업데이트 시작 시 총 DaemonSet Pod 수(예: 10%)일 수 있습니다. 절대 수는 백분율로 반올림하여 계산됩니다. MaxSurge가 0인 경우 0이 될 수 없습니다. 예: 이 값을 30%로 설정하면 데몬 Pod를 실행해야 하는 총 노드 수의 최대 30%(즉, status.desiredNumberScheduled)에서 특정 시간에 업데이트 시 Pod가 중지될 수 있습니다. 업데이트는 해당 DaemonSet Pod의 30 % 이상을 중지한 다음 새 DaemonSet Pod를 순서대로 시작합니다. 새 Pod를 사용할 수 있게 되면 다른 DaemonSet Pod로 진행되므로 업데이트 중에 항상 원래 DaemonSet Pod 수의 70% 이상을 사용할 수 있습니다. |
7.1.4. .status
- 설명
- DaemonSetStatus는 데몬 세트의 현재 상태를 나타냅니다.
- 유형
-
object
- 필수 항목
-
currentNumberScheduled
-
numberMisscheduled
-
desiredNumberScheduled
-
numberReady
-
속성 | 유형 | 설명 |
---|---|---|
|
| DaemonSet의 해시 충돌 수입니다. DaemonSet 컨트롤러는 최신 ControllerRevision의 이름을 생성해야 하는 경우 이 필드를 충돌 방지 메커니즘으로 사용합니다. |
|
| DaemonSet의 현재 상태에 대한 사용 가능한 최신 관찰을 나타냅니다. |
|
| DaemonSetCondition은 특정 시점에서 DaemonSet의 상태를 설명합니다. |
|
| 데몬 Pod가 1개 이상 실행되고 데몬 Pod를 실행해야 하는 노드 수입니다. 자세한 내용은 https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ |
|
| 데몬 Pod를 실행해야 하는 총 노드 수입니다(임시 Pod를 올바르게 실행하는 노드 포함). 자세한 내용은 https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ |
|
| 데몬 Pod를 실행하고 하나 이상의 데몬 Pod를 실행하고 사용할 수 있는 노드 수(최소 spec.minReadySeconds 이상) |
|
| 데몬 Pod를 실행 중이지만 데몬 Pod를 실행하지 않는 노드 수입니다. 자세한 내용은 https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ |
|
| numberReady는 데몬 Pod를 실행해야 하며 Ready 상태에서 하나 이상의 데몬 Pod를 실행해야 하는 노드 수입니다. |
|
| 데몬 Pod를 실행해야 하며 데몬 Pod가 실행되지 않고 사용 가능한 데몬 Pod가 없는 노드 수입니다(최소 spec.minReadySeconds 이상) |
|
| 데몬 세트 컨트롤러에서 관찰하는 최신 생성입니다. |
|
| 업데이트된 데몬 Pod를 실행 중인 총 노드 수 |
7.1.5. .status.conditions
- 설명
- DaemonSet의 현재 상태에 대한 사용 가능한 최신 관찰을 나타냅니다.
- 유형
-
array
7.1.6. .status.conditions[]
- 설명
- DaemonSetCondition은 특정 시점에서 DaemonSet의 상태를 설명합니다.
- 유형
-
object
- 필수 항목
-
type
-
status
-
속성 | 유형 | 설명 |
---|---|---|
| 조건이 한 상태에서 다른 상태로 전환된 마지막 시간입니다. | |
|
| 전환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다. |
|
| 조건의 마지막 전환 이유는 다음과 같습니다. |
|
| 조건의 상태, True, False, 알 수 없음. |
|
| DaemonSet 조건 유형입니다. |