diff --git a/content/ko/docs/contribute/advanced.md b/content/ko/docs/contribute/advanced.md index 2f28ab6acd..fc2e9c5230 100644 --- a/content/ko/docs/contribute/advanced.md +++ b/content/ko/docs/contribute/advanced.md @@ -13,8 +13,6 @@ weight: 98 이해한다고 가정한다. 또한 기여하기 위한 더 많은 방법에 대해 배울 준비가 되었다고 가정한다. 이러한 작업 중 일부에는 Git 커맨드 라인 클라이언트와 다른 도구를 사용해야 한다. - - ## 개선 제안 @@ -29,8 +27,8 @@ website 스타일, 풀 리퀘스트 리뷰와 병합 프로세스 또는 문서 작성의 다른 측면을 개선하기 위한 아이디어가 있을 수 있다. 투명성을 극대화하려면, 이러한 유형의 제안을 SIG Docs 회의나 [kubernetes-sig-docs 메일링리스트](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)에서 논의해야 한다. -또한, 현재의 작업 방식과 과거의 결정이 왜 획기적인 변경을 -제안하기 전에 결정되었는지에 대한 맥락을 이해하는 데 실제로 +또한, 획기적인 변경을 제안하기 전에, 현재의 작업 방식과 과거의 결정이 +어떻게 정해졌는지에 대한 맥락을 이해하는 데 실제로 도움이 될 수 있다. 현재의 문서 작업이 어떻게 진행되는지에 대한 질문의 답변을 얻는 가장 빠른 방법은 [kubernetes.slack.com](https://kubernetes.slack.com)의 `#sig-docs` 슬랙 채널에 문의하는 것이다. @@ -84,7 +82,7 @@ SIG Docs [승인자](/ko/docs/contribute/participate/roles-and-responsibilities/ 새로운 기여자 홍보대사의 책임은 다음과 같다. - [#sig-docs 슬랙 채널](https://kubernetes.slack.com)에서 새로운 기여자의 질문을 모니터링한다. -- PR 랭글러와 협력하여 새로운 기여자에게 좋은 첫 이슈를 파악한다. +- PR 랭글러와 협력하여 새로운 기여자에게 [좋은 첫 이슈](https://kubernetes.dev/docs/guide/help-wanted/#good-first-issue)를 파악한다. - 문서 리포지터리에 대한 처음 몇 번의 PR을 통해 새로운 기여자를 멘토링한다. - 새로운 기여자가 쿠버네티스 멤버가 되기 위해 필요한 보다 복잡한 PR을 작성하도록 지원한다. - 쿠버네티스 멤버 가입을 위해 [기여자를 후원](/ko/docs/contribute/advanced/#새로운-기여자-후원)한다. diff --git a/content/ko/docs/contribute/new-content/_index.md b/content/ko/docs/contribute/new-content/_index.md index 5abe67265c..9020b80f1f 100644 --- a/content/ko/docs/contribute/new-content/_index.md +++ b/content/ko/docs/contribute/new-content/_index.md @@ -56,12 +56,14 @@ prior to submitting new content. The information details follow. - 마크다운(Markdown)으로 쿠버네티스 문서를 작성하고 [Hugo](https://gohugo.io/)를 사용하여 쿠버네티스 사이트를 구축한다. +- 쿠버네티스 문서는 마크다운 스펙으로 [CommonMark](https://commonmark.org/)를 사용한다. - 소스는 [GitHub](https://github.com/kubernetes/website)에 있다. 쿠버네티스 문서는 `/content/ko/docs/` 에서 찾을 수 있다. 일부 참조 문서는 `update-imported-docs/` 디렉터리의 스크립트를 이용하여 자동으로 생성된다. -- [페이지 템플릿](/docs/contribute/style/page-content-types/)은 - Hugo에서 문서 콘텐츠의 프리젠테이션을 제어한다. +- [페이지 콘텐츠 타입](/docs/contribute/style/page-content-types/)은 + Hugo에서 문서 콘텐츠가 표시되는 방식을 기술한다. +- 쿠버네티스 문서 기여 시 [Docsy shortcodes](https://www.docsy.dev/docs/adding-content/shortcodes/) 또는 [custom Hugo shortcodes](/docs/contribute/style/hugo-shortcodes/)를 사용할 수 있다. - 표준 Hugo 단축코드(shortcode) 이외에도 설명서에서 여러 [사용자 정의 Hugo 단축코드](/docs/contribute/style/hugo-shortcodes/)를 사용하여 콘텐츠 표시를 제어한다. diff --git a/content/ko/docs/contribute/participate/pr-wranglers.md b/content/ko/docs/contribute/participate/pr-wranglers.md index 674696ee90..424f9b0227 100644 --- a/content/ko/docs/contribute/participate/pr-wranglers.md +++ b/content/ko/docs/contribute/participate/pr-wranglers.md @@ -26,9 +26,16 @@ PR 랭글러는 일주일 간 매일 다음의 일을 해야 한다. - 내용을 확인해야 하는 경우, PR에 코멘트를 달고 자세한 내용을 요청한다. - 관련 `sig/` 레이블을 할당한다. - 필요한 경우, 파일의 머리말(front matter)에 있는 `reviewers:` 블록의 리뷰어를 할당한다. + - PR에 `@kubernetes/-pr-reviews` 코멘트를 남겨 [SIG](https://github.com/kubernetes/community/blob/master/sig-list.md)에 리뷰를 요청할 수도 있다. - PR을 병합하려면 승인을 위한 `approve` 코멘트를 사용한다. 준비가 되면 PR을 병합한다. - 병합하기 전에 PR은 다른 멤버의 `/lgtm` 코멘트를 받아야 한다. - [스타일 지침]을 충족하지 않지만 기술적으로는 정확한 PR은 수락하는 것을 고려한다. 스타일 문제를 해결하는 `good first issue` 레이블의 새로운 이슈를 올리면 된다. + - [스타일 지침](/docs/contribute/style/style-guide/)을 충족하지 않지만 + 기술적으로는 정확한 PR은 수락하는 쪽으로 고려한다. + 변경 사항을 승인하면, 스타일 이슈에 대한 새 이슈를 연다. + 보통 이러한 스타일 수정 이슈는 [좋은 첫 이슈](https://kubernetes.dev/docs/guide/help-wanted/#good-first-issue)로 지정할 수 있다. + - 스타일 수정 이슈를 좋은 첫 이슈로 표시하면 비교적 쉬운 작업을 공급하여 + 새로운 기여자가 참여하는 것을 장려할 수 있다. ### 랭글러를 위해 도움이 되는 GitHub 쿼리 diff --git a/content/ko/docs/contribute/review/for-approvers.md b/content/ko/docs/contribute/review/for-approvers.md index ff1c33f383..691530b98e 100644 --- a/content/ko/docs/contribute/review/for-approvers.md +++ b/content/ko/docs/contribute/review/for-approvers.md @@ -121,7 +121,7 @@ PR에서 사용할 수 있는 명령의 전체 목록을 보려면 `priority/important-longterm` | 6개월 이내에 이 작업을 수행한다. `priority/backlog` | 무기한 연기할 수 있다. 자원이 있을 때 수행한다. `priority/awaiting-more-evidence` | 잠재적으로 좋은 이슈에 대해 잊지 않도록 표시한다. - `help` 또는 `good first issue` | 쿠버네티스나 SIG Docs 경험이 거의 없는 사람에게 적합하다. 자세한 내용은 [도움이 필요함 및 좋은 첫 번째 이슈 레이블](https://github.com/kubernetes/community/blob/master/contributors/guide/help-wanted.md)을 참고한다. + `help` 또는 `good first issue` | 쿠버네티스나 SIG Docs 경험이 거의 없는 사람에게 적합하다. 자세한 내용은 [도움이 필요함 및 좋은 첫 번째 이슈 레이블](https://kubernetes.dev/docs/guide/help-wanted/)을 참고한다. {{< /table >}} diff --git a/content/ko/docs/reference/_index.md b/content/ko/docs/reference/_index.md index 761c45b34f..3e986feda5 100644 --- a/content/ko/docs/reference/_index.md +++ b/content/ko/docs/reference/_index.md @@ -73,10 +73,10 @@ TCP/UDP 스트림 포워딩이나 백-엔드 집합에 걸쳐서 라운드-로 사용/관리하는 데에 중요하지만, 이들 API의 대부분은 아직 API 서버가 제공하지 않는다. -* [kube-apiserver 환경설정 (v1alpha1)](/docs/reference/config-api/apiserver-config.v1alpha1/) +* [kube-apiserver 환경설정 (v1beta1)](/docs/reference/config-api/apiserver-config.v1beta1/) * [kubelet 환경설정 (v1beta1)](/docs/reference/config-api/kubelet-config.v1beta1/) -* [kube-scheduler 환경설정 (v1beta1)](/docs/reference/config-api/kube-scheduler-config.v1beta1/) * [kube-scheduler 환경설정 (v1beta2)](/docs/reference/config-api/kube-scheduler-config.v1beta2/) +* [kube-scheduler 환경설정 (v1beta3)](/docs/reference/config-api/kube-scheduler-config.v1beta3/) * [kube-scheduler 정책 레퍼런스 (v1)](/docs/reference/config-api/kube-scheduler-policy-config.v1/) * [kube-proxy 환경설정 (v1alpha1)](/docs/reference/config-api/kube-proxy-config.v1alpha1/) * [`audit.k8s.io/v1` API](/docs/reference/config-api/apiserver-audit.v1/) diff --git a/content/ko/docs/reference/access-authn-authz/authorization.md b/content/ko/docs/reference/access-authn-authz/authorization.md index 115966e077..cca6ea66b9 100644 --- a/content/ko/docs/reference/access-authn-authz/authorization.md +++ b/content/ko/docs/reference/access-authn-authz/authorization.md @@ -134,7 +134,7 @@ kubectl auth can-i list secrets --namespace dev --as dave no ``` -유사하게, `dev` 네임스페이스의 `dev-sa` 서비스 어카운트가 +유사하게, `dev` 네임스페이스의 `dev-sa` 서비스어카운트가 `target` 네임스페이스의 파드 목록을 볼 수 있는지 확인하려면 다음을 실행한다. ```bash diff --git a/content/ko/docs/reference/command-line-tools-reference/feature-gates.md b/content/ko/docs/reference/command-line-tools-reference/feature-gates.md index a10cc84484..a4e2e7fb64 100644 --- a/content/ko/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/ko/docs/reference/command-line-tools-reference/feature-gates.md @@ -71,20 +71,23 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `CSIMigration` | `false` | 알파 | 1.14 | 1.16 | | `CSIMigration` | `true` | 베타 | 1.17 | | | `CSIMigrationAWS` | `false` | 알파 | 1.14 | | -| `CSIMigrationAWS` | `false` | 베타 | 1.17 | | +| `CSIMigrationAWS` | `false` | 베타 | 1.17 | 1.22 | +| `CSIMigrationAWS` | `true` | 베타 | 1.23 | | | `CSIMigrationAzureDisk` | `false` | 알파 | 1.15 | 1.18 | -| `CSIMigrationAzureDisk` | `false` | 베타 | 1.19 | | +| `CSIMigrationAzureDisk` | `false` | 베타 | 1.19 | 1.22 | +| `CSIMigrationAzureDisk` | `true` | 베타 | 1.23 | | | `CSIMigrationAzureFile` | `false` | 알파 | 1.15 | 1.19 | | `CSIMigrationAzureFile` | `false` | 베타 | 1.21 | | | `CSIMigrationGCE` | `false` | 알파 | 1.14 | 1.16 | -| `CSIMigrationGCE` | `false` | 베타 | 1.17 | | +| `CSIMigrationGCE` | `false` | 베타 | 1.17 | 1.22 | +| `CSIMigrationGCE` | `true` | 베타 | 1.23 | | | `CSIMigrationOpenStack` | `false` | 알파 | 1.14 | 1.17 | | `CSIMigrationOpenStack` | `true` | 베타 | 1.18 | | | `CSIMigrationvSphere` | `false` | 베타 | 1.19 | | +| `CSIMigrationPortworx` | `false` | 알파 | 1.23 | | +| `CSIMigrationRBD` | `false` | 알파 | 1.23 | | | `CSIStorageCapacity` | `false` | 알파 | 1.19 | 1.20 | | `CSIStorageCapacity` | `true` | 베타 | 1.21 | | -| `CSIVolumeFSGroupPolicy` | `false` | 알파 | 1.19 | 1.19 | -| `CSIVolumeFSGroupPolicy` | `true` | 베타 | 1.20 | | | `CSIVolumeHealth` | `false` | 알파 | 1.21 | | | `CSRDuration` | `true` | 베타 | 1.22 | | | `ConfigurableFSGroupPolicy` | `false` | 알파 | 1.18 | 1.19 | @@ -92,6 +95,7 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `ControllerManagerLeaderMigration` | `false` | 알파 | 1.21 | 1.21 | | `ControllerManagerLeaderMigration` | `true` | 베타 | 1.22 | | | `CustomCPUCFSQuotaPeriod` | `false` | 알파 | 1.12 | | +| `CustomResourceValidationExpressions` | `false` | 알파 | 1.23 | | | `DaemonSetUpdateSurge` | `false` | 알파 | 1.21 | 1.21 | | `DaemonSetUpdateSurge` | `true` | 베타 | 1.22 | | | `DefaultPodTopologySpread` | `false` | 알파 | 1.19 | 1.19 | @@ -108,7 +112,8 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `EfficientWatchResumption` | `true` | 베타 | 1.21 | | | `EndpointSliceTerminatingCondition` | `false` | 알파 | 1.20 | 1.21 | | `EndpointSliceTerminatingCondition` | `true` | 베타 | 1.22 | | -| `EphemeralContainers` | `false` | 알파 | 1.16 | | +| `EphemeralContainers` | `false` | 알파 | 1.16 | 1.22 | +| `EphemeralContainers` | `true` | 베타 | 1.23 | | | `ExpandCSIVolumes` | `false` | 알파 | 1.14 | 1.15 | | `ExpandCSIVolumes` | `true` | 베타 | 1.16 | | | `ExpandedDNSConfig` | `false` | 알파 | 1.22 | | @@ -117,25 +122,24 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `ExpandPersistentVolumes` | `false` | 알파 | 1.8 | 1.10 | | `ExpandPersistentVolumes` | `true` | 베타 | 1.11 | | | `ExperimentalHostUserNamespaceDefaulting` | `false` | 베타 | 1.5 | | -| `GenericEphemeralVolume` | `false` | 알파 | 1.19 | 1.20 | -| `GenericEphemeralVolume` | `true` | 베타 | 1.21 | | | `GracefulNodeShutdown` | `false` | 알파 | 1.20 | 1.20 | | `GracefulNodeShutdown` | `true` | 베타 | 1.21 | | +| `GRPCContainerProbe` | `false` | 알파 | 1.23 | | | `HPAContainerMetrics` | `false` | 알파 | 1.20 | | | `HPAScaleToZero` | `false` | 알파 | 1.16 | | +| `IdentifyPodOS` | `false` | 알파 | 1.23 | | | `IndexedJob` | `false` | 알파 | 1.21 | 1.21 | | `IndexedJob` | `true` | 베타 | 1.22 | | -| `IngressClassNamespacedParams` | `false` | 알파 | 1.21 | 1.21 | -| `IngressClassNamespacedParams` | `true` | 베타 | 1.22 | | | `InTreePluginAWSUnregister` | `false` | 알파 | 1.21 | | | `InTreePluginAzureDiskUnregister` | `false` | 알파 | 1.21 | | | `InTreePluginAzureFileUnregister` | `false` | 알파 | 1.21 | | | `InTreePluginGCEUnregister` | `false` | 알파 | 1.21 | | | `InTreePluginOpenStackUnregister` | `false` | 알파 | 1.21 | | | `InTreePluginvSphereUnregister` | `false` | 알파 | 1.21 | | -| `IPv6DualStack` | `false` | 알파 | 1.15 | 1.20 | -| `IPv6DualStack` | `true` | 베타 | 1.21 | | -| `JobTrackingWithFinalizers` | `false` | 알파 | 1.22 | | +| `JobMutableNodeSchedulingDirectives` | `true` | 베타 | 1.23 | | +| `JobReadyPods` | `false` | 알파 | 1.23 | | +| `JobTrackingWithFinalizers` | `false` | 알파 | 1.22 | 1.22 | +| `JobTrackingWithFinalizers` | `true` | 베타 | 1.23 | | | `KubeletCredentialProviders` | `false` | 알파 | 1.20 | | | `KubeletInUserNamespace` | `false` | 알파 | 1.22 | | | `KubeletPodResourcesGetAllocatable` | `false` | 알파 | 1.21 | | @@ -159,7 +163,8 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `PodAffinityNamespaceSelector` | `true` | 베타 | 1.22 | | | `PodOverhead` | `false` | 알파 | 1.16 | 1.17 | | `PodOverhead` | `true` | 베타 | 1.18 | | -| `PodSecurity` | `false` | 알파 | 1.22 | | +| `PodSecurity` | `false` | 알파 | 1.22 | 1.22 | +| `PodSecurity` | `true` | 베타 | 1.23 | | | `PreferNominatedNode` | `false` | 알파 | 1.21 | 1.21 | | `PreferNominatedNode` | `true` | 베타 | 1.22 | | | `ProbeTerminationGracePeriod` | `false` | 알파 | 1.21 | 1.21 | @@ -168,6 +173,7 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `ProxyTerminatingEndpoints` | `false` | 알파 | 1.22 | | | `QOSReserved` | `false` | 알파 | 1.11 | | | `ReadWriteOncePod` | `false` | 알파 | 1.22 | | +| `RecoverVolumeExpansionFailure` | `false` | 알파 | 1.23 | | | `RemainingItemCount` | `false` | 알파 | 1.15 | 1.15 | | `RemainingItemCount` | `true` | 베타 | 1.16 | | | `RemoveSelfLink` | `false` | 알파 | 1.16 | 1.19 | @@ -183,22 +189,22 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `ServiceLoadBalancerClass` | `true` | 베타 | 1.22 | | | `SizeMemoryBackedVolumes` | `false` | 알파 | 1.20 | 1.21 | | `SizeMemoryBackedVolumes` | `true` | 베타 | 1.22 | | -| `StatefulSetMinReadySeconds` | `false` | 알파 | 1.22 | | +| `StatefulSetMinReadySeconds` | `false` | 알파 | 1.22 | 1.22 | +| `StatefulSetMinReadySeconds` | `true` | 베타 | 1.23 | | | `StorageVersionAPI` | `false` | 알파 | 1.20 | | | `StorageVersionHash` | `false` | 알파 | 1.14 | 1.14 | | `StorageVersionHash` | `true` | 베타 | 1.15 | | | `SuspendJob` | `false` | 알파 | 1.21 | 1.21 | | `SuspendJob` | `true` | 베타 | 1.22 | | -| `TTLAfterFinished` | `false` | 알파 | 1.12 | 1.20 | -| `TTLAfterFinished` | `true` | 베타 | 1.21 | | -| `TopologyAwareHints` | `false` | 알파 | 1.21 | | +| `TopologyAwareHints` | `false` | 알파 | 1.21 | 1.22 | +| `TopologyAwareHints` | `true` | 베타 | 1.23 | | | `TopologyManager` | `false` | 알파 | 1.16 | 1.17 | | `TopologyManager` | `true` | 베타 | 1.18 | | | `VolumeCapacityPriority` | `false` | 알파 | 1.21 | - | | `WinDSR` | `false` | 알파 | 1.14 | | | `WinOverlay` | `false` | 알파 | 1.14 | 1.19 | | `WinOverlay` | `true` | 베타 | 1.20 | | -| `WindowsHostProcessContainers` | `false` | 알파 | 1.22 | | +| `WindowsHostProcessContainers` | `false` | 베타 | 1.23 | | {{< /table >}} ### GA 또는 사용 중단된 기능을 위한 기능 게이트 @@ -227,6 +233,7 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `BoundServiceAccountTokenVolume` | `false` | 알파 | 1.13 | 1.20 | | `BoundServiceAccountTokenVolume` | `true` | 베타 | 1.21 | 1.21 | | `BoundServiceAccountTokenVolume` | `true` | GA | 1.22 | - | +| `ConfigurableFSGroupPolicy` | `true` | GA | 1.23 | | | `CRIContainerLogRotation` | `false` | 알파 | 1.10 | 1.10 | | `CRIContainerLogRotation` | `true` | 베타 | 1.11 | 1.20 | | `CRIContainerLogRotation` | `true` | GA | 1.21 | - | @@ -257,6 +264,9 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `CSIServiceAccountToken` | `false` | 알파 | 1.20 | 1.20 | | `CSIServiceAccountToken` | `true` | 베타 | 1.21 | 1.21 | | `CSIServiceAccountToken` | `true` | GA | 1.22 | | +| `CSIVolumeFSGroupPolicy` | `false` | 알파 | 1.19 | 1.19 | +| `CSIVolumeFSGroupPolicy` | `true` | 베타 | 1.20 | 1.22 | +| `CSIVolumeFSGroupPolicy` | `true` | GA | 1.23 | | | `CronJobControllerV2` | `false` | 알파 | 1.20 | 1.20 | | `CronJobControllerV2` | `true` | 베타 | 1.21 | 1.21 | | `CronJobControllerV2` | `true` | GA | 1.22 | - | @@ -311,6 +321,9 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `ExternalPolicyForExternalIP` | `true` | GA | 1.18 | - | | `GCERegionalPersistentDisk` | `true` | 베타 | 1.10 | 1.12 | | `GCERegionalPersistentDisk` | `true` | GA | 1.13 | - | +| `GenericEphemeralVolume` | `false` | 알파 | 1.19 | 1.20 | +| `GenericEphemeralVolume` | `true` | 베타 | 1.21 | 1.22 | +| `GenericEphemeralVolume` | `true` | GA | 1.23 | - | | `HugePageStorageMediumSize` | `false` | 알파 | 1.18 | 1.18 | | `HugePageStorageMediumSize` | `true` | 베타 | 1.19 | 1.21 | | `HugePageStorageMediumSize` | `true` | GA | 1.22 | - | @@ -325,8 +338,14 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `ImmutableEphemeralVolumes` | `false` | 알파 | 1.18 | 1.18 | | `ImmutableEphemeralVolumes` | `true` | 베타 | 1.19 | 1.20 | | `ImmutableEphemeralVolumes` | `true` | GA | 1.21 | | +| `IngressClassNamespacedParams` | `false` | 알파 | 1.21 | 1.21 | +| `IngressClassNamespacedParams` | `true` | 베타 | 1.22 | 1.22 | +| `IngressClassNamespacedParams` | `true` | GA | 1.23 | - | | `Initializers` | `false` | 알파 | 1.7 | 1.13 | | `Initializers` | - | 사용중단 | 1.14 | - | +| `IPv6DualStack` | `false` | 알파 | 1.15 | 1.20 | +| `IPv6DualStack` | `true` | 베타 | 1.21 | 1.22 | +| `IPv6DualStack` | `true` | GA | 1.23 | - | | `KubeletConfigFile` | `false` | 알파 | 1.8 | 1.9 | | `KubeletConfigFile` | - | 사용중단 | 1.10 | - | | `KubeletPluginsWatcher` | `false` | 알파 | 1.11 | 1.11 | @@ -356,6 +375,7 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `PersistentLocalVolumes` | `false` | 알파 | 1.7 | 1.9 | | `PersistentLocalVolumes` | `true` | 베타 | 1.10 | 1.13 | | `PersistentLocalVolumes` | `true` | GA | 1.14 | - | +| `PodAndContainerStatsFromCRI` | `false` | 알파 | 1.23 | | | `PodDisruptionBudget` | `false` | 알파 | 1.3 | 1.4 | | `PodDisruptionBudget` | `true` | 베타 | 1.5 | 1.20 | | `PodDisruptionBudget` | `true` | GA | 1.21 | - | @@ -435,6 +455,9 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 | `SupportPodPidsLimit` | `true` | GA | 1.20 | - | | `Sysctls` | `true` | 베타 | 1.11 | 1.20 | | `Sysctls` | `true` | GA | 1.21 | | +| `TTLAfterFinished` | `false` | 알파 | 1.12 | 1.20 | +| `TTLAfterFinished` | `true` | 베타 | 1.21 | 1.22 | +| `TTLAfterFinished` | `true` | GA | 1.23 | - | | `TaintBasedEvictions` | `false` | 알파 | 1.6 | 1.12 | | `TaintBasedEvictions` | `true` | 베타 | 1.13 | 1.17 | | `TaintBasedEvictions` | `true` | GA | 1.18 | - | @@ -615,6 +638,13 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 GCE-PD 인-트리 플러그인에서 PD CSI 플러그인으로 라우팅할 수 있다. 노드에 PD CSI 플러그인이 설치 및 구성이 되어 있지 않은 경우 인-트리 GCE 플러그인으로 폴백을 지원한다. CSIMigration 기능 플래그가 필요하다. +- `CSIMigrationRBD`: RBD 트리 내(in-tree) 플러그인으로 가는 볼륨 작업을 + Ceph RBD CSI 플러그인으로 라우트하는 심(shim)과 변환 로직을 활성화한다. + 클러스터에 CSIMigration 및 CSIMigrationRBD 기능 플래그가 활성화되어 있어야 하고, + Ceph CSI 플러그인이 설치 및 설정되어 있어야 한다. + 이 플래그는 트리 내(in-tree) RBD 플러그인 등록을 금지시키는 + `InTreePluginRBDUnregister` 기능 플래그에 의해 + 사용 중단되었다. - `CSIMigrationGCEComplete`: kubelet 및 볼륨 컨트롤러에서 GCE-PD 인-트리 플러그인 등록을 중지하고 shim 및 변환 로직을 통해 볼륨 작업을 GCE-PD 인-트리 플러그인에서 PD CSI 플러그인으로 라우팅할 수 있다. @@ -641,6 +671,9 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 CSIMigrationvSphere 기능 플래그가 활성화되고 vSphere CSI 플러그인이 클러스터의 모든 노드에 설치 및 구성이 되어 있어야 한다. 이 플래그는 인-트리 vsphere 플러그인의 등록을 막는 `InTreePluginvSphereUnregister` 기능 플래그로 인해 더 이상 사용되지 않는다. +- `CSIMigrationPortworx`: Portworx 트리 내(in-tree) 플러그인으로 가는 볼륨 작업을 + Portworx CSI 플러그인으로 라우트하는 심(shim)과 변환 로직을 활성화한다. + Portworx CSI 드라이버가 설치 및 설정되어 있어야 하며, kube-controller-manager와 kubelet 환경 설정 내에 `CSIMigrationPortworx=true` 기능 게이트가 활성화되어 있어야 한다. - `CSINodeInfo`: csi.storage.k8s.io에서 CSINodeInfo API 오브젝트와 관련된 모든 로직을 활성화한다. - `CSIPersistentVolume`: [CSI (Container Storage Interface)](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md) 호환 볼륨 플러그인을 통해 프로비저닝된 볼륨을 감지하고 @@ -669,6 +702,7 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 동일한 컨트롤러의 버전 1이 선택된다. - `CustomCPUCFSQuotaPeriod`: [kubelet config](/docs/tasks/administer-cluster/kubelet-config-file/)에서 `cpuCFSQuotaPeriod` 를 노드가 변경할 수 있도록 한다. +- `CustomResourceValidationExpressions`: `x-kubernetes-validations` 확장 기능으로 작성된 검증 규칙을 기반으로 커스텀 리소스를 검증하는 표현 언어 검증(expression language validation)을 CRD에 활성화한다. - `CustomPodDNS`: `dnsConfig` 속성을 사용하여 파드의 DNS 설정을 사용자 정의할 수 있다. 자세한 내용은 [파드의 DNS 설정](/ko/docs/concepts/services-networking/dns-pod-service/#pod-dns-config)을 확인한다. @@ -758,7 +792,8 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 파드를 정상적으로 종료하려고 시도한다. 자세한 내용은 [Graceful Node Shutdown](/ko/docs/concepts/architecture/nodes/#그레이스풀-graceful-노드-셧다운)을 참조한다. -- `HPAContainerMetrics`: `HorizontalPodAutoscaler`를 활성화하여 대상 파드의 +- `GRPCContainerProbe`: 활성 프로브(Liveness Probe), 준비성 프로브(Readiness Probe), 스타트업 프로브(Startup Probe)에 대해 gRPC 프로브를 활성화한다. [활성/준비성/스타트업 프로브 구성하기](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-grpc-liveness-probe)를 참조한다. +- `HPAContainerMetrics`: `HorizontalPodAutoscaler` 를 활성화하여 대상 파드의 개별 컨테이너 메트릭을 기반으로 확장한다. - `HPAScaleToZero`: 사용자 정의 또는 외부 메트릭을 사용할 때 `HorizontalPodAutoscaler` 리소스에 대해 `minReplicas` 를 0으로 설정한다. @@ -769,6 +804,8 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 - `HyperVContainer`: 윈도우 컨테이너를 위한 [Hyper-V 격리](https://docs.microsoft.com/ko-kr/virtualization/windowscontainers/manage-containers/hyperv-container) 기능을 활성화한다. +- `IdentifyPodOS`: 파드 OS 필드를 지정할 수 있게 한다. 이를 통해 API 서버 관리 시 파드의 OS를 정석적인 방법으로 알 수 있다. + 쿠버네티스 {{< skew currentVersion >}}에서, `pod.spec.os.name` 에 사용할 수 있는 값은 `windows` 와 `linux` 이다. - `ImmutableEphemeralVolumes`: 안정성과 성능 향상을 위해 개별 시크릿(Secret)과 컨피그맵(ConfigMap)을 변경할 수 없는(immutable) 것으로 표시할 수 있다. - `InTreePluginAWSUnregister`: kubelet 및 볼륨 컨트롤러에 aws-ebs 인-트리 @@ -792,6 +829,13 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 비동기 조정을 허용한다. - `IPv6DualStack`: IPv6을 위한 [이중 스택](/ko/docs/concepts/services-networking/dual-stack/) 기능을 활성화한다. +- `JobMutableNodeSchedulingDirectives`: [잡](/ko/docs/concepts/workloads/controllers/job/)의 + 파드 템플릿에 있는 노드 스케줄링 지시를 업데이트할 수 있게 한다. +- `JobReadyPods`: 파드 [컨디션](/ko/docs/concepts/workloads/pods/pod-lifecycle/#파드의-조건)이 + `Ready`인 파드의 수를 추적하는 기능을 활성화한다. + `Ready`인 파드의 수는 [잡](/ko/docs/concepts/workloads/controllers/job/) 상태의 + [status](/docs/reference/kubernetes-api/workload-resources/job-v1/#JobStatus) + 필드에 기록된다. - `JobTrackingWithFinalizers`: 클러스터에 무제한으로 남아 있는 파드에 의존하지 않고 [잡](/ko/docs/concepts/workloads/controllers/job)의 완료를 추적할 수 있다. 잡 컨트롤러는 완료된 파드를 추적하기 위해 @@ -851,6 +895,8 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 [파드 삭제 비용](/ko/docs/concepts/workloads/controllers/replicaset/#파드-삭제-비용) 기능을 활성화한다. - `PersistentLocalVolumes`: 파드에서 `local` 볼륨 유형의 사용을 활성화한다. `local` 볼륨을 요청하는 경우 파드 어피니티를 지정해야 한다. +- `PodAndContainerStatsFromCRI`: kubelet이 컨테이너와 파드 통계(stat) 정보를 cAdvisor가 아니라 + CRI 컨테이너 런타임으로부터 수집하도록 설정한다. - `PodDisruptionBudget`: [PodDisruptionBudget](/docs/tasks/run-application/configure-pdb/) 기능을 활성화한다. - `PodAffinityNamespaceSelector`: [파드 어피니티 네임스페이스 셀렉터](/ko/docs/concepts/scheduling-eviction/assign-pod-node/#네임스페이스-셀렉터) 기능과 [CrossNamespacePodAffinity](/ko/docs/concepts/policy/resource-quotas/#네임스페이스-간-파드-어피니티-쿼터) 쿼터 범위 기능을 활성화한다. @@ -880,6 +926,10 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면, 기능 (현재 메모리만 해당). - `ReadWriteOncePod`: `ReadWriteOncePod` 퍼시스턴트 볼륨 엑세스 모드를 사용한다. +- `RecoverVolumeExpansionFailure`: 이전에 실패했던 볼륨 확장으로부터 복구할 수 있도록, + 사용자가 PVC를 더 작은 크기로 변경할 수 있도록 한다. + [볼륨 확장 시 오류 복구](/ko/docs/concepts/storage/persistent-volumes/#볼륨-확장-시-오류-복구)에서 + 자세한 사항을 확인한다. - `RemainingItemCount`: API 서버가 [청크(chunking) 목록 요청](/docs/reference/using-api/api-concepts/#retrieving-large-results-sets-in-chunks)에 대한 응답에서 남은 항목 수를 표시하도록 허용한다. diff --git a/content/ko/docs/reference/command-line-tools-reference/kube-proxy.md b/content/ko/docs/reference/command-line-tools-reference/kube-proxy.md index 50a50b8db8..70753d44a4 100644 --- a/content/ko/docs/reference/command-line-tools-reference/kube-proxy.md +++ b/content/ko/docs/reference/command-line-tools-reference/kube-proxy.md @@ -42,20 +42,6 @@ kube-proxy [flags] - ---add-dir-header - - -

