[ko] Update outdated files in dev-1.22-ko.1 (p1)

pull/29736/head
Jihoon Seo 2021-09-17 11:57:57 +09:00
parent 2a1a44894e
commit 39301f0e1f
17 changed files with 46 additions and 39 deletions

View File

@ -11,6 +11,8 @@ weight: 10
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}}
<!-- steps -->
## 데몬셋 업데이트 전략
@ -33,9 +35,11 @@ weight: 10
`.spec.updateStrategy.type``RollingUpdate` 를 설정해야 한다.
[`.spec.updateStrategy.rollingUpdate.maxUnavailable`](/ko/docs/concepts/workloads/controllers/deployment/#최대-불가max-unavailable)
(기본값은 1)
(기본값은 1),
[`.spec.minReadySeconds`](/ko/docs/concepts/workloads/controllers/deployment/#최소-대기-시간초)
(기본값은 0)으로
(기본값은 0),
[`.spec.maxSurge`](/ko/docs/concepts/workloads/controllers/deployment/#최대-서지-max-surge)
(베타 기능, 기본값은 25%)를
설정할 수도 있다.
### `RollingUpdate` 업데이트 전략으로 데몬셋 생성

View File

@ -113,9 +113,3 @@ spec:
- 네임스페이스에서의 huge page 사용은 `hugepages-<size>` 토큰을 사용하는 `cpu` 또는 `memory` 와 같은
다른 컴퓨트 리소스와 비슷한 리소스쿼터(ResourceQuota)를 통해 제어할 수
있다.
- 다양한 크기의 huge page 지원이 기능 게이트로 제공된다.
{{<glossary_tooltip text="kubelet" term_id="kubelet" >}} 및
{{<glossary_tooltip text="kube-apiserver" term_id="kube-apiserver" >}}
(`--feature-gates=HugePageStorageMediumSize=true`)의 `HugePageStorageMediumSize`
[기능 게이트](/ko/docs/reference/command-line-tools-reference/feature-gates/)를
사용하여 비활성화할 수 있다.

View File

@ -16,7 +16,7 @@ content_type: task
* 이중 스택 네트워킹을 위한 제공자 지원 (클라우드 제공자 또는 기타 제공자들은 라우팅 가능한 IPv4/IPv6 네트워크 인터페이스를 제공하는 쿠버네티스 노드들을 제공해야 한다.)
* 이중 스택을 지원하는 [네트워크 플러그인](/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) (예. Kubenet 또는 Calico)
* 이중 스택을 지원하는 [네트워크 플러그인](/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) (예: Calico, Cilium 또는 Kubenet)
* [이중 스택 활성화](/ko/docs/concepts/services-networking/dual-stack/) 클러스터
{{< version-check >}}

View File

@ -183,7 +183,7 @@ CPU 사용량은 0으로 떨어졌고, HPA는 레플리카의 개수를 1로 낮
첫 번째로, `autoscaling/v2beta2` 형식으로 HorizontalPodAutoscaler YAML 파일을 생성한다.
```shell
kubectl get hpa.v2beta2.autoscaling -o yaml > /tmp/hpa-v2.yaml
kubectl get hpa php-apache -o yaml > /tmp/hpa-v2.yaml
```
에디터로 `/tmp/hpa-v2.yaml` 파일을 열면, 다음과 같은 YAML을 확인할 수 있다.

View File

@ -1,4 +1,8 @@
---
title: Horizontal Pod Autoscaler
feature:
title: Horizontal 스케일링
@ -9,10 +13,6 @@ content_type: concept
weight: 90
---
<!-- overview -->
Horizontal Pod Autoscaler는 CPU 사용량
@ -181,6 +181,7 @@ HorizontalPodAutoscaler API 오브젝트 생성시 지정된 이름이 유효한
API 오브젝트에 대한 자세한 내용은
[HorizontalPodAutoscaler 오브젝트](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#horizontalpodautoscaler-v1-autoscaling)에서 찾을 수 있다.
## kubectl에서 Horizontal Pod Autoscaler 지원
Horizontal Pod Autoscaler는 모든 API 리소스와 마찬가지로 `kubectl`에 의해 표준 방식으로 지원된다.
@ -197,14 +198,17 @@ Horizontal Pod Autoscaler는 모든 API 리소스와 마찬가지로 `kubectl`
## 롤링 업데이트 중 오토스케일링
현재 쿠버네티스에서는 기본 레플리카셋를 관리하는 디플로이먼트 오브젝트를 사용하여 롤링 업데이트를 수행할 수 있다.
Horizontal Pod Autoscaler는 후자의 방법을 지원한다. Horizontal Pod Autoscaler는 디플로이먼트 오브젝트에 바인딩되고,
디플로이먼트 오브젝트를 위한 크기를 설정하며, 디플로이먼트는 기본 레플리카셋의 크기를 결정한다.
쿠버네티스는 디플로이먼트에 대한 롤링 업데이트를 지원한다.
이 경우, 디플로이먼트가 기저 레플리카셋을 알아서 관리한다.
디플로이먼트에 오토스케일링을 설정하려면,
각 디플로이먼트에 대한 HorizontalPodAutoscaler를 생성한다.
HorizontalPodAutoscaler는 디플로이먼트의 `replicas` 필드를 관리한다.
디플로이먼트 컨트롤러는 기저 레플리카셋에 `replicas` 값을 적용하여
롤아웃 과정 중/이후에 적절한 숫자까지 늘어나도록 한다.
Horizontal Pod Autoscaler는 레플리케이션 컨트롤러를 직접 조작하는 롤링 업데이트에서 작동하지 않는다.
즉, Horizontal Pod Autoscaler를 레플리케이션 컨트롤러에 바인딩하고 롤링 업데이트를 수행할 수 없다. (예 : `kubectl rolling-update`)
작동하지 않는 이유는 롤링 업데이트에서 새 레플리케이션 컨트롤러를 만들 때,
Horizontal Pod Autoscaler가 새 레플리케이션 컨트롤러에 바인딩되지 않기 때문이다.
오토스케일된 레플리카가 있는 스테이트풀셋의 롤링 업데이트를 수행하면,
스테이트풀셋이 직접 파드의 숫자를 관리한다(즉,
레플리카셋과 같은 중간 리소스가 없다).
## 쿨-다운 / 지연에 대한 지원

View File

@ -228,7 +228,7 @@ kubectl은 Bash 및 Zsh에 대한 자동 완성 지원을 제공하므로 입력
1. kubectl-convert 바이너리를 시스템 `PATH` 의 파일 위치로 옮긴다.
```bash
sudo mv ./kubectl /usr/local/bin/kubectl-convert
sudo mv ./kubectl-convert /usr/local/bin/kubectl-convert
sudo chown root: /usr/local/bin/kubectl-convert
```

View File

@ -348,6 +348,11 @@ Events:
### PodSecurityPolicy로 프로파일 제한하기 {#restricting-profiles-with-the-podsecuritypolicy}
{{< note >}}
PodSecurityPolicy는 쿠버네티스 v1.21에서 사용 중지되었으며, v1.25에서 제거될 예정이다.
더 자세한 내용은 [PodSecurityPolicy 문서](/ko/docs/concepts/policy/pod-security-policy/)를 참고한다.
{{< /note >}}
만약 PodSecurityPolicy 확장을 사용하면, 클러스터 단위로 AppArmor 제한을 적용할 수 있다.
PodSecurityPolicy를 사용하려면 위해 다음의 플래그를 반드시 `apiserver`에 설정해야 한다.

View File

@ -26,7 +26,7 @@ weight: 20
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/" role="button">홈으로 이동<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/" role="button">모듈 2로 진행하기 &gt<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/" role="button">모듈 2로 진행하기 &gt;<span class=""></span></a>
</div>
</div>

View File

@ -37,9 +37,9 @@ weight: 20
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/" role="button"> &lt 모듈 1로 돌아가기<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/" role="button"> &lt; 모듈 1로 돌아가기<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/" role="button">홈으로 이동<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/explore/explore-intro/" role="button">모듈 3으로 진행하기 &gt<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/explore/explore-intro/" role="button">모듈 3으로 진행하기 &gt;<span class=""></span></a>
</div>
</div>

View File

@ -29,9 +29,9 @@ weight: 20
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/" role="button">&lt 모듈 2로 돌아가기<span class="btn"></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/" role="button">&lt; 모듈 2로 돌아가기<span class="btn"></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/" role="button">홈으로 이동<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/expose/expose-intro/" role="button">모듈 4로 진행하기 &gt<span class="btn"></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/expose/expose-intro/" role="button">모듈 4로 진행하기 &gt;<span class="btn"></span></a>
</div>
</div>

View File

@ -26,9 +26,9 @@ weight: 20
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/explore/explore-intro/" role="button">&lt 모듈 3으로 돌아가기<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/explore/explore-intro/" role="button">&lt; 모듈 3으로 돌아가기<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/" role="button">홈으로 이동<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/scale/scale-intro/" role="button">모듈 5로 진행하기 &gt<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/scale/scale-intro/" role="button">모듈 5로 진행하기 &gt;<span class=""></span></a>
</div>
</div>

View File

@ -37,7 +37,7 @@ weight: 10
<li><i>ClusterIP</i> (기본값) - 클러스터 내에서 내부 IP 에 대해 서비스를 노출해준다. 이 방식은 오직 클러스터 내에서만 서비스가 접근될 수 있도록 해준다.</li>
<li><i>NodePort</i> - NAT가 이용되는 클러스터 내에서 각각 선택된 노드들의 동일한 포트에 서비스를 노출시켜준다. <code>&lt;NodeIP&gt;:&lt;NodePort&gt;</code>를 이용하여 클러스터 외부로부터 서비스가 접근할 수 있도록 해준다. ClusterIP의 상위 집합이다.</li>
<li><i>LoadBalancer</i> - (지원 가능한 경우) 기존 클라우드에서 외부용 로드밸런서를 생성하고 서비스에 고정된 공인 IP를 할당해준다. NodePort의 상위 집합이다. </li>
<li><i>ExternalName</i> - <code>CNAME</code> 레코드 및 값을 반환함으로써 서비스를 <code>externalName</code> 필드의 내용(예를 들면, `foo.bar.example.com`)에 매핑한다. 어떠한 종류의 프록시도 설정되지 않는다. 이 방식은 <code>kube-dns</code> v1.7 이상 또는 CoreDNS 버전 0.0.8 이상을 필요로 한다.</li>
<li><i>ExternalName</i> - <code>CNAME</code> 레코드 및 값을 반환함으로써 서비스를 <code>externalName</code> 필드의 내용(예를 들면, <code>foo.bar.example.com</code>)에 매핑한다. 어떠한 종류의 프록시도 설정되지 않는다. 이 방식은 <code>kube-dns</code> v1.7 이상 또는 CoreDNS 버전 0.0.8 이상을 필요로 한다.</li>
</ul>
<p>다른 서비스 타입들에 대한 추가 정보는 <a href="/ko/docs/tutorials/services/source-ip/">소스 IP 이용하기</a> 튜토리얼에서 확인 가능하다. 또한 <a href="/docs/concepts/services-networking/connect-applications-service">서비스들로 애플리케이션에 접속하기</a>도 참고해 보자.</p>
<p>부가적으로, spec에 <code>selector</code>를 정의하지 않고 말아넣은 서비스들의 몇 가지 유즈케이스들이 있음을 주의하자. <code>selector</code> 없이 생성된 서비스는 상응하는 엔드포인트 오브젝트들 또한 생성하지 않는다. 이로써 사용자들로 하여금 하나의 서비스를 특정한 엔드포인트에 매핑 시킬수 있도록 해준다. selector를 생략하게 되는 또 다른 가능성은 여러분이 <code>type: ExternalName</code>을 이용하겠다고 확고하게 의도하는 경우이다.</p>

View File

@ -26,9 +26,9 @@ weight: 20
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/expose/expose-interactive/" role="button">&lt 모듈 4로 돌아가기<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/expose/expose-interactive/" role="button">&lt; 모듈 4로 돌아가기<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/" role="button">홈으로 이동<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/update/update-intro/" role="button">모듈 6으로 진행하기 &gt<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/update/update-intro/" role="button">모듈 6으로 진행하기 &gt;<span class=""></span></a>
</div>
</div>

View File

@ -26,7 +26,7 @@ weight: 20
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/scale/scale-interactive/" role="button">&lt 모듈 5로 돌아가기<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/scale/scale-interactive/" role="button">&lt; 모듈 5로 돌아가기<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/ko/docs/tutorials/kubernetes-basics/" role="button">쿠버네티스 기초로 돌아가기<span class=""></span></a>
</div>
</div>

View File

@ -50,7 +50,7 @@ weight: 30
### 추가적인 Minikube 설정 요령
{{< caution >}}
[Minikube](https://minikube.sigs.k8s.io/docs/)는 1024MiB 메모리와 1개 CPU가 기본 설정이다.
[Minikube](https://minikube.sigs.k8s.io/docs/)는 2048MB 메모리와 2개 CPU가 기본 설정이다.
이 튜토리얼에서 Minikube를 기본 리소스 설정으로 실행하면 리소스 부족 오류가
발생한다. 이런 오류를 피하려면 Minikube를 다음 설정으로 실행하자.

View File

@ -929,7 +929,7 @@ kubernetes-node-i4c4
[`kubectl drain`](/docs/reference/generated/kubectl/kubectl-commands/#drain)를 이용하자.
```shell
kubectl drain $(kubectl get pod zk-0 --template {{.spec.nodeName}}) --ignore-daemonsets --force --delete-local-data
kubectl drain $(kubectl get pod zk-0 --template {{.spec.nodeName}}) --ignore-daemonsets --force --delete-emptydir-data
```
```
@ -964,7 +964,7 @@ zk-0 1/1 Running 0 1m
`zk-1` 이 스케줄된 노드를 비워보자.
```shell
kubectl drain $(kubectl get pod zk-1 --template {{.spec.nodeName}}) --ignore-daemonsets --force --delete-local-data "kubernetes-node-ixsl" cordoned
kubectl drain $(kubectl get pod zk-1 --template {{.spec.nodeName}}) --ignore-daemonsets --force --delete-emptydir-data "kubernetes-node-ixsl" cordoned
```
```
@ -1007,7 +1007,7 @@ zk-1 0/1 Pending 0 0s
`zk-2`가 스케줄된 노드를 비워보자.
```shell
kubectl drain $(kubectl get pod zk-2 --template {{.spec.nodeName}}) --ignore-daemonsets --force --delete-local-data
kubectl drain $(kubectl get pod zk-2 --template {{.spec.nodeName}}) --ignore-daemonsets --force --delete-emptydir-data
```
```
@ -1094,7 +1094,7 @@ zk-1 1/1 Running 0 13m
`zk-2`가 스케줄된 노드를 비워보자.
```shell
kubectl drain $(kubectl get pod zk-2 --template {{.spec.nodeName}}) --ignore-daemonsets --force --delete-local-data
kubectl drain $(kubectl get pod zk-2 --template {{.spec.nodeName}}) --ignore-daemonsets --force --delete-emptydir-data
```
출력은

View File

@ -19,7 +19,7 @@ _(운영 수준이 아닌)_ 멀티 티어 웹 애플리케이션을 빌드하고
이 예제는 다음과 같은 구성으로
이루어져 있다.
* 방명록 항목을 저장하기 위한 단일 인스턴스 [Redis](https://www.redis.com/)
* 방명록 항목을 저장하기 위한 단일 인스턴스 [Redis](https://www.redis.io/)
* 여러 개의 웹 프론트엔드 인스턴스
## {{% heading "objectives" %}}