[ko] Update outdated files in dev-1.24-ko.2 (M54-M64)
parent
22194189ed
commit
4f7d6ab342
|
@ -77,9 +77,11 @@ TCP/UDP 스트림 포워딩이나 백-엔드 집합에 걸쳐서 라운드-로
|
|||
* [kube-apiserver 환경설정 (v1alpha1)](/docs/reference/config-api/apiserver-config.v1alpha1/)
|
||||
* [kube-apiserver 환경설정 (v1)](/docs/reference/config-api/apiserver-config.v1/)
|
||||
* [kube-apiserver 암호화 (v1)](/docs/reference/config-api/apiserver-encryption.v1/)
|
||||
* [kube-apiserver 요청 제한 (v1alpha1)](/docs/reference/config-api/apiserver-eventratelimit.v1alpha1/)
|
||||
* [kubelet 환경설정 (v1alpha1)](/docs/reference/config-api/kubelet-config.v1alpha1/) 및
|
||||
[kubelet 환경설정 (v1beta1)](/docs/reference/config-api/kubelet-config.v1beta1/)
|
||||
* [kubelet 크리덴셜 제공자 (v1alpha1)](/docs/reference/config-api/kubelet-credentialprovider.v1alpha1/)
|
||||
* [kubelet 자격증명 제공자 (v1alpha1)](/docs/reference/config-api/kubelet-credentialprovider.v1alpha1/)
|
||||
* [kubelet 자격증명 제공자 (v1beta1)](/docs/reference/config-api/kubelet-credentialprovider.v1beta1/)
|
||||
* [kube-scheduler 환경설정 (v1beta2)](/docs/reference/config-api/kube-scheduler-config.v1beta2/) 및
|
||||
[kube-scheduler 환경설정 (v1beta3)](/docs/reference/config-api/kube-scheduler-config.v1beta3/)
|
||||
* [kube-proxy 환경설정 (v1alpha1)](/docs/reference/config-api/kube-proxy-config.v1alpha1/)
|
||||
|
@ -87,6 +89,7 @@ TCP/UDP 스트림 포워딩이나 백-엔드 집합에 걸쳐서 라운드-로
|
|||
* [클라이언트 인증 API (v1beta1)](/docs/reference/config-api/client-authentication.v1beta1/) 및
|
||||
[클라이언트 인증 API (v1)](/docs/reference/config-api/client-authentication.v1/)
|
||||
* [WebhookAdmission 환경설정 (v1)](/docs/reference/config-api/apiserver-webhookadmission.v1/)
|
||||
* [이미지 정책 API (v1alpha1)](/docs/reference/config-api/imagepolicy.v1alpha1/)
|
||||
|
||||
## kubeadm을 위한 API 설정
|
||||
|
||||
|
@ -96,5 +99,5 @@ TCP/UDP 스트림 포워딩이나 백-엔드 집합에 걸쳐서 라운드-로
|
|||
## 설계 문서
|
||||
|
||||
쿠버네티스 기능에 대한 설계 문서의 아카이브.
|
||||
[쿠버네티스 아키텍처](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md)와
|
||||
[쿠버네티스 디자인 개요](https://git.k8s.io/community/contributors/design-proposals)가 좋은 출발점이다.
|
||||
[쿠버네티스 아키텍처](https://git.k8s.io/design-proposals-archive/architecture/architecture.md)와
|
||||
[쿠버네티스 디자인 개요](https://git.k8s.io/design-proposals-archive)부터 읽어보는 것이 좋다.
|
||||
|
|
|
@ -24,3 +24,5 @@ no_list: true
|
|||
- 서비스 어카운트
|
||||
- [개발자 가이드](/docs/tasks/configure-pod-container/configure-service-account/)
|
||||
- [관리](/ko/docs/reference/access-authn-authz/service-accounts-admin/)
|
||||
- [kubelet 인증과 인가](/docs/reference/access-authn-authz/kubelet-authn-authz/)
|
||||
- kubelet [TLS 부트스트래핑](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/)을 포함함
|
||||
|
|
|
@ -760,7 +760,7 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면,
|
|||
Portworx CSI 플러그인으로 라우트하는 심(shim)과 변환 로직을 활성화한다.
|
||||
Portworx CSI 드라이버가 설치 및 설정되어 있어야 한다.
|
||||
- `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)
|
||||
- `CSIPersistentVolume`: [CSI (Container Storage Interface)](https://git.k8s.io/design-proposals-archive/storage/container-storage-interface.md)
|
||||
호환 볼륨 플러그인을 통해 프로비저닝된 볼륨을 감지하고
|
||||
마운트할 수 있다.
|
||||
- `CSIServiceAccountToken` : 볼륨을 마운트하는 파드의 서비스 계정 토큰을 받을 수 있도록
|
||||
|
@ -1087,10 +1087,10 @@ kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면,
|
|||
참조한다.
|
||||
- `RotateKubeletClientCertificate`: kubelet에서 클라이언트 TLS 인증서의 로테이션을 활성화한다.
|
||||
자세한 내용은
|
||||
[kubelet 구성](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/#kubelet-configuration)을 참고한다.
|
||||
[kubelet 구성](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/#kubelet-configuration)을 참고한다.
|
||||
- `RotateKubeletServerCertificate`: kubelet에서 서버 TLS 인증서의 로테이션을 활성화한다.
|
||||
자세한 사항은
|
||||
[kubelet 구성](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/#kubelet-configuration)을 확인한다.
|
||||
[kubelet 구성](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/#kubelet-configuration)을 확인한다.
|
||||
- `RunAsGroup`: 컨테이너의 init 프로세스에 설정된 기본 그룹 ID 제어를
|
||||
활성화한다.
|
||||
- `RuntimeClass`: 컨테이너 런타임 구성을 선택하기 위해 [런타임클래스(RuntimeClass)](/ko/docs/concepts/containers/runtime-class/)
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,6 @@ short_description: >
|
|||
타사 공급자가 유지보수하는 소프트웨어.
|
||||
|
||||
aka:
|
||||
|
||||
tags:
|
||||
- extension
|
||||
---
|
||||
|
@ -17,6 +16,3 @@ tags:
|
|||
|
||||
매니지드 서비스의 몇 가지 예시로 AWS EC2, Azure SQL Database 그리고
|
||||
GCP Pub/Sub이 있으나, 애플리케이션에서 사용할 수 있는 모든 소프트웨어 제품이 될 수 있다.
|
||||
[서비스 카탈로그](/ko/docs/concepts/extend-kubernetes/service-catalog/)는
|
||||
{{< glossary_tooltip text="서비스 브로커" term_id="service-broker" >}}가 제공하는
|
||||
매니지드 서비스의 목록과 프로비전, 바인딩하는 방법을 제공한다.
|
||||
|
|
|
@ -4,15 +4,15 @@ id: service-catalog
|
|||
date: 2018-04-12
|
||||
full_link:
|
||||
short_description: >
|
||||
쿠버네티스 클러스터 내에서 실행되는 응용 프로그램이 클라우드 공급자가 제공하는 데이터 저장소 서비스와 같은 외부 관리 소프트웨어 제품을 쉽게 사용할 수 있도록하는 확장 API이다.
|
||||
쿠버네티스 클러스터 내에서 실행되는 응용 프로그램이, 클라우드 공급자가 제공하는 데이터 저장소 서비스와 같은 외부 관리 소프트웨어 제품을 쉽게 사용할 수 있도록 해주던 이전의 확장 API이다.
|
||||
|
||||
aka:
|
||||
tags:
|
||||
- extension
|
||||
---
|
||||
쿠버네티스 클러스터 내에서 실행되는 응용 프로그램이 클라우드 공급자가 제공하는 데이터 저장소 서비스와 같은 외부 관리 소프트웨어 제품을 쉽게 사용할 수 있도록하는 확장 API이다.
|
||||
쿠버네티스 클러스터 내에서 실행되는 응용 프로그램이, 클라우드 공급자가 제공하는 데이터 저장소 서비스와 같은 외부 관리 소프트웨어 제품을 쉽게 사용할 수 있도록 해주던 이전의 확장 API이다.
|
||||
|
||||
<!--more-->
|
||||
|
||||
서비스 생성 또는 관리에 대한 자세한 지식 없이도 {{< glossary_tooltip text="서비스 브로커" term_id="service-broker" >}}를 통해 외부의 {{< glossary_tooltip text="매니지드 서비스" term_id="managed-service" >}}의 목록과 프로비전, 바인딩하는 방법을 제공한다.
|
||||
서비스 생성 또는 관리에 대한 자세한 지식 없이도 외부의 {{< glossary_tooltip text="매니지드 서비스" term_id="managed-service" >}}의 목록과 프로비전, 바인딩하는 방법을 제공한다.
|
||||
|
||||
|
|
|
@ -30,14 +30,14 @@ echo "source <(kubectl completion bash)" >> ~/.bashrc # 자동 완성을 bash
|
|||
|
||||
```bash
|
||||
alias k=kubectl
|
||||
complete -F __start_kubectl k
|
||||
complete -o default -F __start_kubectl k
|
||||
```
|
||||
|
||||
### ZSH
|
||||
|
||||
```bash
|
||||
source <(kubectl completion zsh) # 현재 셸에 zsh의 자동 완성 설정
|
||||
echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc # 자동 완성을 zsh 셸에 영구적으로 추가한다.
|
||||
echo '[[ $commands[kubectl] ]] && source <(kubectl completion zsh)' >> ~/.zshrc # 자동 완성을 zsh 셸에 영구적으로 추가한다.
|
||||
```
|
||||
### --all-namespaces 에 대한 노트
|
||||
|
||||
|
@ -265,22 +265,22 @@ kubectl autoscale deployment foo --min=2 --max=10 # 디플로이
|
|||
## 리소스 패치
|
||||
|
||||
```bash
|
||||
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}' # 노드를 부분적으로 업데이트
|
||||
# 노드를 부분적으로 업데이트
|
||||
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'
|
||||
|
||||
# 컨테이너의 이미지를 업데이트. 병합(merge) 키이므로, spec.containers[*].name이 필요.
|
||||
# 컨테이너의 이미지를 업데이트. 병합(merge) 키이므로, spec.containers[*].name이 필요
|
||||
kubectl patch pod valid-pod -p '{"spec":{"containers":[{"name":"kubernetes-serve-hostname","image":"new image"}]}}'
|
||||
|
||||
# 위치 배열을 이용한 json 패치를 사용하여, 컨테이너의 이미지를 업데이트.
|
||||
# 위치 배열을 이용한 json 패치를 사용하여, 컨테이너의 이미지를 업데이트
|
||||
kubectl patch pod valid-pod --type='json' -p='[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}]'
|
||||
|
||||
# 위치 배열을 이용한 json 패치를 사용하여 livenessProbe 디플로이먼트 비활성화.
|
||||
# 위치 배열을 이용한 json 패치를 사용하여 livenessProbe 디플로이먼트 비활성화
|
||||
kubectl patch deployment valid-deployment --type json -p='[{"op": "remove", "path": "/spec/template/spec/containers/0/livenessProbe"}]'
|
||||
|
||||
# 위치 배열에 새 요소 추가
|
||||
kubectl patch sa default --type='json' -p='[{"op": "add", "path": "/secrets/1", "value": {"name": "whatever" } }]'
|
||||
|
||||
# Update a deployment's replicas count by patching it's scale subresource
|
||||
# 디플로이먼트의 scale 서브리소스를 패치하여 레플리카 카운트를 업데이트.
|
||||
# 디플로이먼트의 scale 서브리소스를 패치하여 레플리카 수 업데이트
|
||||
kubectl patch deployment nginx-deployment --subresource='scale' --type='merge' -p '{"spec":{"replicas":2}}'
|
||||
```
|
||||
|
||||
|
@ -381,7 +381,10 @@ kubectl cluster-info # 마스
|
|||
kubectl cluster-info dump # 현재 클러스터 상태를 stdout으로 덤프
|
||||
kubectl cluster-info dump --output-directory=/path/to/cluster-state # 현재 클러스터 상태를 /path/to/cluster-state으로 덤프
|
||||
|
||||
# key와 effect가 있는 테인트(taint)가 이미 존재하면, 그 값이 지정된 대로 대체된다.
|
||||
# 현재 노드에 존재하고 있는 테인트(taint)들을 확인
|
||||
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
|
||||
```
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
title: 잘 알려진 레이블, 어노테이션, 테인트(Taint)
|
||||
content_type: concept
|
||||
weight: 20
|
||||
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
@ -10,10 +11,80 @@ weight: 20
|
|||
|
||||
이 문서는 각 값에 대한 레퍼런스를 제공하며, 값을 할당하기 위한 협력 포인트도 제공한다.
|
||||
|
||||
|
||||
|
||||
<!-- body -->
|
||||
|
||||
## API 오브젝트에서 사용되는 레이블, 어노테이션, 테인트
|
||||
|
||||
### app.kubernetes.io/component
|
||||
|
||||
예시: `app.kubernetes.io/component: "database"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
|
||||
아키텍처 내의 컴포넌트.
|
||||
|
||||
[추천하는 레이블](/ko/docs/concepts/overview/working-with-objects/common-labels/#labels)을 확인한다.
|
||||
|
||||
### app.kubernetes.io/created-by
|
||||
|
||||
예시: `app.kubernetes.io/created-by: "controller-manager"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
|
||||
리소스를 생성한 컨트롤러/사용자.
|
||||
|
||||
[추천하는 레이블](/ko/docs/concepts/overview/working-with-objects/common-labels/#labels)을 확인한다.
|
||||
|
||||
### app.kubernetes.io/instance
|
||||
|
||||
예시: `app.kubernetes.io/instance: "mysql-abcxzy"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
|
||||
애플리케이션 인스턴스를 식별하기 위한 고유한 이름.
|
||||
|
||||
[추천하는 레이블](/ko/docs/concepts/overview/working-with-objects/common-labels/#labels)을 확인한다.
|
||||
|
||||
### app.kubernetes.io/managed-by
|
||||
|
||||
예시: `app.kubernetes.io/managed-by: "helm"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
|
||||
애플리케이션의 작업을 관리하기 위해 사용되는 도구.
|
||||
|
||||
[추천하는 레이블](/ko/docs/concepts/overview/working-with-objects/common-labels/#labels)을 확인한다.
|
||||
|
||||
### app.kubernetes.io/name
|
||||
|
||||
예시: `app.kubernetes.io/name: "mysql"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
|
||||
애플리케이션의 이름.
|
||||
|
||||
[추천하는 레이블](/ko/docs/concepts/overview/working-with-objects/common-labels/#labels)을 확인한다.
|
||||
|
||||
### app.kubernetes.io/part-of
|
||||
|
||||
예시: `app.kubernetes.io/part-of: "wordpress"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
|
||||
해당 애플리케이션이 속한 상위 레벨의 애플리케이션 이름.
|
||||
|
||||
[추천하는 레이블](/ko/docs/concepts/overview/working-with-objects/common-labels/#labels)을 확인한다.
|
||||
|
||||
### app.kubernetes.io/version
|
||||
|
||||
예시: `app.kubernetes.io/version: "5.7.21"`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
|
||||
애플리케이션의 현재 버전(시맨틱 버전, 리비전 해시, 기타 등등).
|
||||
|
||||
[추천하는 레이블](/ko/docs/concepts/overview/working-with-objects/common-labels/#labels)을 확인한다.
|
||||
|
||||
## kubernetes.io/arch
|
||||
|
||||
예시: `kubernetes.io/arch=amd64`
|
||||
|
@ -72,15 +143,69 @@ kubelet이 호스트네임을 읽어서 이 레이블의 값으로 채운다. `k
|
|||
|
||||
어떤 오브젝트를 변경할 수도 있는 `kubectl` 명령에 `--record` 플래그를 사용하면 이 레이블이 추가된다.
|
||||
|
||||
### kubernetes.io/description {#description}
|
||||
|
||||
예시: `kubernetes.io/description: "Description of K8s object."`
|
||||
|
||||
적용 대상: 모든 오브젝트
|
||||
|
||||
이 어노테이션은 주어진 오브젝트의 특정 상태를 표현하는데 사용한다.
|
||||
|
||||
### kubernetes.io/enforce-mountable-secrets {#enforce-mountable-secrets}
|
||||
|
||||
예시: `kubernetes.io/enforce-mountable-secrets: "true"`
|
||||
|
||||
적용 대상: 서비스어카운트(ServiceAccount)
|
||||
|
||||
이 어노테이션의 값은 **true**로 설정되어야만 작동한다. 이 어노테이션은, 해당 서비스어카운트로 동작중인 파드가 그 서비스어카운트의 `secrets` 항목에 명시된 Secret API 오브젝트만을 참조한다는 뜻이다.
|
||||
|
||||
## controller.kubernetes.io/pod-deletion-cost {#pod-deletion-cost}
|
||||
|
||||
예시: `controller.kubernetes.io/pod-deletion-cost=10`
|
||||
|
||||
적용 대상: Pod
|
||||
적용 대상: 파드
|
||||
|
||||
이 어노테이션은 레플리카셋(ReplicaSet) 다운스케일 순서를 조정할 수 있는 요소인 [파드 삭제 비용](/ko/docs/concepts/workloads/controllers/replicaset/#파드-삭제-비용)을
|
||||
설정하기 위해 사용한다. 명시된 값은 `int32` 타입으로 파싱된다.
|
||||
|
||||
### kubernetes.io/ingress-bandwidth
|
||||
|
||||
{{< note >}}
|
||||
인그레스 트래픽 조절 어노테이션은 실험적인 기능이다.
|
||||
만약 트래픽 조절 기능을 활성화시키고 싶다면, CNI 설정 파일(기본적으로 `/etc/cni/net.d`)에 `bandwidth` 플러그인을 추가해야 하며,
|
||||
실행파일이 CNI의 실행파일 경로(기본적으로 `/opt/cni/bin`) 아래에 포함되어있는지도 확인하자.
|
||||
{{< /note >}}
|
||||
|
||||
Example: `kubernetes.io/ingress-bandwidth: 10M`
|
||||
|
||||
적용 대상: 파드
|
||||
|
||||
파드에 QoS(quality-of-service)를 적용함으로써 가용한 대역폭을 효과적으로 제한할 수 있다.
|
||||
인그레스 트래픽(파드로 향하는)은 효과적으로 데이터를 처리하기 위해 대기 중인 패킷을 큐로 관리한다.
|
||||
파드의 대역폭을 제한하기 위해서는, 오브젝트를 정의하는 JSON 파일을 작성하고
|
||||
`kubernetes.io/ingress-bandwidth` 어노테이션을 통해 데이터 트래픽의 속도를 명시한다. 인그레스 속도를 명시할 때 사용되는 단위는
|
||||
초당 비트([수량](/docs/reference/kubernetes-api/common-definitions/quantity/))이다.
|
||||
예를 들어, `10M`은 초당 10 메가비트를 의미한다.
|
||||
|
||||
### kubernetes.io/egress-bandwidth
|
||||
|
||||
{{< note >}}
|
||||
이그레스 트래픽 조절 어노테이션은 실험적인 기능이다.
|
||||
만약 트래픽 조절 기능을 활성화시키고 싶다면, CNI 설정 파일(기본적으로 `/etc/cni/net.d`)에 `bandwidth` 플러그인을 추가해야 하며,
|
||||
실행파일이 CNI의 실행파일 경로(기본적으로 `/opt/cni/bin`) 아래에 포함되어있는지도 확인하자.
|
||||
{{< /note >}}
|
||||
|
||||
예시: `kubernetes.io/egress-bandwidth: 10M`
|
||||
|
||||
적용 대상: 파드
|
||||
|
||||
이그레스 트래픽(파드로부터의)은 설정된 속도를 초과하는 패킷을 삭제하는 정책에 의해 처리되며,
|
||||
파드에 거는 제한은 다른 파드의 대역폭에 영향을 주지 않는다.
|
||||
파드의 대역폭을 제한하기 위해서는, 오브젝트를 정의하는 JSON 파일을 작성하고
|
||||
`kubernetes.io/egress-bandwidth` 어노테이션을 통해 데이터 트래픽의 속도를 명시한다. 이그레스 속도를 명시할 때 사용되는 단위는
|
||||
초당 비트([수량](/docs/reference/kubernetes-api/common-definitions/quantity/))이다.
|
||||
예를 들어, `10M`은 초당 10 메가비트를 의미한다.
|
||||
|
||||
## beta.kubernetes.io/instance-type (사용 중단됨)
|
||||
|
||||
{{< note >}} v1.17부터, [`node.kubernetes.io/instance-type`](#nodekubernetesioinstance-type)으로 대체되었다. {{< /note >}}
|
||||
|
@ -163,13 +288,23 @@ _SelectorSpreadPriority_ 는 최선 노력(best effort) 배치 방법이다. 클
|
|||
|
||||
예시: `volume.beta.kubernetes.io/storage-provisioner: k8s.io/minikube-hostpath`
|
||||
|
||||
적용 대상: PersistentVolumeClaim
|
||||
적용 대상: 퍼시스턴트볼륨클레임(PersistentVolumeClaim)
|
||||
|
||||
이 어노테이션은 사용 중단되었다.
|
||||
|
||||
### volume.beta.kubernetes.io/mount-options (deprecated) {#mount-options}
|
||||
|
||||
예시 : `volume.beta.kubernetes.io/mount-options: "ro,soft"`
|
||||
|
||||
적용 대상: 퍼시스턴트볼륨
|
||||
|
||||
쿠버네티스 관리자는, 노드에 퍼시스턴트볼륨이 마운트될 경우 추가적인 [마운트 옵션](/ko/docs/concepts/storage/persistent-volumes/#mount-options)을 명세할 수 있다.
|
||||
|
||||
이 어노테이션은 사용 중단되었다.
|
||||
|
||||
## volume.kubernetes.io/storage-provisioner
|
||||
|
||||
적용 대상: PersistentVolumeClaim
|
||||
적용 대상: 퍼시스턴트볼륨클레임
|
||||
|
||||
이 어노테이션은 동적 프로비저닝이 요구되는 PVC에 추가될 예정이다.
|
||||
|
||||
|
@ -199,6 +334,24 @@ kubelet이 Microsoft 윈도우에서 실행되고 있다면, 사용 중인 Windo
|
|||
|
||||
쿠버네티스가 여러 서비스를 구분하기 위해 이 레이블을 사용한다. 현재는 `ELB`(Elastic Load Balancer) 를 위해서만 사용되고 있다.
|
||||
|
||||
### kubernetes.io/service-account.name
|
||||
|
||||
예시: `kubernetes.io/service-account.name: "sa-name"`
|
||||
|
||||
Used on: 시크릿(Secret)
|
||||
|
||||
이 어노테이션에는 토큰(`kubernetes.io/service-account-token` 타입의 시크릿에 저장되는)이 나타내는
|
||||
서비스어카운트의 {{< glossary_tooltip term_id="name" text="이름">}}을 기록한다.
|
||||
|
||||
### kubernetes.io/service-account.uid
|
||||
|
||||
예시: `kubernetes.io/service-account.uid: da68f9c6-9d26-11e7-b84e-002dc52800da`
|
||||
|
||||
적용 대상: 시크릿
|
||||
|
||||
이 어노테이션에는 토큰(`kubernetes.io/service-account-token` 타입의 시크릿에 저장되는)이 나타내는
|
||||
서비스어카운트의 {{< glossary_tooltip term_id="uid" text="고유 ID">}}를 기록한다.
|
||||
|
||||
## endpointslice.kubernetes.io/managed-by {#endpointslicekubernetesiomanaged-by}
|
||||
|
||||
예시: `endpointslice.kubernetes.io/managed-by="controller"`
|
||||
|
@ -257,7 +410,7 @@ v1.18부터, `spec.ingressClassName`으로 대체되었다.
|
|||
적용 대상: 스토리지클래스(StorageClass)
|
||||
|
||||
하나의 스토리지클래스(StorageClass) 리소스에 이 어노테이션이 `"true"`로 설정된 경우,
|
||||
클래스가 명시되지 않은 새로운 퍼시스턴트볼륨클레임(PersistentVolumeClaim) 리소스는 해당 기본 클래스로 할당될 것이다.
|
||||
클래스가 명시되지 않은 새로운 퍼시스턴트볼륨클레임 리소스는 해당 기본 클래스로 할당될 것이다.
|
||||
|
||||
## alpha.kubernetes.io/provided-node-ip
|
||||
|
||||
|
@ -354,6 +507,21 @@ kubelet은 노드의 `imagefs.available`, `imagefs.inodesFree`, `nodefs.availabl
|
|||
|
||||
kubelet은 '`/proc/sys/kernel/pid_max`의 크기의 D-값'과 노드에서 쿠버네티스가 사용 중인 PID를 확인하여, `pid.available` 지표라고 불리는 '사용 가능한 PID 수'를 가져온다. 그 뒤, 관측한 지표를 kubelet에 설정된 문턱값(threshold)과 비교하여 노드 컨디션과 테인트의 추가/삭제 여부를 결정한다.
|
||||
|
||||
### node.kubernetes.io/out-of-service
|
||||
|
||||
예시: `node.kubernetes.io/out-of-service:NoExecute`
|
||||
|
||||
사용자는 노드에 테인트를 수동으로 추가함으로써 서비스 중이 아니라고 표시할 수 있다. 만약 `NodeOutOfServiceVolumeDetach`
|
||||
[기능 게이트](/ko/docs/reference/command-line-tools-reference/feature-gates/)가 `kube-controller-manager`에 활성화되어 있으며
|
||||
노드가 이 테인트로 인해 서비스 중이 아니라고 표시되어있을 경우, 노드에서 실행되던 매칭되는 톨러레이션이 없는 파드들은 강제로 삭제됨과 동시에 볼륨이 분리된다. 이는 서비스 중이 아닌 노드의 파드들이 다른 노드에서 빠르게 복구될 수 있도록 해준다.
|
||||
|
||||
{{< caution >}}
|
||||
이 테인트를 언제 어떻게 사용할지에 대한 자세한 사항은
|
||||
[논 그레이스풀 노드 셧다운](/ko/docs/concepts/architecture/nodes/#non-graceful-node-shutdown)
|
||||
를 참조한다.
|
||||
{{< /caution >}}
|
||||
|
||||
|
||||
## node.cloudprovider.kubernetes.io/uninitialized
|
||||
|
||||
예시: `node.cloudprovider.kubernetes.io/uninitialized:NoSchedule`
|
||||
|
@ -465,3 +633,94 @@ kubelet이 "외부" 클라우드 공급자에 의해 실행되었다면 노드
|
|||
seccomp 프로파일을 파드 또는 파드 내 컨테이너에 적용하는 단계를 확인한다.
|
||||
튜토리얼에서는 쿠버네티스에 seccomp를 설정하기 위해 사용할 수 있는 방법을 소개하며,
|
||||
이는 파드의 `.spec` 내에 `securityContext` 를 설정함으로써 가능하다.
|
||||
|
||||
### snapshot.storage.kubernetes.io/allowVolumeModeChange
|
||||
|
||||
예시: `snapshot.storage.kubernetes.io/allowVolumeModeChange: "true"`
|
||||
|
||||
적용 대상: VolumeSnapshotContent
|
||||
|
||||
값은 `true` 혹은 `false`만을 받는다.
|
||||
{{< glossary_tooltip text="퍼시스턴트볼륨클레임" term_id="persistent-volume-claim" >}}이
|
||||
볼륨스냅샷(VolumeSnapshot)으로부터 생성될 경우,
|
||||
사용자가 소스 볼륨의 모드를 수정할 수 있는지 여부를 결정한다.
|
||||
|
||||
자세한 사항은 [스냅샷의 볼륨 모드 변환하기](/docs/concepts/storage/volume-snapshots/#convert-volume-mode)
|
||||
와 [쿠버네티스 CSI 개발자용 문서](https://kubernetes-csi.github.io/docs/)를 참조한다.
|
||||
|
||||
## Audit을 위한 어노테이션들
|
||||
|
||||
<!-- sorted by annotation -->
|
||||
- [`authorization.k8s.io/decision`](/docs/reference/labels-annotations-taints/audit-annotations/#authorization-k8s-io-decision)
|
||||
- [`authorization.k8s.io/reason`](/docs/reference/labels-annotations-taints/audit-annotations/#authorization-k8s-io-reason)
|
||||
- [`insecure-sha1.invalid-cert.kubernetes.io/$hostname`](/docs/reference/labels-annotations-taints/audit-annotations/#insecure-sha1-invalid-cert-kubernetes-io-hostname)
|
||||
- [`missing-san.invalid-cert.kubernetes.io/$hostname`](/docs/reference/labels-annotations-taints/audit-annotations/#missing-san-invalid-cert-kubernetes-io-hostname)
|
||||
- [`pod-security.kubernetes.io/audit-violations`](/docs/reference/labels-annotations-taints/audit-annotations/#pod-security-kubernetes-io-audit-violations)
|
||||
- [`pod-security.kubernetes.io/enforce-policy`](/docs/reference/labels-annotations-taints/audit-annotations/#pod-security-kubernetes-io-enforce-policy)
|
||||
- [`pod-security.kubernetes.io/exempt`](/docs/reference/labels-annotations-taints/audit-annotations/#pod-security-kubernetes-io-exempt)
|
||||
|
||||
자세한 사항은 [Audit 어노테이션](/docs/reference/labels-annotations-taints/audit-annotations/) 페이지를 참고한다.
|
||||
|
||||
## kubeadm
|
||||
|
||||
### kubeadm.alpha.kubernetes.io/cri-socket
|
||||
|
||||
예시: `kubeadm.alpha.kubernetes.io/cri-socket: unix:///run/containerd/container.sock`
|
||||
|
||||
적용 대상: 노드
|
||||
|
||||
kubeadm `init`/`join`시 주어지는 CRI 소켓 정보를 유지하기 위해 사용하는 어노테이션.
|
||||
kubeadm은 노드 오브젝트를 이 정보를 주석 처리한다. 이상적으로는 KubeletConfiguration의 항목이어야 하기 때문에,
|
||||
어노테이션은 "alpha" 상태로 남아있다.
|
||||
|
||||
### kubeadm.kubernetes.io/etcd.advertise-client-urls
|
||||
|
||||
예시: `kubeadm.kubernetes.io/etcd.advertise-client-urls: https://172.17.0.18:2379`
|
||||
|
||||
적용 대상: 파드
|
||||
|
||||
etcd 클라이언트들이 접근할 수 있는 URL 목록을 추적하기 위해, 로컬에서 관리되는 etcd 파드에 배치되는 어노테이션.
|
||||
주로 etcd 클러스터의 헬스 체크에 사용한다.
|
||||
|
||||
### kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint
|
||||
|
||||
예시: `kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: https//172.17.0.18:6443`
|
||||
|
||||
적용 대상: 파드
|
||||
|
||||
외부로 노출시킬 API 서버의 엔드포인트를 추적하기 위해,
|
||||
로컬에서 관리되는 kube-apiserver 파드에 배치되는 어노테이션.
|
||||
|
||||
### kubeadm.kubernetes.io/component-config.hash
|
||||
|
||||
예시: `kubeadm.kubernetes.io/component-config.hash: 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae`
|
||||
|
||||
적용 대상: 컨피그맵(ConfigMap)
|
||||
|
||||
컴포넌트 설정을 관리하는 컨피그맵에 배치되는 어노테이션.
|
||||
사용자가 특정 컴포넌트에 대해서 kubeadm 기본값과 다른 설정값을 적용했는지 판단하기 위한 해시(SHA-256)를 가지고 있다.
|
||||
|
||||
### node-role.kubernetes.io/control-plane
|
||||
|
||||
적용 대상: 노드
|
||||
|
||||
kubeadm이 관리하는 컨트롤 플레인 노드에 적용되는 레이블.
|
||||
|
||||
### node-role.kubernetes.io/control-plane
|
||||
|
||||
예시: `node-role.kubernetes.io/control-plane:NoSchedule`
|
||||
|
||||
적용 대상: 노드
|
||||
|
||||
중요한 워크로드만 스케줄링할 수 있도록 컨트롤 플레인 노드에 적용시키는 테인트.
|
||||
|
||||
### node-role.kubernetes.io/master
|
||||
|
||||
예시: `node-role.kubernetes.io/master:NoSchedule`
|
||||
|
||||
적용 대상: 노드
|
||||
|
||||
중요한 워크로드만 스케줄링할 수 있도록 컨트롤 플레인 노드에 적용시키는 테인트.
|
||||
|
||||
{{< note >}} 버전 v1.20 부터, 이 테인트는 `node-role.kubernetes.io/control-plane`의 등장으로 더 이상 사용되지 않으며,
|
||||
버전 v1.25에서 삭제될 예정이다.{{< /note >}}
|
||||
|
|
|
@ -39,7 +39,7 @@ JSON과 Protobuf 직렬화 스키마 모두 스키마 변경에 대해서
|
|||
동일한 가이드라인을 따른다. 이후 설명에서는 이 형식 모두를 다룬다.
|
||||
|
||||
API 버전 규칙과 소프트웨어 버전 규칙은 간접적으로 연관된다.
|
||||
[API와 릴리스 버전 부여에 관한 제안](https://git.k8s.io/community/contributors/design-proposals/release/versioning.md)에는
|
||||
[API와 릴리스 버전 부여에 관한 제안](https://git.k8s.io/design-proposals-archive/release/versioning.md)에는
|
||||
API 버전 규칙과 소프트웨어 버전 규칙 간의 관계가 기술되어 있다.
|
||||
|
||||
API 버전의 차이는 수준의 안정성과 지원의 차이를 나타낸다.
|
||||
|
@ -83,8 +83,8 @@ API 버전의 차이는 수준의 안정성과 지원의 차이를 나타낸다.
|
|||
|
||||
## API 그룹
|
||||
|
||||
[API 그룹](https://git.k8s.io/community/contributors/design-proposals/api-machinery/api-group.md)은
|
||||
쿠버네티스 API를 더 쉽게 확장하게 해준다.
|
||||
[API 그룹](https://git.k8s.io/design-proposals-archive/api-machinery/api-group.md)은
|
||||
쿠버네티스 API를 더 쉽게 확장할 수 있도록 해 준다.
|
||||
API 그룹은 REST 경로와 직렬화된 오브젝트의 `apiVersion` 필드에
|
||||
명시된다.
|
||||
|
||||
|
@ -123,5 +123,5 @@ API 그룹은 REST 경로와 직렬화된 오브젝트의 `apiVersion` 필드에
|
|||
## {{% heading "whatsnext" %}}
|
||||
|
||||
- [API 규칙](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#api-conventions)에 대해 자세히 알아보기
|
||||
- [애그리게이터(aggregator)](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/aggregated-api-servers.md)에
|
||||
- [애그리게이터(aggregator)](https://git.k8s.io/design-proposals-archive/api-machinery/aggregated-api-servers.md)에
|
||||
대한 디자인 문서 읽기
|
||||
|
|
|
@ -28,14 +28,17 @@ API 호출 또는 요청/응답 타입을 직접 구현할 필요는 없다.
|
|||
[쿠버네티스 SIG API Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery)에서 공식적으로 관리된다.
|
||||
|
||||
|
||||
| 언어 | 클라이언트 라이브러리 | 예제 프로그램 |
|
||||
|----------|----------------|-----------------|
|
||||
| dotnet | [github.com/kubernetes-client/csharp](https://github.com/kubernetes-client/csharp) | [둘러보기](https://github.com/kubernetes-client/csharp/tree/master/examples/simple)
|
||||
| Go | [github.com/kubernetes/client-go/](https://github.com/kubernetes/client-go/) | [둘러보기](https://github.com/kubernetes/client-go/tree/master/examples)
|
||||
| Haskell | [github.com/kubernetes-client/haskell](https://github.com/kubernetes-client/haskell) | [둘러보기](https://github.com/kubernetes-client/haskell/tree/master/kubernetes-client/example)
|
||||
| Java | [github.com/kubernetes-client/java](https://github.com/kubernetes-client/java/) | [둘러보기](https://github.com/kubernetes-client/java#installation)
|
||||
| JavaScript | [github.com/kubernetes-client/javascript](https://github.com/kubernetes-client/javascript) | [둘러보기](https://github.com/kubernetes-client/javascript/tree/master/examples)
|
||||
| Python | [github.com/kubernetes-client/python/](https://github.com/kubernetes-client/python/) | [둘러보기](https://github.com/kubernetes-client/python/tree/master/examples)
|
||||
| 언어 | 클라이언트 라이브러리 | 예제 프로그램 |
|
||||
|------------|----------------|-----------------|
|
||||
| C | [github.com/kubernetes-client/c](https://github.com/kubernetes-client/c/) | [둘러보기](https://github.com/kubernetes-client/c/tree/master/examples)
|
||||
| dotnet | [github.com/kubernetes-client/csharp](https://github.com/kubernetes-client/csharp) | [둘러보기](https://github.com/kubernetes-client/csharp/tree/master/examples/simple)
|
||||
| Go | [github.com/kubernetes/client-go/](https://github.com/kubernetes/client-go/) | [둘러보기](https://github.com/kubernetes/client-go/tree/master/examples)
|
||||
| Haskell | [github.com/kubernetes-client/haskell](https://github.com/kubernetes-client/haskell) | [둘러보기](https://github.com/kubernetes-client/haskell/tree/master/kubernetes-client/example)
|
||||
| Java | [github.com/kubernetes-client/java](https://github.com/kubernetes-client/java/) | [둘러보기](https://github.com/kubernetes-client/java#installation)
|
||||
| JavaScript | [github.com/kubernetes-client/javascript](https://github.com/kubernetes-client/javascript) | [둘러보기](https://github.com/kubernetes-client/javascript/tree/master/examples)
|
||||
| Perl | [github.com/kubernetes-client/perl/](https://github.com/kubernetes-client/perl/) | [둘러보기](https://github.com/kubernetes-client/perl/tree/master/examples)
|
||||
| Python | [github.com/kubernetes-client/python/](https://github.com/kubernetes-client/python/) | [둘러보기](https://github.com/kubernetes-client/python/tree/master/examples)
|
||||
| Ruby | [github.com/kubernetes-client/ruby/](https://github.com/kubernetes-client/ruby/) | [둘러보기](https://github.com/kubernetes-client/ruby/tree/master/examples)
|
||||
|
||||
## 커뮤니티에 의해 관리되는 클라이언트 라이브러리
|
||||
|
||||
|
|
Loading…
Reference in New Issue