true로 되어 있으면, 로그 메시지의 헤더에 파일 디렉터리를 기재한다.

- - - ---alsologtostderr - - -

로그를 파일뿐만 아니라 표준 에러(standard error)로도 출력한다.

- - --azure-container-registry-config string @@ -84,6 +70,13 @@ kube-proxy [flags]

boot-id를 위해 확인할 파일 목록(쉼표로 분리). 가장 먼저 발견되는 항목을 사용한다.

+ +--boot_id_file string     기본값: "/proc/sys/kernel/random/boot_id" + + +

boot-id를 체크할 파일들의 콤마로 구분된 목록. 목록 중에서, 존재하는 첫 번째 파일을 사용한다.

+ + --cleanup @@ -179,7 +172,7 @@ kube-proxy [flags] --feature-gates mapStringBool -

알파/실험 기능에 대한 기능 게이트를 설명하는 키=값 쌍 집합. 옵션은 다음과 같다.
APIListChunking=true|false (BETA - 기본값=true)
APIPriorityAndFairness=true|false (BETA - 기본값=true)
APIResponseCompression=true|false (BETA - 기본값=true)
APIServerIdentity=true|false (ALPHA - 기본값=false)
APIServerTracing=true|false (ALPHA - 기본값=false)
AllAlpha=true|false (ALPHA - 기본값=false)
AllBeta=true|false (BETA - 기본값=false)
AnyVolumeDataSource=true|false (ALPHA - 기본값=false)
AppArmor=true|false (BETA - 기본값=true)
CPUManager=true|false (BETA - 기본값=true)
CPUManagerPolicyOptions=true|false (ALPHA - 기본값=false)
CSIInlineVolume=true|false (BETA - 기본값=true)
CSIMigration=true|false (BETA - 기본값=true)
CSIMigrationAWS=true|false (BETA - 기본값=false)
CSIMigrationAzureDisk=true|false (BETA - 기본값=false)
CSIMigrationAzureFile=true|false (BETA - 기본값=false)
CSIMigrationGCE=true|false (BETA - 기본값=false)
CSIMigrationOpenStack=true|false (BETA - 기본값=true)
CSIMigrationvSphere=true|false (BETA - 기본값=false)
CSIStorageCapacity=true|false (BETA - 기본값=true)
CSIVolumeFSGroupPolicy=true|false (BETA - 기본값=true)
CSIVolumeHealth=true|false (ALPHA - 기본값=false)
CSRDuration=true|false (BETA - 기본값=true)
ConfigurableFSGroupPolicy=true|false (BETA - 기본값=true)
ControllerManagerLeaderMigration=true|false (BETA - 기본값=true)
CustomCPUCFSQuotaPeriod=true|false (ALPHA - 기본값=false)
DaemonSetUpdateSurge=true|false (BETA - 기본값=true)
DefaultPodTopologySpread=true|false (BETA - 기본값=true)
DelegateFSGroupToCSIDriver=true|false (ALPHA - 기본값=false)
DevicePlugins=true|false (BETA - 기본값=true)
DisableAcceleratorUsageMetrics=true|false (BETA - 기본값=true)
DisableCloudProviders=true|false (ALPHA - 기본값=false)
DownwardAPIHugePages=true|false (BETA - 기본값=false)
EfficientWatchResumption=true|false (BETA - 기본값=true)
EndpointSliceTerminatingCondition=true|false (BETA - 기본값=true)
EphemeralContainers=true|false (ALPHA - 기본값=false)
ExpandCSIVolumes=true|false (BETA - 기본값=true)
ExpandInUsePersistentVolumes=true|false (BETA - 기본값=true)
ExpandPersistentVolumes=true|false (BETA - 기본값=true)
ExpandedDNSConfig=true|false (ALPHA - 기본값=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - 기본값=false)
GenericEphemeralVolume=true|false (BETA - 기본값=true)
GracefulNodeShutdown=true|false (BETA - 기본값=true)
HPAContainerMetrics=true|false (ALPHA - 기본값=false)
HPAScaleToZero=true|false (ALPHA - 기본값=false)
IPv6DualStack=true|false (BETA - 기본값=true)
InTreePluginAWSUnregister=true|false (ALPHA - 기본값=false)
InTreePluginAzureDiskUnregister=true|false (ALPHA - 기본값=false)
InTreePluginAzureFileUnregister=true|false (ALPHA - 기본값=false)
InTreePluginGCEUnregister=true|false (ALPHA - 기본값=false)
InTreePluginOpenStackUnregister=true|false (ALPHA - 기본값=false)
InTreePluginvSphereUnregister=true|false (ALPHA - 기본값=false)
IndexedJob=true|false (BETA - 기본값=true)
IngressClassNamespacedParams=true|false (BETA - 기본값=true)
JobTrackingWithFinalizers=true|false (ALPHA - 기본값=false)
KubeletCredentialProviders=true|false (ALPHA - 기본값=false)
KubeletInUserNamespace=true|false (ALPHA - 기본값=false)
KubeletPodResources=true|false (BETA - 기본값=true)
KubeletPodResourcesGetAllocatable=true|false (ALPHA - 기본값=false)
LocalStorageCapacityIsolation=true|false (BETA - 기본값=true)
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - 기본값=false)
LogarithmicScaleDown=true|false (BETA - 기본값=true)
MemoryManager=true|false (BETA - 기본값=true)
MemoryQoS=true|false (ALPHA - 기본값=false)
MixedProtocolLBService=true|false (ALPHA - 기본값=false)
NetworkPolicyEndPort=true|false (BETA - 기본값=true)
NodeSwap=true|false (ALPHA - 기본값=false)
NonPreemptingPriority=true|false (BETA - 기본값=true)
PodAffinityNamespaceSelector=true|false (BETA - 기본값=true)
PodDeletionCost=true|false (BETA - 기본값=true)
PodOverhead=true|false (BETA - 기본값=true)
PodSecurity=true|false (ALPHA - 기본값=false)
PreferNominatedNode=true|false (BETA - 기본값=true)
ProbeTerminationGracePeriod=true|false (BETA - 기본값=false)
ProcMountType=true|false (ALPHA - 기본값=false)
ProxyTerminatingEndpoints=true|false (ALPHA - 기본값=false)
QOSReserved=true|false (ALPHA - 기본값=false)
ReadWriteOncePod=true|false (ALPHA - 기본값=false)
RemainingItemCount=true|false (BETA - 기본값=true)
RemoveSelfLink=true|false (BETA - 기본값=true)
RotateKubeletServerCertificate=true|false (BETA - 기본값=true)
Seccomp기본값=true|false (ALPHA - 기본값=false)
ServiceInternalTrafficPolicy=true|false (BETA - 기본값=true)
ServiceLBNodePortControl=true|false (BETA - 기본값=true)
ServiceLoadBalancerClass=true|false (BETA - 기본값=true)
SizeMemoryBackedVolumes=true|false (BETA - 기본값=true)
StatefulSetMinReadySeconds=true|false (ALPHA - 기본값=false)
StorageVersionAPI=true|false (ALPHA - 기본값=false)
StorageVersionHash=true|false (BETA - 기본값=true)
SuspendJob=true|false (BETA - 기본값=true)
TTLAfterFinished=true|false (BETA - 기본값=true)
TopologyAwareHints=true|false (ALPHA - 기본값=false)
TopologyManager=true|false (BETA - 기본값=true)
VolumeCapacityPriority=true|false (ALPHA - 기본값=false)
WinDSR=true|false (ALPHA - 기본값=false)
WinOverlay=true|false (BETA - 기본값=true)
WindowsHostProcessContainers=true|false (ALPHA - 기본값=false)

