Skip to content

Commit 5e4da45

Browse files
authored
Merge pull request #37150 from onestone9900/feat-outdated-file
[ko] Update outdated files dev-1.25-ko.1 (M42 - M52)
2 parents 84683fd + 267a904 commit 5e4da45

File tree

12 files changed

+219
-22
lines changed

12 files changed

+219
-22
lines changed

content/ko/docs/concepts/windows/intro.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,12 @@ API 및 kubectl의 관점에서, 윈도우 컨테이너는 리눅스 기반 컨
8888
* OS 필드:
8989

9090
특정 파드가 윈도우 컨테이너를 사용하고 있다는 것을 나타내려면 `.spec.os.name` 필드를 `windows`로 설정해야 한다.
91-
이 필드가 인식되도록 하기 위해서는 `IdentifyPodOS` 기능 게이트가 활성화되어야 한다.
9291

9392
{{< note >}}
94-
쿠버네티스 1.24부터, `IdentifyPodOS` 기능 게이트는 베타 단계이며 기본적으로 활성화되어 있다.
93+
쿠버네티스 1.25부터, `IdentifyPodOS` 기능 게이트는 GA 단계이며 기본적으로 활성화되어 있다.
9594
{{< /note >}}
9695

97-
`IdentifyPodOS` 기능 게이트가 활성화되어 있고 `.spec.os.name` 필드를 `windows`로 설정했다면,
96+
`.spec.os.name` 필드를 `windows`로 설정했다면,
9897
해당 파드의 `.spec` 내의 다음 필드는 설정하지 않아야 한다.
9998

10099
* `spec.hostPID`
@@ -285,7 +284,7 @@ API 및 kubectl의 관점에서, 윈도우 컨테이너는 리눅스 기반 컨
285284

