[ko] Update outdated files in dev-1.26-ko.1 (M112-M125)
parent
4fa3b1048b
commit
41aeff23ce
|
@ -212,7 +212,7 @@ API 및 kubectl의 관점에서, 윈도우 컨테이너는 리눅스 기반 컨
|
|||
* `securityContext.capabilities` -
|
||||
POSIX 기능은 윈도우에서 구현되지 않았다.
|
||||
* `securityContext.privileged` -
|
||||
윈도우는 특권을 가진(privileged) 컨테이너를 지원하지 않는다.
|
||||
윈도우는 특권을 가진(privileged) 컨테이너를 지원하지 않는다. 대신 [호스트 프로세스 컨테이너](/docs/tasks/configure-pod-container/create-hostprocess-pod/)를 사용한다.
|
||||
* `securityContext.procMount` -
|
||||
윈도우에는 `/proc` 파일시스템이 없다.
|
||||
* `securityContext.readOnlyRootFilesystem` -
|
||||
|
@ -238,11 +238,11 @@ API 및 kubectl의 관점에서, 윈도우 컨테이너는 리눅스 기반 컨
|
|||
다음 목록은 윈도우와 리눅스에서 파드 명세가 어떻게 다르게 동작하는지 기술한다.
|
||||
|
||||
* `hostIPC` 및 `hostpid` - 호스트 네임스페이스 공유 기능은 윈도우에서 사용할 수 없다.
|
||||
* `hostNetwork` - 윈도우 운영 체제에서 호스트 네트워크 공유 기능을 지원하지 않는다.
|
||||
* `hostNetwork` - [하단 참조](#compatibility-v1-pod-spec-containers-hostnetwork)
|
||||
* `dnsPolicy` - 윈도우에서 호스트 네트워킹이 지원되지 않기 때문에
|
||||
`dnsPolicy`를 `ClusterFirstWithHostNet`로 설정할 수 없다.
|
||||
파드는 항상 컨테이너 네트워크와 함께 동작한다.
|
||||
* `podSecurityContext` (하단 참조)
|
||||
* `podSecurityContext` [하단 참조](#compatibility-v1-pod-spec-containers-securitycontext)
|
||||
* `shareProcessNamespace` - 이것은 베타 기능이며, 윈도우에서 구현되지 않은 리눅스 네임스페이스에 의존한다.
|
||||
윈도우는 프로세스 네임스페이스 또는 컨테이너의 루트 파일시스템을 공유할 수 없다.
|
||||
네트워크만 공유할 수 있다.
|
||||
|
@ -261,6 +261,17 @@ API 및 kubectl의 관점에서, 윈도우 컨테이너는 리눅스 기반 컨
|
|||
* `mountPropagation` - 마운트 전파(propagation)는 윈도우에서 지원되지 않으므로
|
||||
이 필드는 활성화할 수 없다.
|
||||
|
||||
#### 호스트 네트워크(hostNetwork)의 필드 호환성 {#compatibility-v1-pod-spec-containers-hostnetwork}
|
||||
|
||||
{{< feature-state for_k8s_version="v1.26" state="alpha" >}}
|
||||
|
||||
이제 kubelet은, 윈도우 노드에서 실행되는 파드가 새로운 파드 네트워크 네임스페이스를 생성하는 대신 호스트의 네트워크 네임스페이스를 사용하도록 요청할 수 있다.
|
||||
이 기능을 활성화하려면 kubelet에 `--feature-gates=WindowsHostNetwork=true`를 전달한다.
|
||||
|
||||
{{< note >}}
|
||||
이 기능을 지원하는 컨테이너 런타임을 필요로 한다.
|
||||
{{< /note >}}
|
||||
|
||||
#### 파드 시큐리티 컨텍스트의 필드 호환성 {#compatibility-v1-pod-spec-containers-securitycontext}
|
||||
|
||||
파드 [`securityContext`](/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context)의 모든 필드는 윈도우에서 작동하지 않는다.
|
||||
|
|
|
@ -16,4 +16,4 @@ tags:
|
|||
<!--more-->
|
||||
|
||||
컨테이너는 애플리케이션과 기반이 되는 호스트 인프라의 관계를 분리시켜서, 애플리케이션을 다른 클라우드 또는 OS 환경에서도 쉽게 디플로이하고 쉽게 스케일되게 한다.
|
||||
|
||||
컨테이너 내에서 실행되는 애플리케이션을 컨테이너화된 애플리케이션이라고 한다. 이러한 애플리케이션들과 그에 의존하는 파일 및 라이브러리들을 묶어 컨테이너 이미지로 만들어내는 과정을 컨테이너화라고 한다.
|
|
@ -16,5 +16,7 @@ tags:
|
|||
|
||||
문제가 있는 실행 중 파드를 조사하고 싶다면, 파드에 임시 컨테이너를 추가하고 진단을 수행할 수 있다. 임시 컨테이너는 리소스 및 스케줄링에 대한 보장이 제공되지 않으며, 워크로드 자체를 실행하기 위해 임시 컨테이너를 사용해서는 안 된다.
|
||||
|
||||
{{< glossary_tooltip text="스태틱 파드(static pod)" term_id="static-pod" >}}는 임시 컨테이너를 지원하지 않는다.
|
||||
|
||||
<!-- Even though the English doc doesn't mention this, the link below is to help Korean readers understand what 임시 컨테이너 equates to in the API. -->
|
||||
더 자세한 정보는 파드 API의 [EphemeralContainer](/docs/reference/kubernetes-api/workload-resources/pod-v1/#EphemeralContainer)를 참고한다.
|
||||
|
|
|
@ -4,15 +4,24 @@ id: secret
|
|||
date: 2018-04-12
|
||||
full_link: /ko/docs/concepts/configuration/secret/
|
||||
short_description: >
|
||||
비밀번호, OAuth 토큰 및 ssh 키와 같은 민감한 정보를 저장한다.
|
||||
비밀번호, OAuth 토큰 및 SSH 키와 같은 민감한 정보를 저장한다.
|
||||
|
||||
aka:
|
||||
tags:
|
||||
- core-object
|
||||
- security
|
||||
---
|
||||
비밀번호, OAuth 토큰 및 ssh 키와 같은 민감한 정보를 저장한다.
|
||||
비밀번호, OAuth 토큰 및 SSH 키와 같은 민감한 정보를 저장한다.
|
||||
|
||||
<!--more-->
|
||||
|
||||
민감한 정보를 사용하는 방식에 대해 더 세밀하게 제어할 수 있으며, 우발적인 노출 위험을 줄인다. 시크릿 값은 기본적으로 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/)은 기밀이 아닌 데이터를 다루는 용도로 적합하다.
|
||||
시크릿을 사용하면 민감한 정보가 사용되는 방법을 더 잘 통제할 수 있으며,
|
||||
실수로 외부에 노출되는 위험도 줄일 수 있다.
|
||||
시크릿 값은 base64 문자열로 인코딩되며 기본적으로는 평문으로 저장되지만,
|
||||
[암호화하여 저장](/docs/tasks/administer-cluster/encrypt-data/#ensure-all-secrets-are-encrypted)하도록 설정할 수도 있다.
|
||||
|
||||
{{< glossary_tooltip text="파드" term_id="pod" >}}는 볼륨을 마운트하거나 혹은 환경 변수를 통하는 등
|
||||
다양한 방식으로 시크릿을 참조할 수 있다.
|
||||
시크릿은 기밀 데이터를 다루는 용도로 적합하며,
|
||||
[컨피그맵](/docs/tasks/configure-pod-container/configure-pod-configmap/)은
|
||||
기밀이 아닌 데이터를 다루는 용도로 적합하다.
|
|
@ -15,4 +15,6 @@ tags:
|
|||
직접 관리하는 {{< glossary_tooltip text="파드" term_id="pod" >}}로,
|
||||
<!--more-->
|
||||
|
||||
API 서버가 관찰하지 않는다.
|
||||
API 서버가 관찰하지 않는다.
|
||||
|
||||
스태틱 파드는 {{< glossary_tooltip text="임시 컨테이너" term_id="ephemeral-container" >}}를 지원하지 않는다.
|
|
@ -1,4 +1,4 @@
|
|||
---
|
||||
title: 쿠버네티스 이슈와 보안
|
||||
weight: 40
|
||||
weight: 70
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: 명령줄 도구 (kubectl)
|
||||
content_type: reference
|
||||
weight: 60
|
||||
weight: 110
|
||||
no_list: true
|
||||
card:
|
||||
name: reference
|
||||
|
@ -101,7 +101,13 @@ kubectl은 자신이 클러스터 내부에서 실행되고 있다고 가정한
|
|||
kubectl은 해당 서비스어카운트의 네임스페이스(파드의 네임스페이스와 동일하다)를 인식하고 해당 네임스페이스에 대해 동작한다.
|
||||
이는 클러스터 외부에서 실행되었을 때와는 다른데,
|
||||
kubectl이 클러스터 외부에서 실행되었으며 네임스페이스가 명시되지 않은 경우
|
||||
kubectl은 `default` 네임스페이스에 대해 동작한다.
|
||||
kubectl 명령어는 클라이언트 구성에서 현재 컨텍스트(current context)에
|
||||
설정된 네임스페이스에 대해 동작한다.
|
||||
kubectl이 동작하는 기본 네임스페이스를 변경하려면 아래의 명령어를 실행한다.
|
||||
|
||||
```shell
|
||||
kubectl config set-context --current --namespace=<namespace-name>
|
||||
```
|
||||
|
||||
## 명령어
|
||||
|
||||
|
@ -130,6 +136,7 @@ kubectl은 `default` 네임스페이스에 대해 동작한다.
|
|||
`diff` | `kubectl diff -f FILENAME [flags]`| 라이브 구성에 대해 파일이나 표준입력의 차이점을 출력한다.
|
||||
`drain` | `kubectl drain NODE [options]` | 유지 보수를 준비 중인 노드를 드레인한다.
|
||||
`edit` | <code>kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags]</code> | 기본 편집기를 사용하여 서버에서 하나 이상의 리소스 정의를 편집하고 업데이트한다.
|
||||
`events` | `kubectl events` | List events
|
||||
`exec` | `kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]` | 파드의 컨테이너에 대해 명령을 실행한다.
|
||||
`explain` | `kubectl explain [--recursive=false] [flags]` | 파드, 노드, 서비스 등의 다양한 리소스에 대한 문서를 출력한다.
|
||||
`expose` | <code>kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] [flags]</code> | 레플리케이션 컨트롤러, 서비스 또는 파드를 새로운 쿠버네티스 서비스로 노출한다.
|
||||
|
@ -159,66 +166,66 @@ kubectl은 `default` 네임스페이스에 대해 동작한다.
|
|||
|
||||
다음 표에는 지원되는 모든 리소스 타입과 해당 약어가 나열되어 있다.
|
||||
|
||||
(이 출력은 `kubectl api-resources` 에서 확인할 수 있으며, 쿠버네티스 1.19.1 에서의 출력을 기준으로 한다.)
|
||||
(이 출력은 `kubectl api-resources` 에서 확인할 수 있으며, 쿠버네티스 1.25.0 에서의 출력을 기준으로 한다.)
|
||||
|
||||
| NAME | SHORTNAMES | APIGROUP | NAMESPACED | KIND |
|
||||
| NAME | SHORTNAMES | APIVERSION | NAMESPACED | KIND |
|
||||
|---|---|---|---|---|
|
||||
| `bindings` | | | true | Binding |
|
||||
| `componentstatuses` | `cs` | | false | ComponentStatus |
|
||||
| `configmaps` | `cm` | | true | ConfigMap |
|
||||
| `endpoints` | `ep` | | true | Endpoints |
|
||||
| `events` | `ev` | | true | Event |
|
||||
| `limitranges` | `limits` | | true | LimitRange |
|
||||
| `namespaces` | `ns` | | false | Namespace |
|
||||
| `nodes` | `no` | | false | Node |
|
||||
| `persistentvolumeclaims` | `pvc` | | true | PersistentVolumeClaim |
|
||||
| `persistentvolumes` | `pv` | | false | PersistentVolume |
|
||||
| `pods` | `po` | | true | Pod |
|
||||
| `podtemplates` | | | true | PodTemplate |
|
||||
| `replicationcontrollers` | `rc` | | true | ReplicationController |
|
||||
| `resourcequotas` | `quota` | | true | ResourceQuota |
|
||||
| `secrets` | | | true | Secret |
|
||||
| `serviceaccounts` | `sa` | | true | ServiceAccount |
|
||||
| `services` | `svc` | | true | Service |
|
||||
| `mutatingwebhookconfigurations` | | admissionregistration.k8s.io | false | MutatingWebhookConfiguration |
|
||||
| `validatingwebhookconfigurations` | | admissionregistration.k8s.io | false | ValidatingWebhookConfiguration |
|
||||
| `customresourcedefinitions` | `crd,crds` | apiextensions.k8s.io | false | CustomResourceDefinition |
|
||||
| `apiservices` | | apiregistration.k8s.io | false | APIService |
|
||||
| `controllerrevisions` | | apps | true | ControllerRevision |
|
||||
| `daemonsets` | `ds` | apps | true | DaemonSet |
|
||||
| `deployments` | `deploy` | apps | true | Deployment |
|
||||
| `replicasets` | `rs` | apps | true | ReplicaSet |
|
||||
| `statefulsets` | `sts` | apps | true | StatefulSet |
|
||||
| `tokenreviews` | | authentication.k8s.io | false | TokenReview |
|
||||
| `localsubjectaccessreviews` | | authorization.k8s.io | true | LocalSubjectAccessReview |
|
||||
| `selfsubjectaccessreviews` | | authorization.k8s.io | false | SelfSubjectAccessReview |
|
||||
| `selfsubjectrulesreviews` | | authorization.k8s.io | false | SelfSubjectRulesReview |
|
||||
| `subjectaccessreviews` | | authorization.k8s.io | false | SubjectAccessReview |
|
||||
| `horizontalpodautoscalers` | `hpa` | autoscaling | true | HorizontalPodAutoscaler |
|
||||
| `cronjobs` | `cj` | batch | true | CronJob |
|
||||
| `jobs` | | batch | true | Job |
|
||||
| `certificatesigningrequests` | `csr` | certificates.k8s.io | false | CertificateSigningRequest |
|
||||
| `leases` | | coordination.k8s.io | true | Lease |
|
||||
| `endpointslices` | | discovery.k8s.io | true | EndpointSlice |
|
||||
| `events` | `ev` | events.k8s.io | true | Event |
|
||||
| `ingresses` | `ing` | extensions | true | Ingress |
|
||||
| `flowschemas` | | flowcontrol.apiserver.k8s.io | false | FlowSchema |
|
||||
| `prioritylevelconfigurations` | | flowcontrol.apiserver.k8s.io | false | PriorityLevelConfiguration |
|
||||
| `ingressclasses` | | networking.k8s.io | false | IngressClass |
|
||||
| `ingresses` | `ing` | networking.k8s.io | true | Ingress |
|
||||
| `networkpolicies` | `netpol` | networking.k8s.io | true | NetworkPolicy |
|
||||
| `runtimeclasses` | | node.k8s.io | false | RuntimeClass |
|
||||
| `poddisruptionbudgets` | `pdb` | policy | true | PodDisruptionBudget |
|
||||
| `podsecuritypolicies` | `psp` | policy | false | PodSecurityPolicy |
|
||||
| `clusterrolebindings` | | rbac.authorization.k8s.io | false | ClusterRoleBinding |
|
||||
| `clusterroles` | | rbac.authorization.k8s.io | false | ClusterRole |
|
||||
| `rolebindings` | | rbac.authorization.k8s.io | true | RoleBinding |
|
||||
| `roles` | | rbac.authorization.k8s.io | true | Role |
|
||||
| `priorityclasses` | `pc` | scheduling.k8s.io | false | PriorityClass |
|
||||
| `csidrivers` | | storage.k8s.io | false | CSIDriver |
|
||||
| `csinodes` | | storage.k8s.io | false | CSINode |
|
||||
| `storageclasses` | `sc` | storage.k8s.io | false | StorageClass |
|
||||
| `volumeattachments` | | storage.k8s.io | false | VolumeAttachment |
|
||||
| `bindings` | | v1 | true | Binding |
|
||||
| `componentstatuses` | `cs` | v1 | false | ComponentStatus |
|
||||
| `configmaps` | `cm` | v1 | true | ConfigMap |
|
||||
| `endpoints` | `ep` | v1 | true | Endpoints |
|
||||
| `events` | `ev` | v1 | true | Event |
|
||||
| `limitranges` | `limits` | v1 | true | LimitRange |
|
||||
| `namespaces` | `ns` | v1 | false | Namespace |
|
||||
| `nodes` | `no` | v1 | false | Node |
|
||||
| `persistentvolumeclaims` | `pvc` | v1 | true | PersistentVolumeClaim |
|
||||
| `persistentvolumes` | `pv` | v1 | false | PersistentVolume |
|
||||
| `pods` | `po` | v1 | true | Pod |
|
||||
| `podtemplates` | | v1 | true | PodTemplate |
|
||||
| `replicationcontrollers` | `rc` | v1 | true | ReplicationController |
|
||||
| `resourcequotas` | `quota` | v1 | true | ResourceQuota |
|
||||
| `secrets` | | v1 | true | Secret |
|
||||
| `serviceaccounts` | `sa` | v1 | true | ServiceAccount |
|
||||
| `services` | `svc` | v1 | true | Service |
|
||||
| `mutatingwebhookconfigurations` | | admissionregistration.k8s.io/v1 | false | MutatingWebhookConfiguration |
|
||||
| `validatingwebhookconfigurations` | | admissionregistration.k8s.io/v1 | false | ValidatingWebhookConfiguration |
|
||||
| `customresourcedefinitions` | `crd,crds` | apiextensions.k8s.io/v1 | false | CustomResourceDefinition |
|
||||
| `apiservices` | | apiregistration.k8s.io/v1 | false | APIService |
|
||||
| `controllerrevisions` | | apps/v1 | true | ControllerRevision |
|
||||
| `daemonsets` | `ds` | apps/v1 | true | DaemonSet |
|
||||
| `deployments` | `deploy` | apps/v1 | true | Deployment |
|
||||
| `replicasets` | `rs` | apps/v1 | true | ReplicaSet |
|
||||
| `statefulsets` | `sts` | apps/v1 | true | StatefulSet |
|
||||
| `tokenreviews` | | authentication.k8s.io/v1 | false | TokenReview |
|
||||
| `localsubjectaccessreviews` | | authorization.k8s.io/v1 | true | LocalSubjectAccessReview |
|
||||
| `selfsubjectaccessreviews` | | authorization.k8s.io/v1 | false | SelfSubjectAccessReview |
|
||||
| `selfsubjectrulesreviews` | | authorization.k8s.io/v1 | false | SelfSubjectRulesReview |
|
||||
| `subjectaccessreviews` | | authorization.k8s.io/v1 | false | SubjectAccessReview |
|
||||
| `horizontalpodautoscalers` | `hpa` | autoscaling/v2 | true | HorizontalPodAutoscaler |
|
||||
| `cronjobs` | `cj` | batch/v1 | true | CronJob |
|
||||
| `jobs` | | batch/v1 | true | Job |
|
||||
| `certificatesigningrequests` | `csr` | certificates.k8s.io/v1 | false | CertificateSigningRequest |
|
||||
| `leases` | | coordination.k8s.io/v1 | true | Lease |
|
||||
| `endpointslices` | | discovery.k8s.io/v1 | true | EndpointSlice |
|
||||
| `events` | `ev` | events.k8s.io/v1 | true | Event |
|
||||
| `flowschemas` | | flowcontrol.apiserver.k8s.io/v1beta2 | false | FlowSchema |
|
||||
| `prioritylevelconfigurations` | | flowcontrol.apiserver.k8s.io/v1beta2 | false | PriorityLevelConfiguration |
|
||||
| `ingressclasses` | | networking.k8s.io/v1 | false | IngressClass |
|
||||
| `ingresses` | `ing` | networking.k8s.io/v1 | true | Ingress |
|
||||
| `networkpolicies` | `netpol` | networking.k8s.io/v1 | true | NetworkPolicy |
|
||||
| `runtimeclasses` | | node.k8s.io/v1 | false | RuntimeClass |
|
||||
| `poddisruptionbudgets` | `pdb` | policy/v1 | true | PodDisruptionBudget |
|
||||
| `podsecuritypolicies` | `psp` | policy/v1beta1 | false | PodSecurityPolicy |
|
||||
| `clusterrolebindings` | | rbac.authorization.k8s.io/v1 | false | ClusterRoleBinding |
|
||||
| `clusterroles` | | rbac.authorization.k8s.io/v1 | false | ClusterRole |
|
||||
| `rolebindings` | | rbac.authorization.k8s.io/v1 | true | RoleBinding |
|
||||
| `roles` | | rbac.authorization.k8s.io/v1 | true | Role |
|
||||
| `priorityclasses` | `pc` | scheduling.k8s.io/v1 | false | PriorityClass |
|
||||
| `csidrivers` | | storage.k8s.io/v1 | false | CSIDriver |
|
||||
| `csinodes` | | storage.k8s.io/v1 | false | CSINode |
|
||||
| `csistoragecapacities` | | storage.k8s.io/v1 | true | CSIStorageCapacity |
|
||||
| `storageclasses` | `sc` | storage.k8s.io/v1 | false | StorageClass |
|
||||
| `volumeattachments` | | storage.k8s.io/v1 | false | VolumeAttachment |
|
||||
|
||||
## 출력 옵션
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ complete -o default -F __start_kubectl k
|
|||
source <(kubectl completion zsh) # 현재 셸에 zsh의 자동 완성 설정
|
||||
echo '[[ $commands[kubectl] ]] && source <(kubectl completion zsh)' >> ~/.zshrc # 자동 완성을 zsh 셸에 영구적으로 추가한다.
|
||||
```
|
||||
### --all-namespaces 에 대한 노트
|
||||
### `--all-namespaces` 에 대한 노트
|
||||
|
||||
`--all-namespaces`를 붙여야 하는 상황이 자주 발생하므로, `--all-namespaces`의 축약형을 알아 두는 것이 좋다.
|
||||
|
||||
|
@ -225,6 +225,9 @@ kubectl get pods --all-namespaces -o jsonpath='{range .items[*].status.initConta
|
|||
# 타임스탬프로 정렬된 이벤트 목록 조회
|
||||
kubectl get events --sort-by=.metadata.creationTimestamp
|
||||
|
||||
# 모든 Warning 타입 이벤트 조회
|
||||
kubectl events --types=Warning
|
||||
|
||||
# 매니페스트가 적용된 경우 클러스터의 현재 상태와 클러스터의 상태를 비교한다.
|
||||
kubectl diff -f ./my-manifest.yaml
|
||||
|
||||
|
@ -266,6 +269,7 @@ kubectl expose rc nginx --port=80 --target-port=8000
|
|||
kubectl get pod mypod -o yaml | sed 's/\(image: myimage\):.*$/\1:v4/' | kubectl replace -f -
|
||||
|
||||
kubectl label pods my-pod new-label=awesome # 레이블 추가
|
||||
kubectl label pods my-pod new-label- # 레이블 제거
|
||||
kubectl annotate pods my-pod icon-url=http://goo.gl/XXBTWq # 어노테이션 추가
|
||||
kubectl autoscale deployment foo --min=2 --max=10 # 디플로이먼트 "foo" 오토스케일
|
||||
```
|
||||
|
@ -336,9 +340,8 @@ kubectl logs -f my-pod -c my-container # 실시간 스트림 파드
|
|||
kubectl logs -f -l name=myLabel --all-containers # name이 myLabel인 모든 파드의 로그 스트리밍 (stdout)
|
||||
kubectl run -i --tty busybox --image=busybox:1.28 -- sh # 대화형 셸로 파드를 실행
|
||||
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
|
||||
|
||||
kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml
|
||||
# nginx 파드에 대한 spec을 생성하고, pod.yaml이라는 파일에 해당 내용을 기록한다.
|
||||
kubectl attach my-pod -i # 실행 중인 컨테이너에 연결
|
||||
kubectl port-forward my-pod 5000:6000 # 로컬 머신의 5000번 포트를 리스닝하고, my-pod의 6000번 포트로 전달
|
||||
kubectl exec my-pod -- ls / # 기존 파드에서 명령 실행(한 개 컨테이너 경우)
|
||||
|
@ -390,7 +393,7 @@ kubectl cluster-info dump # 현재
|
|||
kubectl cluster-info dump --output-directory=/path/to/cluster-state # 현재 클러스터 상태를 /path/to/cluster-state으로 덤프
|
||||
|
||||
# 현재 노드에 존재하고 있는 테인트(taint)들을 확인
|
||||
kubectl get nodes -o=custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints[*].key,TaintValue:.spec.taints[*].value,TaintEffect:.spec.taints[*].effect
|
||||
kubectl get nodes -o='custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints[*].key,TaintValue:.spec.taints[*].value,TaintEffect:.spec.taints[*].effect'
|
||||
|
||||
# 이미 존재하고 있는 key와 effect를 갖는 테인트의 경우, 지정한 값으로 대체
|
||||
kubectl taint nodes foo dedicated=special-user:NoSchedule
|
||||
|
|
|
@ -3,6 +3,7 @@ title: kubectl 사용 규칙
|
|||
# reviewers:
|
||||
# - janetkuo
|
||||
content_type: concept
|
||||
weight: 60
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
|
|
@ -4,6 +4,7 @@ content_type: concept
|
|||
# reviewers:
|
||||
# - brendandburns
|
||||
# - thockin
|
||||
weight: 50
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: JSONPath 지원
|
||||
content_type: concept
|
||||
weight: 40
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
|
|
@ -351,6 +351,16 @@ kubectl [flags]
|
|||
<td></td><td style="line-height: 130%; word-wrap: break-word;">false로 설정하면, 호출된 kubectl 명령(쿠버네티스 버전 v1.22 이상)을 자세히 설명하는 추가 HTTP 헤더를 해제</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
tr>
|
||||
<td colspan="2">KUBECTL_EXPLAIN_OPENAPIV3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%; word-wrap: break-word;">`kubectl explain` 호출에 사용 가능한 새로운 OpenAPIv3 데이터 소스를 사용할지 여부를 전환. 쿠버네티스 1.24 이후로, OpenAPIV3 는 기본적으로 활성화 되어있다.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@ -376,6 +386,7 @@ kubectl [flags]
|
|||
* [kubectl diff](/docs/reference/generated/kubectl/kubectl-commands#diff) - 적용 예정 버전과 라이브 버전 비교
|
||||
* [kubectl drain](/docs/reference/generated/kubectl/kubectl-commands#drain) - 유지 보수 준비 중 노드 드레인
|
||||
* [kubectl edit](/docs/reference/generated/kubectl/kubectl-commands#edit) - 서버에서 리소스 편집
|
||||
* [kubectl events](/docs/reference/generated/kubectl/kubectl-commands#events) - 이벤트 목록 나열
|
||||
* [kubectl exec](/docs/reference/generated/kubectl/kubectl-commands#exec) - 컨테이너에서 커맨드 실행
|
||||
* [kubectl explain](/docs/reference/generated/kubectl/kubectl-commands#explain) - 리소스의 문서
|
||||
* [kubectl expose](/docs/reference/generated/kubectl/kubectl-commands#expose) - 레플리케이션 컨트롤러, 서비스, 디플로이먼트 또는 파드를 가져와서 새로운 쿠버네티스 서비스로 노출
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
title: 잘 알려진 레이블, 어노테이션, 테인트(Taint)
|
||||
content_type: concept
|
||||
weight: 20
|
||||
|
||||
weight: 40
|
||||
no_list: true
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
@ -19,7 +19,7 @@ weight: 20
|
|||
|
||||
예시: `app.kubernetes.io/component: "database"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
적용 대상: 모든 오브젝트 (일반적으로 [워크로드 리소스](/docs/reference/kubernetes-api/workload-resources/)에서 사용됨)
|
||||
|
||||
아키텍처 내의 컴포넌트.
|
||||
|
||||
|
@ -29,7 +29,7 @@ weight: 20
|
|||
|
||||
예시: `app.kubernetes.io/created-by: "controller-manager"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
적용 대상: 모든 오브젝트 (일반적으로 [워크로드 리소스](/docs/reference/kubernetes-api/workload-resources/)에서 사용됨)
|
||||
|
||||
리소스를 생성한 컨트롤러/사용자.
|
||||
|
||||
|
@ -41,9 +41,9 @@ v1.9부터 이 레이블은 더 이상 사용되지 않는다.
|
|||
|
||||
예시: `app.kubernetes.io/instance: "mysql-abcxzy"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
적용 대상: 모든 오브젝트 (일반적으로 [워크로드 리소스](/docs/reference/kubernetes-api/workload-resources/)에서 사용됨)
|
||||
|
||||
애플리케이션 인스턴스를 식별하기 위한 고유한 이름.
|
||||
애플리케이션 인스턴스를 식별하기 위한 고유한 이름. 고유하지 않은 이름을 할당하려면, [app.kubernetes.io/name](#app-kubernetes-io-name)를 사용한다.
|
||||
|
||||
[추천하는 레이블](/ko/docs/concepts/overview/working-with-objects/common-labels/#labels)을 확인한다.
|
||||
|
||||
|
@ -51,7 +51,7 @@ v1.9부터 이 레이블은 더 이상 사용되지 않는다.
|
|||
|
||||
예시: `app.kubernetes.io/managed-by: "helm"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
적용 대상: 모든 오브젝트 (일반적으로 [워크로드 리소스](/docs/reference/kubernetes-api/workload-resources/)에서 사용됨)
|
||||
|
||||
애플리케이션의 작업을 관리하기 위해 사용되는 도구.
|
||||
|
||||
|
@ -61,7 +61,7 @@ v1.9부터 이 레이블은 더 이상 사용되지 않는다.
|
|||
|
||||
예시: `app.kubernetes.io/name: "mysql"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
적용 대상: 모든 오브젝트 (일반적으로 [워크로드 리소스](/docs/reference/kubernetes-api/workload-resources/)에서 사용됨)
|
||||
|
||||
애플리케이션의 이름.
|
||||
|
||||
|
@ -71,7 +71,7 @@ v1.9부터 이 레이블은 더 이상 사용되지 않는다.
|
|||
|
||||
예시: `app.kubernetes.io/part-of: "wordpress"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
적용 대상: 모든 오브젝트 (일반적으로 [워크로드 리소스](/docs/reference/kubernetes-api/workload-resources/)에서 사용됨)
|
||||
|
||||
해당 애플리케이션이 속한 상위 레벨의 애플리케이션 이름.
|
||||
|
||||
|
@ -81,9 +81,14 @@ v1.9부터 이 레이블은 더 이상 사용되지 않는다.
|
|||
|
||||
예시: `app.kubernetes.io/version: "5.7.21"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
적용 대상: 모든 오브젝트 (일반적으로 [워크로드 리소스](/docs/reference/kubernetes-api/workload-resources/)에서 사용됨)
|
||||
|
||||
애플리케이션의 현재 버전(시맨틱 버전, 리비전 해시, 기타 등등).
|
||||
애플리케이션의 현재 버전.
|
||||
|
||||
일반적으로 다음과 같은 형태의 값들을 포함한다.
|
||||
|
||||
- [시맨틱 버전](https://semver.org/spec/v1.0.0.html)
|
||||
- [리비전 해시](https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection#_single_revisions) 깃 소스 코드
|
||||
|
||||
[추천하는 레이블](/ko/docs/concepts/overview/working-with-objects/common-labels/#labels)을 확인한다.
|
||||
|
||||
|
@ -128,6 +133,20 @@ Go에 의해 정의된 `runtime.GOOS` 값을 kubelet이 읽어서 이 레이블
|
|||
레이블 {{< glossary_tooltip text="셀렉터" term_id="selector" >}}를 이용하여 특정 네임스페이스를 지정하고 싶다면
|
||||
이 레이블이 유용할 수 있다.
|
||||
|
||||
### kubernetes.io/limit-ranger
|
||||
|
||||
예시: `kubernetes.io/limit-ranger: "LimitRanger plugin set: cpu, memory request for container nginx; cpu, memory limit for container nginx"`
|
||||
|
||||
적용 대상: 파드
|
||||
|
||||
쿠버네티스는 기본적으로 어떠한 리소스 한도도 설정하지 않는다. 명시적으로 한도를 설정하지 않을 경우,
|
||||
컨테이너는 CPU와 메모리를 무제한으로 사용하게 된다.
|
||||
네임스페이스에 리밋레인지를 생성함으로써 리소스에 대한 요청이나 한도 기본값을 파드에 설정할 수 있다.
|
||||
리밋레인지를 정의한 뒤에 배포된 파드들은 이러한 한도가 적용된다.
|
||||
`kubernetes.io/limit-ranger` 어노테이션은 파드에 대해 리소스 기본값이
|
||||
성공적으로 적용되었다고 기록한다.
|
||||
자세한 내용은 [리밋레인지](/docs/concepts/policy/limit-range)를 확인한다.
|
||||
|
||||
## beta.kubernetes.io/arch (사용 중단됨)
|
||||
|
||||
이 레이블은 사용 중단되었다. 대신 `kubernetes.io/arch` 을 사용한다.
|
||||
|
@ -173,6 +192,17 @@ kubelet이 호스트네임을 읽어서 이 레이블의 값으로 채운다. `k
|
|||
|
||||
이 어노테이션의 값은 **true**로 설정되어야만 작동한다. 이 어노테이션은, 해당 서비스어카운트로 동작중인 파드가 그 서비스어카운트의 `secrets` 항목에 명시된 Secret API 오브젝트만을 참조한다는 뜻이다.
|
||||
|
||||
### node.kubernetes.io/exclude-from-external-load-balancer
|
||||
|
||||
예시: `node.kubernetes.io/exclude-from-external-load-balancer`
|
||||
|
||||
적용 대상: 노드
|
||||
|
||||
쿠버네티스는 클러스터에 `ServiceNodeExclusion` 기능 게이트를 자동으로 활성화한다. 해당 기능 게이트가 클러스터에 활성화되어 있으면,
|
||||
백엔드 서버들로부터 특정 워커 노드를 제외시키도록 레이블을 추가할 수 있다.
|
||||
다음 명령어는 백엔드 목록에서 워커 노드를 제외시키는 명령어이다.
|
||||
`kubectl label nodes <node-name> node.kubernetes.io/exclude-from-external-load-balancers=true`
|
||||
|
||||
## controller.kubernetes.io/pod-deletion-cost {#pod-deletion-cost}
|
||||
|
||||
예시: `controller.kubernetes.io/pod-deletion-cost=10`
|
||||
|
@ -207,7 +237,7 @@ kubelet이 호스트네임을 읽어서 이 레이블의 값으로 채운다. `k
|
|||
실행파일이 CNI의 실행파일 경로(기본적으로 `/opt/cni/bin`) 아래에 포함되어있는지도 확인하자.
|
||||
{{< /note >}}
|
||||
|
||||
Example: `kubernetes.io/ingress-bandwidth: 10M`
|
||||
예시: `kubernetes.io/ingress-bandwidth: 10M`
|
||||
|
||||
적용 대상: 파드
|
||||
|
||||
|
@ -276,6 +306,14 @@ Example: `kubernetes.io/ingress-bandwidth: 10M`
|
|||
스테이트풀셋 문서의 [파드 이름 레이블](/ko/docs/concepts/workloads/controllers/statefulset/#파드-이름-레이블)에서
|
||||
상세 사항을 확인한다.
|
||||
|
||||
### scheduler.alpha.kubernetes.io/node-selector {#schedulerkubernetesnode-selector}
|
||||
|
||||
예시: `scheduler.alpha.kubernetes.io/node-selector: "name-of-node-selector"`
|
||||
|
||||
적용 대상: 네임스페이스
|
||||
|
||||
[파드-노드 셀렉터(PodNodeSelector)](/docs/reference/access-authn-authz/admission-controllers/#podnodeselector)는 이 어노테이션의 키를 사용하여 네임스페이스의 파드들에 노드 셀렉터를 할당한다.
|
||||
|
||||
## topology.kubernetes.io/region {#topologykubernetesioregion}
|
||||
|
||||
예시:
|
||||
|
@ -323,7 +361,7 @@ _SelectorSpreadPriority_ 는 최선 노력(best effort) 배치 방법이다. 클
|
|||
|
||||
이 어노테이션은 사용 중단되었다.
|
||||
|
||||
### volume.beta.kubernetes.io/mount-options (deprecated) {#mount-options}
|
||||
### volume.beta.kubernetes.io/mount-options (사용 중단) {#mount-options}
|
||||
|
||||
예시 : `volume.beta.kubernetes.io/mount-options: "ro,soft"`
|
||||
|
||||
|
@ -359,17 +397,22 @@ kubelet이 Microsoft 윈도우에서 실행되고 있다면, 사용 중인 Windo
|
|||
|
||||
## kubernetes.io/service-name {#kubernetesioservice-name}
|
||||
|
||||
예시: `kubernetes.io/service-name="nginx"`
|
||||
예시: `kubernetes.io/service-name="my-website"`
|
||||
|
||||
적용 대상: 서비스
|
||||
적용 대상: 엔드포인트슬라이스(EndpointSlices)
|
||||
|
||||
쿠버네티스가 여러 서비스를 구분하기 위해 이 레이블을 사용한다. 현재는 `ELB`(Elastic Load Balancer) 를 위해서만 사용되고 있다.
|
||||
쿠버네티스는 이 레이블을 사용하여 [엔드포인트슬라이스](/docs/concepts/services-networking/endpoint-slices/)와
|
||||
[서비스](/docs/concepts/services-networking/service/)를 결합한다.
|
||||
|
||||
이 레이블은 엔드포인트슬라이스가 지원하는 서비스의 {{< glossary_tooltip term_id="name" text="이름">}}을 기록한다.
|
||||
모든 엔드포인트슬라이스는 이 레이블을
|
||||
자신과 연결된 서비스의 이름으로 설정해야 한다.
|
||||
|
||||
### kubernetes.io/service-account.name
|
||||
|
||||
예시: `kubernetes.io/service-account.name: "sa-name"`
|
||||
|
||||
Used on: 시크릿(Secret)
|
||||
적용 대상: 시크릿(Secret)
|
||||
|
||||
이 어노테이션에는 토큰(`kubernetes.io/service-account-token` 타입의 시크릿에 저장되는)이 나타내는
|
||||
서비스어카운트의 {{< glossary_tooltip term_id="name" text="이름">}}을 기록한다.
|
||||
|
@ -383,11 +426,25 @@ Used on: 시크릿(Secret)
|
|||
이 어노테이션에는 토큰(`kubernetes.io/service-account-token` 타입의 시크릿에 저장되는)이 나타내는
|
||||
서비스어카운트의 {{< glossary_tooltip term_id="uid" text="고유 ID">}}를 기록한다.
|
||||
|
||||
### kubernetes.io/legacy-token-last-used
|
||||
|
||||
예시: `kubernetes.io/legacy-token-last-used: 2022-10-24`
|
||||
|
||||
적용 대상: 시크릿
|
||||
|
||||
컨트롤 플레인은 `kubernetes.io/service-account-token` 타입을 갖는 시크릿에 대해서만 이 레이블을 추가한다.
|
||||
이 레이블의 값은, 클라이언트가 서비스어카운트 토큰을 사용하여 인증한 요청을
|
||||
컨트롤 플레인이 마지막으로 확인한 날짜(ISO 8601 형식, UTC 시간대)를 기록한다.
|
||||
|
||||
클러스터가 해당 기능을 얻기 전에 기존의 토큰을 마지막으로 사용한 경우(쿠버네티스 v1.26에 추가됨),
|
||||
이 레이블은 설정되지 않는다.
|
||||
|
||||
|
||||
## endpointslice.kubernetes.io/managed-by {#endpointslicekubernetesiomanaged-by}
|
||||
|
||||
예시: `endpointslice.kubernetes.io/managed-by="controller"`
|
||||
|
||||
적용 대상: 엔드포인트슬라이스(EndpointSlices)
|
||||
적용 대상: 엔드포인트슬라이스
|
||||
|
||||
이 레이블은 엔드포인트슬라이스(EndpointSlice)를 어떤 컨트롤러나 엔티티가 관리하는지를 나타내기 위해 사용된다. 이 레이블을 사용함으로써 한 클러스터 내에서 여러 엔드포인트슬라이스 오브젝트가 각각 다른 컨트롤러나 엔티티에 의해 관리될 수 있다.
|
||||
|
||||
|
@ -407,7 +464,7 @@ Used on: 시크릿(Secret)
|
|||
|
||||
kube-proxy 에는 커스텀 프록시를 위한 이와 같은 레이블이 있으며, 이 레이블은 서비스 컨트롤을 커스텀 프록시에 위임한다.
|
||||
|
||||
## experimental.windows.kubernetes.io/isolation-type (deprecated) {#experimental-windows-kubernetes-io-isolation-type}
|
||||
## experimental.windows.kubernetes.io/isolation-type (사용 중단) {#experimental-windows-kubernetes-io-isolation-type}
|
||||
|
||||
예시: `experimental.windows.kubernetes.io/isolation-type: "hyperv"`
|
||||
|
||||
|
@ -474,19 +531,37 @@ kube-controller-manager의 잡(Job) 컨트롤러는
|
|||
|
||||
적용 대상: 엔드포인트(Endpoints)
|
||||
|
||||
v1.22 이상의 쿠버네티스 클러스터에서, 한 엔드포인트(Endpoints) 리소스가 관리하고 있는 엔드포인트의 수가 1000개 이상이면 엔드포인트 컨트롤러가 해당 엔드포인트 리소스에 이 어노테이션을 추가한다. 이 어노테이션은 해당 엔드포인트 리소스가 용량 초과 되었으며 엔드포인트 컨트롤러가 엔드포인트의 수를 1000으로 줄였음을 나타낸다.
|
||||
{{< glossary_tooltip text="컨트롤 플레인" term_id="control-plane" >}}은, 연결된 {{< glossary_tooltip text="서비스" term_id="service" >}}에 1000개 이상의 엔드포인트가 있는 경우, 이 어노테이션을 [엔드포인트](/docs/concepts/services-networking/service/#endpoints) 오브젝트에 추가한다. 이 어노테이션은 엔드포인트의 용량이 초과되었거나 엔드포인트의 수가 1000개로 잘렸음을 나타낸다.
|
||||
|
||||
## batch.kubernetes.io/job-tracking
|
||||
백엔드 엔드포인트의 수가 1000개 미만이면, 컨트롤 플레인은 이 어노테이션을 제거한다.
|
||||
|
||||
### batch.kubernetes.io/job-tracking (사용 중단) {#batch-kubernetes-io-job-tracking}
|
||||
|
||||
예시: `batch.kubernetes.io/job-tracking: ""`
|
||||
|
||||
적용 대상: 잡
|
||||
|
||||
잡에 어노테이션이 있으면 컨트롤 플레인은 [finalizers를 사용하여 잡 상태 추적](/ko/docs/concepts/workloads/controllers/job/#job-tracking-with-finalizers)
|
||||
중임을 나타낸다.
|
||||
어노테이션을 수동으로 추가하거나 제거하지 **않는다**.
|
||||
잡에 이 어노테이션이 있는 경우, 컨트롤 플레인이
|
||||
[파이널라이저(finalizer)를 이용하여 잡 상태를 추적](/ko/docs/concepts/workloads/controllers/job/#종료자-finalizers-를-이용한-잡-추적)하고 있음을 나타낸다.
|
||||
컨트롤 플레인은 이 어노테이션을 사용하여, 아직 기능이 개발 중인 동안
|
||||
파이널라이저를 사용하여 잡을 추적하도록 안전하게 전환한다.
|
||||
이 어노테이션을 수동으로 추가하거나 제거해서는 **안 된다**.
|
||||
|
||||
## scheduler.alpha.kubernetes.io/preferAvoidPods (deprecated) {#scheduleralphakubernetesio-preferavoidpods}
|
||||
{{< note >}}
|
||||
쿠버네티스 1.26 부터, 이 어노테이션은 사용되지 않는다.
|
||||
쿠버네티스 1.27 과 그 이상의 버전들은 이 어노테이션을 무시할 것이며,
|
||||
항상 파이널라이저를 사용하여 잡을 추적할 것이다..
|
||||
{{< /note >}}
|
||||
|
||||
### scheduler.alpha.kubernetes.io/defaultTolerations {#scheduleralphakubernetesio-defaulttolerations}
|
||||
|
||||
예시: `scheduler.alpha.kubernetes.io/defaultTolerations: '[{"operator": "Equal", "value": "value1", "effect": "NoSchedule", "key": "dedicated-node"}]'`
|
||||
|
||||
적용 대상: 네임스페이스
|
||||
|
||||
이 어노테이션은 [PodTolerationRestriction](/docs/reference/access-authn-authz/admission-controllers/#podtolerationrestriction) 어드미션 컨트롤러가 활성화되어 있어야 한다. 어노테이션의 키는 네임스페이스에 톨러레이션(toleration)을 할당하는 것을 허용하며, 해당 네임스페이스에 생성되는 모든 파드들은 이 톨러레이션이 부여된다.
|
||||
|
||||
## scheduler.alpha.kubernetes.io/preferAvoidPods (사용 중단) {#scheduleralphakubernetesio-preferavoidpods}
|
||||
|
||||
적용 대상: 노드
|
||||
|
||||
|
@ -730,7 +805,7 @@ etcd 클라이언트들이 접근할 수 있는 URL 목록을 추적하기 위
|
|||
|
||||
### kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint
|
||||
|
||||
예시: `kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: https//172.17.0.18:6443`
|
||||
예시: `kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: https://172.17.0.18:6443`
|
||||
|
||||
적용 대상: 파드
|
||||
|
||||
|
@ -752,10 +827,20 @@ etcd 클라이언트들이 접근할 수 있는 URL 목록을 추적하기 위
|
|||
|
||||
kubeadm이 관리하는 컨트롤 플레인 노드에 적용되는 레이블.
|
||||
|
||||
### node-role.kubernetes.io/control-plane
|
||||
### node-role.kubernetes.io/control-plane {#node-role-kubernetes-io-control-plane-taint}
|
||||
|
||||
예시: `node-role.kubernetes.io/control-plane:NoSchedule`
|
||||
|
||||
적용 대상: 노드
|
||||
|
||||
중요한 워크로드만 스케줄링할 수 있도록 컨트롤 플레인 노드에 적용시키는 테인트.
|
||||
|
||||
### node-role.kubernetes.io/master (사용 중단) {#node-role-kubernetes-io-master-taint}
|
||||
|
||||
적용 대상: Node
|
||||
|
||||
예시: `node-role.kubernetes.io/master:NoSchedule`
|
||||
|
||||
이전 버전에서 kubeadm이 컨트롤 플레인에 중요한 워크로드만 스케줄링하기 위해 적용했던 테인트.
|
||||
[`node-role.kubernetes.io/control-plane`](#node-role-kubernetes-io-control-plane-taint)로 대체되었다.
|
||||
kubeadm은 더 이상 해당 테인트를 설정하거나 사용하지 않는다.
|
||||
|
|
Loading…
Reference in New Issue