+

A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIPriorityAndFairness=true|false (BETA - default=true)
APIResponseCompression=true|false (BETA - default=true)
APIServerIdentity=true|false (ALPHA - default=false)
APIServerTracing=true|false (ALPHA - default=false)
AllAlpha=true|false (ALPHA - default=false)
AllBeta=true|false (BETA - default=false)
AnyVolumeDataSource=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
CPUManager=true|false (BETA - default=true)
CPUManagerPolicyAlphaOptions=true|false (ALPHA - default=false)
CPUManagerPolicyBetaOptions=true|false (BETA - default=true)
CPUManagerPolicyOptions=true|false (BETA - default=true)
CSIInlineVolume=true|false (BETA - default=true)
CSIMigration=true|false (BETA - default=true)
CSIMigrationAWS=true|false (BETA - default=true)
CSIMigrationAzureDisk=true|false (BETA - default=true)
CSIMigrationAzureFile=true|false (BETA - default=false)
CSIMigrationGCE=true|false (BETA - default=true)
CSIMigrationOpenStack=true|false (BETA - default=true)
CSIMigrationPortworx=true|false (ALPHA - default=false)
CSIMigrationvSphere=true|false (BETA - default=false)
CSIStorageCapacity=true|false (BETA - default=true)
CSIVolumeHealth=true|false (ALPHA - default=false)
CSRDuration=true|false (BETA - default=true)
ControllerManagerLeaderMigration=true|false (BETA - default=true)
CustomCPUCFSQuotaPeriod=true|false (ALPHA - default=false)
CustomResourceValidationExpressions=true|false (ALPHA - default=false)
DaemonSetUpdateSurge=true|false (BETA - default=true)
DefaultPodTopologySpread=true|false (BETA - default=true)
DelegateFSGroupToCSIDriver=true|false (BETA - default=true)
DevicePlugins=true|false (BETA - default=true)
DisableAcceleratorUsageMetrics=true|false (BETA - default=true)
DisableCloudProviders=true|false (ALPHA - default=false)
DisableKubeletCloudCredentialProviders=true|false (ALPHA - default=false)
DownwardAPIHugePages=true|false (BETA - default=true)
EfficientWatchResumption=true|false (BETA - default=true)
EndpointSliceTerminatingCondition=true|false (BETA - default=true)
EphemeralContainers=true|false (BETA - default=true)
ExpandCSIVolumes=true|false (BETA - default=true)
ExpandInUsePersistentVolumes=true|false (BETA - default=true)
ExpandPersistentVolumes=true|false (BETA - default=true)
ExpandedDNSConfig=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GRPCContainerProbe=true|false (ALPHA - default=false)
GracefulNodeShutdown=true|false (BETA - default=true)
GracefulNodeShutdownBasedOnPodPriority=true|false (ALPHA - default=false)
HPAContainerMetrics=true|false (ALPHA - default=false)
HPAScaleToZero=true|false (ALPHA - default=false)
HonorPVReclaimPolicy=true|false (ALPHA - default=false)
IdentifyPodOS=true|false (ALPHA - default=false)
InTreePluginAWSUnregister=true|false (ALPHA - default=false)
InTreePluginAzureDiskUnregister=true|false (ALPHA - default=false)
InTreePluginAzureFileUnregister=true|false (ALPHA - default=false)
InTreePluginGCEUnregister=true|false (ALPHA - default=false)
InTreePluginOpenStackUnregister=true|false (ALPHA - default=false)
InTreePluginPortworxUnregister=true|false (ALPHA - default=false)
InTreePluginRBDUnregister=true|false (ALPHA - default=false)
InTreePluginvSphereUnregister=true|false (ALPHA - default=false)
IndexedJob=true|false (BETA - default=true)
JobMutableNodeSchedulingDirectives=true|false (BETA - default=true)
JobReadyPods=true|false (ALPHA - default=false)
JobTrackingWithFinalizers=true|false (BETA - default=true)
KubeletCredentialProviders=true|false (ALPHA - default=false)
KubeletInUserNamespace=true|false (ALPHA - default=false)
KubeletPodResources=true|false (BETA - default=true)
KubeletPodResourcesGetAllocatable=true|false (BETA - default=true)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - default=false)
LogarithmicScaleDown=true|false (BETA - default=true)
MemoryManager=true|false (BETA - default=true)
MemoryQoS=true|false (ALPHA - default=false)
MixedProtocolLBService=true|false (ALPHA - default=false)
NetworkPolicyEndPort=true|false (BETA - default=true)
NodeSwap=true|false (ALPHA - default=false)
NonPreemptingPriority=true|false (BETA - default=true)
OpenAPIEnums=true|false (ALPHA - default=false)
OpenAPIV3=true|false (ALPHA - default=false)
PodAffinityNamespaceSelector=true|false (BETA - default=true)
PodAndContainerStatsFromCRI=true|false (ALPHA - default=false)
PodDeletionCost=true|false (BETA - default=true)
PodOverhead=true|false (BETA - default=true)
PodSecurity=true|false (BETA - default=true)
PreferNominatedNode=true|false (BETA - default=true)
ProbeTerminationGracePeriod=true|false (BETA - default=false)
ProcMountType=true|false (ALPHA - default=false)
ProxyTerminatingEndpoints=true|false (ALPHA - default=false)
QOSReserved=true|false (ALPHA - default=false)
ReadWriteOncePod=true|false (ALPHA - default=false)
RecoverVolumeExpansionFailure=true|false (ALPHA - default=false)
RemainingItemCount=true|false (BETA - default=true)
RemoveSelfLink=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (BETA - default=true)
SeccompDefault=true|false (ALPHA - default=false)
ServerSideFieldValidation=true|false (ALPHA - default=false)
ServiceInternalTrafficPolicy=true|false (BETA - default=true)
ServiceLBNodePortControl=true|false (BETA - default=true)
ServiceLoadBalancerClass=true|false (BETA - default=true)
SizeMemoryBackedVolumes=true|false (BETA - default=true)
StatefulSetAutoDeletePVC=true|false (ALPHA - default=false)
StatefulSetMinReadySeconds=true|false (BETA - default=true)
StorageVersionAPI=true|false (ALPHA - default=false)
StorageVersionHash=true|false (BETA - default=true)
SuspendJob=true|false (BETA - default=true)
TopologyAwareHints=true|false (BETA - default=false)
TopologyManager=true|false (BETA - default=true)
VolumeCapacityPriority=true|false (ALPHA - default=false)
WinDSR=true|false (ALPHA - default=false)
WinOverlay=true|false (BETA - default=true)
WindowsHostProcessContainers=true|false (BETA - default=true)
csiMigrationRBD=true|false (ALPHA - default=false)