286285
쿠버네티스는 윈도우 지원을 포함하는 다중 아키텍처 이미지를 유지보수한다.
287286
쿠버네티스 v{{< skew currentVersion >}}의 경우
288-
권장 퍼즈 이미지는 `k8s.gcr.io/pause:3.6`이다.
287+
권장 퍼즈 이미지는 `registry.k8s.io/pause:3.6`이다.
289288
[소스 코드](https://github.com/kubernetes/kubernetes/tree/master/build/pause)는 GitHub에서 찾을 수 있다.
290289

291290
Microsoft는 리눅스 및 윈도우 amd64를 지원하는 다중 아키텍처 이미지를

content/ko/docs/concepts/windows/user-guide.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,14 +158,13 @@ GMSA로 구성한 컨테이너는 GMSA로 구성된 신원을 들고 있는 동
158158
아래는 권장되는 방식의 개요인데,
159159
이것의 주요 목표 중에 하나는 이 방식이 기존 리눅스 워크로드와 호환되어야 한다는 것이다.
160160

161-
`IdentifyPodOS` [기능 게이트](/ko/docs/reference/command-line-tools-reference/feature-gates/)가 활성화되어 있으면,
162-
파드의 컨테이너가 어떤 운영 체제용인지를 파드의 `.spec.os.name`에 설정할 수 있다(그리고 설정해야 한다).
161+
1.25부터, 파드의 컨테이너가 어떤 운영체제 용인지를 파드의 `.spec.os.name`에 설정할 수 있다(그리고 설정해야 한다).
163162
리눅스 컨테이너를 실행하는 파드에는 `.spec.os.name`을 `linux`로 설정한다.
164163
윈도우 컨테이너를 실행하는 파드에는 `.spec.os.name`을
165164
`windows`로 설정한다.
166165

167166
{{< note >}}
168-
1.24부터, `IdentifyPodOS` 기능은 베타 단계이며 기본적으로 활성화되어 있다.
167+
1.25부터, `IdentifyPodOS` 기능은 GA 단계이며 기본적으로 활성화되어 있다.
169168
{{< /note >}}
170169

171170
스케줄러는 파드를 노드에 할당할 때

content/ko/docs/concepts/workloads/controllers/cron-jobs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ kube-controller-manager 컨테이너에 설정된 시간대는
9494
## 타임 존
9595
크론잡에 타임 존이 명시되어 있지 않으면, kube-controller-manager는 로컬 타임 존을 기준으로 스케줄을 해석한다.
9696

97-
{{< feature-state for_k8s_version="v1.24" state="alpha" >}}
97+
{{< feature-state for_k8s_version="v1.25" state="beta" >}}
9898

9999
`CronJobTimeZone` [기능 게이트](/ko/docs/reference/command-line-tools-reference/feature-gates/)를 활성화하면,
100100
크론잡에 대해 타임 존을 명시할 수 있다(기능 게이트를 활성화하지 않거나,

content/ko/docs/concepts/workloads/controllers/deployment.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml
121121
* `READY` 는 사용자가 사용할 수 있는 애플리케이션의 레플리카의 수를 표시한다.
122122
* `AGE` 는 애플리케이션의 실행된 시간을 표시한다.
123123

124-
레플리카셋의 이름은 항상 `[DEPLOYMENT-NAME]-[RANDOM-STRING]` 형식으로 된 것을 알 수 있다. 무작위 문자열은
125-
무작위로 생성되며, `pod-template-hash` 를 시드(seed)로 사용한다.
124+
레플리카셋의 이름은 항상 `[DEPLOYMENT-NAME]-[HASH]` 형식으로 된 것을 알 수 있다.
125+
`HASH` 문자열은 레플리카셋의 `pod-template-hash` 레이블과 같다.
126126

127127
6. 각 파드에 자동으로 생성된 레이블을 보려면, `kubectl get pods --show-labels` 를 실행한다.
128128
다음과 유사하게 출력된다.

content/ko/docs/concepts/workloads/controllers/job.md

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,89 @@ spec:
695695
`manualSelector: true` 를 설정하면 시스템에게 사용자가 무엇을 하는지 알고 있으며
696696
이런 불일치를 허용한다고 알릴 수 있다.
697697

698+
### 파드 실패 정책{#pod-failure-policy}
699+
700+
{{< feature-state for_k8s_version="v1.25" state="alpha" >}}
701+
702+
{{< note >}}
703+
잡(Job)에 대한 파드 실패 정책은
704+
`JobPodFailurePolicy` [기능 게이트](/ko/docs/reference/command-line-tools-reference/feature-gates/)
705+
클러스터에서 활성화됐을 경우에만 구성할 수 있다. 추가적으로,
706+
파드 장애 정책의 파드 중단 조건 (참조:
707+
[파드 중단 조건](/ko/docs/concepts/workloads/pods/disruptions#pod-disruption-conditions))을
708+
감지하고 처리할 수 있도록 `PodDisruptionConditions` 기능 게이트를 활성화하는 것을 권장한다. 두 기능 게이트 모두
709+
쿠버네티스 v1.25에서 사용할 수 있다.
710+
{{< /note >}}
711+
712+
`.spec.podFailurePolicy` 필드로 정의되는 파드 실패 정책은, 클러스터가
713+
컨테이너 종료 코드와 파드 상태를 기반으로 파드의 실패를
714+
처리하도록 활성화한다.
715+
716+
어떤 상황에서는, 파드의 실패를 처리할 때 잡(Job)의 `.spec.backoffLimit`을 기반으로 하는
717+
[파드 백오프(backoff) 실패 정책](#pod-backoff-failure-policy)에서
718+
제공하는 제어보다 더 나은 제어를 원할 수 있다. 다음은 사용 사례의 몇 가지 예시다.
719+
* 불필요한 파드 재시작을 방지하여 워크로드 실행 비용을 최적화하려면,
720+
파드 중 하나가 소프트웨어 버그를 나타내는 종료 코드와 함께 실패하는 즉시
721+
잡을 종료할 수 있다.
722+
* 중단이 있더라도 잡이 완료되도록 하려면,
723+
중단(예: {{< glossary_tooltip text="선점(preemption)" term_id="preemption" >}},
724+
{{< glossary_tooltip text="API를 이용한 축출(API-initiated Eviction)" term_id="api-eviction" >}}
725+
또는 축출 기반 {{< glossary_tooltip text="테인트(Taints)" term_id="taint" >}})으로 인한
726+
파드 실패를 무시하여 `.spec.backoffLimit` 재시도 한도에 포함되지 않도록 할 수 있다.
727+
728+
위의 사용 사례를 충족하기 위해
729+
`.spec.podFailurePolicy` 필드에 파드 실패 정책을 구성할 수 있다.
730+
이 정책은 컨테이너 종료 코드 및 파드 상태를 기반으로 파드 실패를 처리할 수 있다.
731+
732+
다음은 `podFailurePolicy`를 정의하는 잡의 매니페스트이다.
733+
734+
{{< codenew file="/controllers/job-pod-failure-policy-example.yaml" >}}
735+
736+
위 예시에서, 파드 실패 정책의 첫 번째 규칙은 `main` 컨테이너가 42 종료코드와
737+
함께 실패하면 잡도 실패로 표시되는 것으로
738+
지정한다. 다음은 구체적으로 `main` 컨테이너에 대한 규칙이다.
739+
740+
- 종료 코드 0은 컨테이너가 성공했음을 의미한다.
741+
- 종료 코드 42는 **전체 잡**이 실패했음을 의미한다.
742+
- 다른 모든 종료 코드는 컨테이너 및 전체 파드가 실패했음을
743+
나타낸다. 재시작 횟수인 `backoffLimit`까지 파드가
744+
다시 생성된다. 만약 `backoffLimit`에 도달하면 **전체 잡**이 실패한다.
745+
746+
{{< note >}}
747+
파드 템플릿이 `restartPolicy: Never`로 지정되었기 때문에,
748+
kubelet은 특정 파드에서 `main` 컨테이너를 재시작하지 않는다.
749+
{{< /note >}}
750+
751+
`DisruptionTarget` 컨디션을 갖는 실패한 파드에 대해
752+
`Ignore` 동작을 하도록 명시하고 있는 파드 실패 정책의 두 번째 규칙으로 인해,
753+
`.spec.backoffLimit` 재시도 한도 계산 시 파드 중단(disruption)은 횟수에서 제외된다.
754+
755+
{{< note >}}
756+
파드 실패 정책 또는 파드 백오프 실패 정책에 의해 잡이 실패하고,
757+
잡이 여러 파드를 실행중이면, 쿠버네티스는 아직 보류(Pending) 또는
758+
실행(Running) 중인 해당 잡의 모든 파드를 종료한다.
759+
{{< /note >}}
760+
761+
다음은 API의 몇 가지 요구 사항 및 의미이다.
762+
- 잡에 `.spec.podFailurePolicy` 필드를 사용하려면,
763+
`.spec.restartPolicy``Never`로 설정된 잡의 파드 템플릿 또한 정의해야 한다.
764+
- `spec.podFailurePolicy.rules`에 기재한 파드 실패 정책 규칙은 기재한 순서대로 평가된다.
765+
파드 실패 정책 규칙이 파드 실패와 매치되면 나머지 규칙은 무시된다.
766+
파드 실패와 매치되는 파드 실패 정책 규칙이 없으면
767+
기본 처리 방식이 적용된다.
768+
- `spec.podFailurePolicy.rules[*].containerName`에 컨테이너 이름을 지정하여 파드 실패 규칙을 특정 컨테이너에게만 제한할 수 있다.
769+
컨테이너 이름을 지정하지 않으면 파드 실패 규칙은 모든 컨테이너에 적용된다.
770+
컨테이너 이름을 지정한 경우,
771+
이는 파드 템플릿의 컨테이너 또는 `initContainer` 이름 중 하나와 일치해야 한다.
772+
- 파드 실패 정책이 `spec.podFailurePolicy.rules[*].action`과 일치할 때 취할 동작을 지정할 수 있다.
773+
사용 가능한 값은 다음과 같다.
774+
- `FailJob`: 파드의 잡을 `Failed`로 표시하고
775+
실행 중인 모든 파드를 종료해야 함을 나타낸다.
776+
- `Ignore`: `.spec.backoffLimit`에 대한 카운터가 증가하지 않아야 하고
777+
대체 파드가 생성되어야 함을 나타낸다.
778+
- `Count`: 파드가 기본 방식으로 처리되어야 함을 나타낸다.
779+
`.spec.backoffLimit`에 대한 카운터가 증가해야 한다.
780+
698781
### 종료자(finalizers)를 이용한 잡 추적
699782

700783
{{< feature-state for_k8s_version="v1.23" state="beta" >}}
@@ -740,7 +823,7 @@ API 서버에서 파드가 제거되면 이를 알아챈다.
740823
### 베어(Bare) 파드
741824

742825
파드가 실행 중인 노드가 재부팅되거나 실패하면 파드가 종료되고
743-
다시 시작되지 않는다. 그러나 잡은 종료된 항목을 대체하기 위해 새 파드를 생성한다.
826+
재시작되지 않는다. 그러나 잡은 종료된 항목을 대체하기 위해 새 파드를 생성한다.
744827
따라서, 애플리케이션에 단일 파드만 필요한 경우에도 베어 파드 대신
745828
잡을 사용하는 것을 권장한다.
746829

@@ -783,3 +866,4 @@ API 서버에서 파드가 제거되면 이를 알아챈다.
783866
오브젝트 정의를 읽은다.
784867
* 스케줄을 기반으로 실행되는 일련의 잡을 정의하는데 사용할 수 있고, 유닉스 툴 `cron`과 유사한
785868
[`CronJob`](/ko/docs/concepts/workloads/controllers/cron-jobs/)에 대해 읽는다.
869+
* 단계별로 구성된 [예제](/docs/tasks/job/pod-failure-policy/)를 통해, `podFailurePolicy`를 사용하여 재시도 가능 및 재시도 불가능 파드의 실패 처리를 하기위한 구성 방법을 연습한다.

content/ko/docs/concepts/workloads/controllers/statefulset.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ spec:
9494
terminationGracePeriodSeconds: 10
9595
containers:
9696
- name: nginx
97-
image: k8s.gcr.io/nginx-slim:0.8
97+
image: registry.k8s.io/nginx-slim:0.8
9898
ports:
9999
- containerPort: 80
100100
name: web
@@ -138,13 +138,12 @@ spec:
138138

139139
### 최소 준비 시간 초 {#minimum-ready-seconds}
140140

141-
{{< feature-state for_k8s_version="v1.23" state="beta" >}}
141+
{{< feature-state for_k8s_version="v1.25" state="stable" >}}
142142

143143
`.spec.minReadySeconds` 는 파드가 '사용 가능(available)'이라고 간주될 수 있도록 파드의 모든 컨테이너가
144-
문제 없이 실행되어야 하는 최소 시간(초)을 나타내는 선택적인 필드이다. 이 기능은 베타이며 기본적으로 활성화되어
145-
있음에 유의한다. 이 기능을 사용하지 않으려면
146-
StatefulSetMinReadySeconds 플래그를 설정 해제한다.
147-
이 필드의 기본값은 0이다(이 경우, 파드가 Ready 상태가 되면 바로 사용 가능하다고 간주된다.)
144+
문제 없이 실행되고 준비되는 최소 시간(초)을 나타내는 선택적인 필드이다.
145+
[롤링 업데이트](#롤링-업데이트) 전략을 사용할 때 롤아웃 진행 상황을 확인하는 데 사용된다.
146+
이 필드의 기본값은 0이다(이 경우, 파드가 Ready 상태가 되면 바로 사용 가능하다고 간주된다.)
148147
파드가 언제 사용 가능하다고 간주되는지에 대한 자세한 정보는
149148
[컨테이너 프로브(probe)](/ko/docs/concepts/workloads/pods/pod-lifecycle/#컨테이너-프로브-probe)를 참고한다.
150149

content/ko/docs/concepts/workloads/pods/_index.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,23 @@ term_id="deployment" >}} 또는 {{< glossary_tooltip text="잡(Job)" term_id="jo
138138
파드 오브젝트에 대한 매니페스트를 만들 때, 지정된 이름이 유효한
139139
[DNS 서브도메인 이름](/ko/docs/concepts/overview/working-with-objects/names/#dns-서브도메인-이름)인지 확인한다.
140140

141+
### 파드 OS
142+
143+
{{< feature-state state="stable" for_k8s_version="v1.25" >}}
144+
145+
파드를 실행할 때 OS를 표시하려면 `.spec.os.name` 필드를 `windows` 또는
146+
`linux`로 설정해야 한다. 이 두 가지 운영체제는 현재 쿠버네티스에서 지원되는
147+
유일한 운영체제이다. 앞으로 이 목록이 확장될 수 있다.
148+
149+
쿠버네티스 v{{< skew currentVersion >}}에서, 이 필드에 대해 설정한 값은
150+
파드의 {{< glossary_tooltip text="스케줄링" term_id="kube-scheduler" >}}에 영향을 미치지 않는다.
151+
`.spec.os.name`을 설정하면 파드 검증 시
152+
OS를 식별하는 데 도움이 된다.
153+
kubelet은
154+
자신이 실행되고 있는 노드의 운영체제와
155+
동일하지 않은 파드 OS가 명시된 파드의 실행을 거부한다.
156+
[파드 시큐리티 스탠다드](/ko/docs/concepts/security/pod-security-standards/)도 이 필드를 사용하여 해당 운영체제와 관련이 없는 정책을 시행하지 않도록 한다.
157+
141158
### 파드와 컨트롤러
142159

143160
워크로드 리소스를 사용하여 여러 파드를 만들고 관리할 수 있다. 리소스에 대한 컨트롤러는

content/ko/docs/concepts/workloads/pods/disruptions.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,44 @@ drain 커멘드는 `pod-b` 를 축출하는데 성공했다.
227227
- 컨트롤러의 유형
228228
- 클러스터의 리소스 용량
229229

230+
## 파드 중단 조건 {#pod-disruption-conditions}
231+
232+
{{< feature-state for_k8s_version="v1.25" state="alpha" >}}
233+
234+
{{< note >}}
235+
클러스터에서 이 동작을 사용하려면 `PodDisruptionConditions`
236+
[기능 게이트](/ko/docs/reference/command-line-tools-reference/feature-gates/)
237+
활성화해야 한다.
238+
{{< /note >}}
239+
240+
이 기능이 활성화되면, 파드 전용 `DisruptionTarget` [컨디션](/ko/docs/concepts/workloads/pods/pod-lifecycle/#파드의-컨디션)이 추가되어
241+
{{<glossary_tooltip term_id="disruption" text="중단(disruption)">}}으로 인해 파드가 삭제될 예정임을 나타낸다.
242+
추가로 컨디션의 `reason` 필드는
243+
파드 종료에 대한 다음 원인 중 하나를 나타낸다.
244+
245+
`PreemptionByKubeScheduler`
246+
: 파드는 더 높은 우선순위를 가진 새 파드를 수용하기 위해 스케줄러에 의해 {{<glossary_tooltip term_id="preemption" text="선점(preempted)">}}된다. 자세한 내용은 [파드 우선순위(priority)와 선점(preemption)](/ko/docs/concepts/scheduling-eviction/pod-priority-preemption/)을 참조해보자.
247+
248+
`DeletionByTaintManager`
249+
: 허용하지 않는 `NoExecute` 테인트(taint) 때문에 파드가 테인트 매니저(`kube-controller-manager` 내의 노드 라이프사이클 컨트롤러의 일부)에 의해 삭제될 예정이다. {{<glossary_tooltip term_id="taint" text="taint">}} 기반 축출을 참조해보자.
250+
251+
`EvictionByEvictionAPI`
252+
: 파드에 {{<glossary_tooltip term_id="api-eviction" text="쿠버네티스 API를 이용한 축출">}}이 표시되었다.
253+
254+
`DeletionByPodGC`
255+
: 더 이상 존재하지 않는 노드에 바인딩된 파드는 [파드의 가비지 콜렉션](/ko/docs/concepts/workloads/pods/pod-lifecycle/#pod-garbage-collection)에 의해 삭제될 예정이다.
256+
257+
{{< note >}}
258+
파드 중단은 중단될 수 있다. 컨트롤 플레인은 동일한 파드의 중단을
259+
계속 다시 시도하지만, 파드의 중단이 보장되지는 않는다. 결과적으로,
260+
`DisruptionTarget` 컨디션이 파드에 추가될 수 있지만, 해당 파드는 사실상
261+
삭제되지 않았을 수 있다. 이러한 상황에서는, 일정 시간이 지난 뒤에
262+
파드 중단 상태가 해제된다.
263+
{{< /note >}}
264+
265+
잡(또는 크론잡(CronJob))을 사용할 때, 이러한 파드 중단 조건을 잡의
266+
[파드 실패 정책](/ko/docs/concepts/workloads/controllers/job#pod-failure-policy)의 일부로 사용할 수 있다.
267+
230268
## 클러스터 소유자와 애플리케이션 소유자의 역할 분리
231269

232270
보통 클러스터 매니저와 애플리케이션 소유자는

content/ko/docs/concepts/workloads/pods/downward-api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ description: >
2222

2323
쿠버네티스에는 실행 중인 컨테이너에 파드 및 컨테이너 필드를 노출하는 두 가지 방법이 있다.
2424

25-
* [환경 변수](/ko/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#다운워드-downward-api)
25+
* [환경 변수](/ko/docs/tasks/inject-data-application/environment-variable-expose-pod-information/)
2626
* [볼륨 파일](/ko/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/)
2727

2828
파드 및 컨테이너 필드를 노출하는 이 두 가지 방법을
@@ -127,5 +127,5 @@ CPU와 메모리에 할당 가능한 최댓값을 노출시킨다.
127127
자세한 정보는 [`다운워드API` 볼륨](/ko/docs/concepts/storage/volumes/#downwardapi)를 참고한다.
128128

129129
다운워드 API를 사용하여 파드 및 컨테이너 정보를 노출시켜보자.
130-
* [환경 변수](/ko/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#다운워드-downward-api)
130+
* [환경 변수](/ko/docs/tasks/inject-data-application/environment-variable-expose-pod-information/)
131131
* [볼륨 파일](/ko/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/)

content/ko/docs/concepts/workloads/pods/ephemeral-containers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ weight: 80
99

1010
<!-- overview -->
1111

12-
{{< feature-state state="beta" for_k8s_version="v1.23" >}}
12+
{{< feature-state state="stable" for_k8s_version="v1.25" >}}
1313

1414
이 페이지는 임시 컨테이너에 대한 개요를 제공한다.
1515
이 특별한 유형의 컨테이너는 트러블슈팅과 같은 사용자가 시작한 작업을 완료하기 위해

0 commit comments

Comments
 (0)