@@ -308,48 +301,6 @@ kube-proxy [flags]

인증 정보가 있는 kubeconfig 파일의 경로(마스터 위치는 마스터 플래그로 설정됨).

- ---log-backtrace-at <'file:N' 형태의 문자열>     기본값: :0 - - -

로깅 과정에서 file:N 번째 라인에 도달하면 스택 트레이스를 출력한다.

- - - ---log-dir string - - -

로그 파일이 저장될 디렉터리

- - - ---log-file string - - -

사용할 로그 파일

- - - ---log-file-max-size uint     기본값: 1800 - - -

로그 파일의 최대 크기(단위: MB). 0으로 설정하면 무제한이다.

- - - ---log-flush-frequency duration     기본값: 5s - - -

로그 플러시 사이의 최대 시간

- - - ---logtostderr     기본값: true - - -

로그를 파일에 기록하지 않고 표준 에러로만 출력

- - --machine-id-file string     기본값: "/etc/machine-id,/var/lib/dbus/machine-id" @@ -357,6 +308,13 @@ kube-proxy [flags]

machine-id를 위해 확인할 파일 목록(쉼표로 분리). 가장 먼저 발견되는 항목을 사용한다.

+ +--machine_id_file string     기본값: "/etc/machine-id,/var/lib/dbus/machine-id" + + +

machine-id를 위해 확인할 파일 목록(쉼표로 분리). 가장 먼저 발견되는 항목을 사용한다.

+ + --masquerade-all @@ -385,13 +343,6 @@ kube-proxy [flags]

NodePort에 사용할 주소를 지정하는 값의 문자열 조각. 값은 유효한 IP 블록(예: 1.2.3.0/24, 1.2.3.4/32). 기본값인 빈 문자열 조각값은([]) 모든 로컬 주소를 사용하는 것을 의미한다.

- ---one-output - - -

true이면, 해당 로그가 속하는 심각성 레벨에만 각 로그를 기록한다(원래는 하위 심각성 레벨에도 기록한다).

- - --oom-score-adj int32     기본값: -999 @@ -427,27 +378,6 @@ kube-proxy [flags]

숨겨진 메트릭을 표시하려는 이전 버전. 이전 마이너 버전만 인식하며, 다른 값은 허용하지 않는다. 포멧은 <메이저>.<마이너> 와 같으며, 예를 들면 '1.16' 과 같다. 이 포멧의 목적은, 다음 릴리스가 숨길 추가적인 메트릭을 사용자에게 공지하여, 그 이후 릴리스에서 메트릭이 영구적으로 삭제됐을 때 사용자가 놀라지 않도록 하기 위함이다.

- ---skip-headers - - -

true이면, 로그 메시지에서 헤더 접두사를 붙이지 않는다.

- - - ---skip-log-headers - - -

true이면, 로그 파일을 열 때 헤더를 붙이지 않는다.

- - - ---stderrthreshold int     기본값: 2 - - -

이 값 이상의 로그는 표준 에러(stderr)로 출력되도록 한다.

- - --udp-timeout duration     기본값: 250ms @@ -455,13 +385,6 @@ kube-proxy [flags]

유휴 UDP 연결이 열린 상태로 유지되는 시간(예: '250ms', '2s'). 값은 0보다 커야 한다. 프록시 모드 userspace에만 적용 가능함.

- --v, --v int - - -

로그 상세 레벨(verbosity)

- - --version version[=true] @@ -469,13 +392,6 @@ kube-proxy [flags]

버전 정보를 출력하고 종료

- ---vmodule <쉼표로 구분된 'pattern=N' 설정> - - -

파일-필터된 로깅을 위한 'pattern=N' 설정들(쉼표로 구분됨)

- - --write-config-to string diff --git a/content/ko/docs/reference/glossary/pod-disruption.md b/content/ko/docs/reference/glossary/pod-disruption.md index 93a473035c..1855f2118f 100644 --- a/content/ko/docs/reference/glossary/pod-disruption.md +++ b/content/ko/docs/reference/glossary/pod-disruption.md @@ -14,6 +14,11 @@ tags: - operation --- -[파드 중단](/ko/docs/concepts/workloads/pods/disruptions/)은 노드에 있는 파드가 자발적 또는 비자발적으로 종료되는 절차이다. +[파드 중단](/ko/docs/concepts/workloads/pods/disruptions/)은 +노드에 있는 파드가 자발적 또는 비자발적으로 종료되는 절차이다. -자발적 중단은 애플리케이션 소유자 또는 클러스터 관리자가 의도적으로 시작한다. 비자발적 중단은 의도하지 않은 것이며, 노드의 리소스 부족과 같은 피할 수 없는 문제 또는 우발적인 삭제로 인해 트리거될 수 있다. + + +자발적 중단은 애플리케이션 소유자 또는 클러스터 관리자가 의도적으로 시작한다. +비자발적 중단은 의도하지 않은 것이며, +노드의 리소스 부족과 같은 피할 수 없는 문제 또는 우발적인 삭제로 인해 트리거가 될 수 있다. diff --git a/content/ko/docs/reference/glossary/quantity.md b/content/ko/docs/reference/glossary/quantity.md index 450307841a..9c9c8b7582 100644 --- a/content/ko/docs/reference/glossary/quantity.md +++ b/content/ko/docs/reference/glossary/quantity.md @@ -10,7 +10,7 @@ aka: tags: - core-object --- - SI 접미사를 사용하는 작거나 큰 숫자의 정수(whole-number) 표현. + [SI](https://en.wikipedia.org/wiki/International_System_of_Units) 접미사를 사용하는 작거나 큰 숫자의 정수(whole-number) 표현. @@ -19,9 +19,8 @@ tags: 큰 숫자는 킬로(kilo), 메가(mega), 또는 기가(giga) 단위로 표시할 수 있다. - 예를 들어, 숫자 `1.5`는 `1500m`으로, 숫자 `1000`은 `1k`로, `1000000`은 -`1M`으로 표시할 수 있다. 또한, 이진 표기법 접미사도 명시 가능하므로, +`1M`으로 표시할 수 있다. 또한, [이진 표기법](https://en.wikipedia.org/wiki/Binary_prefix) 접미사도 명시 가능하므로, 숫자 2048은 `2Ki`로 표기될 수 있다. 허용되는 10진수(10의 거듭 제곱) 단위는 `m` (밀리), `k` (킬로, 의도적인 소문자), diff --git a/content/ko/docs/reference/glossary/secret.md b/content/ko/docs/reference/glossary/secret.md index 63637adc1a..69923c2b4e 100644 --- a/content/ko/docs/reference/glossary/secret.md +++ b/content/ko/docs/reference/glossary/secret.md @@ -15,4 +15,4 @@ tags: -민감한 정보를 사용하는 방식에 대해 더 세밀하게 제어할 수 있으며, 유휴 상태의 [암호화](/docs/tasks/administer-cluster/encrypt-data/#ensure-all-secrets-are-encrypted)를 포함하여 우발적인 노출 위험을 줄인다. {{< glossary_tooltip text="파드(Pod)" term_id="pod" >}}는 시크릿을 마운트된 볼륨의 파일로 참조하거나, 파드의 이미지를 풀링하는 kubelet이 시크릿을 참조한다. 시크릿은 기밀 데이터에 적합하고 [컨피그맵](/docs/tasks/configure-pod-container/configure-pod-configmap/)은 기밀이 아닌 데이터에 적합하다. +민감한 정보를 사용하는 방식에 대해 더 세밀하게 제어할 수 있으며, 우발적인 노출 위험을 줄인다. 시크릿 값은 기본적으로 base64 문자열로 인코딩되어 암호화되지 않은 채로 저장되지만, [안전하게 암호화](/docs/tasks/administer-cluster/encrypt-data/#ensure-all-secrets-are-encrypted)되도록 설정할 수 있다. {{< glossary_tooltip text="파드" term_id="pod" >}}는 볼륨 마운트 내의 파일 형태로 시크릿에 접근하며, 시크릿은 또한 kubelet이 파드를 위해 이미지를 풀링할 때에도 사용될 수 있다. 시크릿은 기밀 데이터를 다루는 용도로 적합하며, [컨피그맵](/docs/tasks/configure-pod-container/configure-pod-configmap/)은 기밀이 아닌 데이터를 다루는 용도로 적합하다. diff --git a/content/ko/docs/reference/kubectl/cheatsheet.md b/content/ko/docs/reference/kubectl/cheatsheet.md index 71fc5a5f27..b4e39aa736 100644 --- a/content/ko/docs/reference/kubectl/cheatsheet.md +++ b/content/ko/docs/reference/kubectl/cheatsheet.md @@ -1,5 +1,9 @@ --- title: kubectl 치트 시트 + + + + content_type: concept card: name: reference @@ -215,7 +219,7 @@ kubectl get pods -o json | jq -c 'path(..)|[.[]|tostring]|join(".")' # 모든 파드에 대해 ENV를 생성한다(각 파드에 기본 컨테이너가 있고, 기본 네임스페이스가 있고, `env` 명령어가 동작한다고 가정). # `env` 뿐만 아니라 다른 지원되는 명령어를 모든 파드에 실행할 때에도 참고할 수 있다. -for pod in $(kubectl get po --output=jsonpath={.items..metadata.name}); do echo $pod && kubectl exec -it $pod env; done +for pod in $(kubectl get po --output=jsonpath={.items..metadata.name}); do echo $pod && kubectl exec -it $pod -- env; done ``` ## 리소스 업데이트 @@ -285,11 +289,11 @@ kubectl scale --replicas=5 rc/foo rc/bar rc/baz # 여러 개 ## 리소스 삭제 ```bash -kubectl delete -f ./pod.json # pod.json에 지정된 유형 및 이름을 사용하여 파드 삭제 -kubectl delete pod,service baz foo # "baz", "foo"와 동일한 이름을 가진 파드와 서비스 삭제 -kubectl delete pods,services -l name=myLabel # name=myLabel 라벨을 가진 파드와 서비스 삭제 -kubectl delete pods,services -l name=myLabel --include-uninitialized # 초기화되지 않은 것을 포함하여, name=myLabel 라벨을 가진 파드와 서비스 삭제 -kubectl -n my-ns delete pod,svc --all # 초기화되지 않은 것을 포함하여, my-ns 네임스페이스 내 모든 파드와 서비스 삭제 +kubectl delete -f ./pod.json # pod.json에 지정된 유형 및 이름을 사용하여 파드 삭제 +kubectl delete pod unwanted --now # 유예 시간 없이 즉시 파드 삭제 +kubectl delete pod,service baz foo # "baz", "foo"와 동일한 이름을 가진 파드와 서비스 삭제 +kubectl delete pods,services -l name=myLabel # name=myLabel 라벨을 가진 파드와 서비스 삭제 +kubectl -n my-ns delete pod,svc --all # my-ns 네임스페이스 내 모든 파드와 서비스 삭제 # awk pattern1 또는 pattern2에 매칭되는 모든 파드 삭제 kubectl get pods -n mynamespace --no-headers=true | awk '/pattern1|pattern2/{print $1}' | xargs kubectl delete -n mynamespace pod ``` @@ -307,8 +311,7 @@ kubectl logs -f my-pod # 실시간 스트림 파드 kubectl logs -f my-pod -c my-container # 실시간 스트림 파드 로그(stdout, 멀티-컨테이너 경우) kubectl logs -f -l name=myLabel --all-containers # name이 myLabel인 모든 파드의 로그 스트리밍 (stdout) kubectl run -i --tty busybox --image=busybox -- sh # 대화형 셸로 파드를 실행 -kubectl run nginx --image=nginx -n -mynamespace # 특정 네임스페이스에서 nginx 파드 실행 +kubectl run nginx --image=nginx -n mynamespace # mynamespace 네임스페이스에서 nginx 파드 1개 실행 kubectl run nginx --image=nginx # nginx 파드를 실행하고 해당 스펙을 pod.yaml 파일에 기록 --dry-run=client -o yaml > pod.yaml @@ -320,6 +323,24 @@ kubectl exec my-pod -c my-container -- ls / # 기존 파드에서 명령 kubectl top pod POD_NAME --containers # 특정 파드와 해당 컨테이너에 대한 메트릭 표시 kubectl top pod POD_NAME --sort-by=cpu # 지정한 파드에 대한 메트릭을 표시하고 'cpu' 또는 'memory'별로 정렬 ``` +## 컨테이너로/컨테이너에서 파일과 디렉터리 복사 + +```bash +kubectl cp /tmp/foo_dir my-pod:/tmp/bar_dir # 로컬 디렉토리 /tmp/foo_dir 를 현재 네임스페이스의 my-pod 파드 안의 /tmp/bar_dir 로 복사 +kubectl cp /tmp/foo my-pod:/tmp/bar -c my-container # 로컬 파일 /tmp/foo 를 my-pod 파드의 my-container 컨테이너 안의 /tmp/bar 로 복사 +kubectl cp /tmp/foo my-namespace/my-pod:/tmp/bar # 로컬 파일 /tmp/foo 를 my-namespace 네임스페이스의 my-pod 파드 안의 /tmp/bar 로 복사 +kubectl cp my-namespace/my-pod:/tmp/foo /tmp/bar # my-namespace 네임스페이스의 my-pod 파드 안의 파일 /tmp/foo 를 로컬의 /tmp/bar 로 복사 +``` +{{< note >}} +`kubectl cp` 명령을 사용하려면 컨테이너 이미지에 'tar' 바이너리가 포함되어 있어야 한다. 'tar'가 없으면, `kubectl cp`는 실패할 것이다. +심볼릭 링크, 와일드카드 확장, 파일 모드 보존과 같은 고급 사용 사례에 대해서는 `kubectl exec` 를 고려해 볼 수 있다. +{{< /note >}} + +```bash +tar cf - /tmp/foo | kubectl exec -i -n my-namespace my-pod -- tar xf - -C /tmp/bar # 로컬 파일 /tmp/foo 를 my-namespace 네임스페이스의 my-pod 파드 안의 /tmp/bar 로 복사 +kubectl exec -n my-namespace my-pod -- tar cf - /tmp/foo | tar xf - -C /tmp/bar # my-namespace 네임스페이스의 my-pod 파드 안의 파일 /tmp/foo 를 로컬의 /tmp/bar 로 복사 +``` + ## 디플로이먼트, 서비스와 상호 작용 ```bash