add ko pages

This commit is contained in:
Karen Bradshaw
2020-06-01 09:09:39 -04:00
parent 283572af58
commit 6bfc167c79
168 changed files with 1360 additions and 1190 deletions
+8 -7
View File
@@ -2,20 +2,20 @@
title: 태스크
main_menu: true
weight: 50
content_template: templates/concept
content_type: concept
---
{{< toc >}}
{{% capture overview %}}
<!-- overview -->
쿠버네티스 문서에서 이 섹션은 개별의 태스크를 수행하는 방법을
보여준다. 한 태스크 페이지는 일반적으로 여러 단계로 이루어진 짧은
시퀀스를 제공함으로써, 하나의 일을 수행하는 방법을 보여준다.
{{% /capture %}}
{{% capture body %}}
<!-- body -->
## 웹 UI (대시보드)
@@ -73,11 +73,12 @@ content_template: templates/concept
클러스터에서 스케줄 가능한 리소스로서 Huge Page들을 구성 및 스케줄한다.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
만약 태스크 페이지를 작성하고 싶다면,
[문서 풀 리퀘스트(Pull Request) 생성하기](/docs/home/contribute/create-pull-request/)를 참조한다.
{{% /capture %}}
@@ -1,17 +1,17 @@
---
title: 클러스터 액세스
weight: 20
content_template: templates/concept
content_type: concept
---
{{% capture overview %}}
<!-- overview -->
여기에서는 클러스터와 통신을 하는 다양한 방식에 대해서 다룰 것이다.
{{% /capture %}}
{{% capture body %}}
<!-- body -->
## 처음이라면 kubectl을 사용하여 액세스
@@ -376,4 +376,4 @@ redirect 기능은 deprecated되고 제거 되었다. 대신 (아래의) proxy
일반적으로 쿠버네티스 사용자들은 처음 두 타입이 아닌 다른 방식은 고려할 필요가 없지만 클러스터 관리자는
나머지 타입을 적절하게 구성해줘야 한다.
{{% /capture %}}
@@ -1,25 +1,26 @@
---
title: 공유 볼륨을 이용하여 동일한 파드의 컨테이너 간에 통신하기
content_template: templates/task
content_type: task
weight: 110
---
{{% capture overview %}}
<!-- overview -->
이 페이지에서는 동일한 파드(Pod)에서 실행 중인 두 개의 컨테이너 간에 통신할 때에, 어떻게 볼륨(Volume)을 이용하는지
살펴본다. 컨테이너 간에 [프로세스 네임스페이스 공유하기](/docs/tasks/configure-pod-container/share-process-namespace/)를 통해 통신할 수 있는 방법을 참고하자.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 두 개의 컨테이너를 실행하는 파드 생성
@@ -108,10 +109,10 @@ Debian 컨테이너에서 nginx 웹 서버가 호스팅하는 문서의 루트
debian 컨테이너에서 안녕하세요
{{% /capture %}}
{{% capture discussion %}}
<!-- discussion -->
## 토의
@@ -126,10 +127,11 @@ Debian 컨테이너에서 nginx 웹 서버가 호스팅하는 문서의 루트
이 예제에서 볼륨은 파드의 생명 주기 동안 컨테이너를 위한 통신 방법으로 이용했다.
파드가 삭제되고 재생성되면, 공유 볼륨에 저장된 데이터는 잃어버린다.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [합성 컨테이너(composite container) 패턴](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns)에 관하여
더 공부한다.
@@ -146,7 +148,7 @@ Debian 컨테이너에서 nginx 웹 서버가 호스팅하는 문서의 루트
* [파드](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core)을 확인한다.
{{% /capture %}}
@@ -1,6 +1,6 @@
---
title: 다중 클러스터 접근 구성
content_template: templates/task
content_type: task
weight: 30
card:
name: tasks
@@ -8,7 +8,7 @@ card:
---
{{% capture overview %}}
<!-- overview -->
이 페이지에서는 구성 파일을 사용하여 다수의 클러스터에 접근할 수 있도록
설정하는 방식을 보여준다. 클러스터, 사용자, 컨텍스트가 하나 이상의
@@ -21,15 +21,16 @@ card:
반드시 존재해야 한다는 것을 의미하는 것은 아니다.
{{< /note >}}
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 클러스터, 사용자, 컨텍스트 정의
@@ -370,13 +371,14 @@ export KUBECONFIG=$KUBECONFIG_SAVED
$Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [kubeconfig 파일을 사용하여 클러스터 접근 구성하기](/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
* [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config)
{{% /capture %}}
@@ -1,13 +1,13 @@
---
title: 클러스터의 DNS 구성하기
weight: 120
content_template: templates/concept
content_type: concept
---
{{% capture overview %}}
<!-- overview -->
쿠버네티스는 지원하는 모든 환경에서 기본으로 활성화된 DNS 클러스터 애드온을 제공한다. 쿠버네티스 1.11과 이후 버전에서는, CoreDNS가 권장되고 기본적으로 kubeadm과 함께 설치 된다.
{{% /capture %}}
{{% capture body %}}
<!-- body -->
쿠버네티스 클러스터의 CoreDNS 설정에 대한 더 많은 정보는, [DNS 서비스 사용자화 하기](/docs/tasks/administer-cluster/dns-custom-nameservers/)을 본다. kube-dns와 함께 쿠버네티스 DNS를 사용하는 방법을 보여주는 예시는 [쿠버네티스 DNS 샘플 플러그인](https://github.com/kubernetes/examples/tree/master/staging/cluster-dns)을 본다.
{{% /capture %}}
@@ -1,29 +1,30 @@
---
title: 포트 포워딩을 사용해서 클러스터 내 애플리케이션에 접근하기
content_template: templates/task
content_type: task
weight: 40
min-kubernetes-server-version: v1.10
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 `kubectl port-forward` 를 사용해서 쿠버네티스 클러스터 내에서
실행중인 Redis 서버에 연결하는 방법을 보여준다. 이 유형의 연결은 데이터베이스
디버깅에 유용할 수 있다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
* {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
* [redis-cli](http://redis.io/topics/rediscli)를 설치한다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## Redis 디플로이먼트와 서비스 생성하기
@@ -178,10 +179,10 @@ min-kubernetes-server-version: v1.10
PONG
```
{{% /capture %}}
{{% capture discussion %}}
<!-- discussion -->
## 토의
@@ -196,12 +197,13 @@ UDP 프로토콜에 대한 지원은
에서 추적되고 있다.
{{< /note >}}
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
[kubectl port-forward](/docs/reference/generated/kubectl/kubectl-commands/#port-forward)에 대해 더 알아본다.
{{% /capture %}}
@@ -1,6 +1,6 @@
---
title: 웹 UI (대시보드)
content_template: templates/concept
content_type: concept
weight: 10
card:
name: tasks
@@ -8,7 +8,7 @@ card:
title: Use the Web UI Dashboard
---
{{% capture overview %}}
<!-- overview -->
대시보드는 웹 기반 쿠버네티스 유저 인터페이스이다. 대시보드를 통해 컨테이너화 된 애플리케이션을 쿠버네티스 클러스터에 배포할 수 있고, 컨테이너화 된 애플리케이션을 트러블슈팅 할 수 있으며, 클러스터 리소스들을 관리할 수 있다. 대시보드를 통해 클러스터에서 동작중인 애플리케이션의 정보를 볼 수 있고, 개별적인 쿠버네티스 리소스들을(예를 들면 디플로이먼트, 잡, 데몬셋 등) 생성하거나 수정할 수 있다. 예를 들면, 디플로이먼트를 스케일하거나, 롤링 업데이트를 초기화하거나, 파드를 재시작하거나 또는 배포 마법사를 이용해 새로운 애플리케이션을 배포할 수 있다.
@@ -16,10 +16,10 @@ card:
![Kubernetes Dashboard UI](/images/docs/ui-dashboard.png)
{{% /capture %}}
{{% capture body %}}
<!-- body -->
## 대시보드 UI 배포
@@ -158,11 +158,12 @@ track=stable
![Logs viewer](/images/docs/ui-dashboard-logs-view.png)
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
더 많은 정보는
[쿠버네티스 대시보드 프로젝트 페이지](https://github.com/kubernetes/dashboard)를 참고한다.
{{% /capture %}}
@@ -1,19 +1,19 @@
---
title: 클러스터 관리
content_template: templates/concept
content_type: concept
---
{{% capture overview %}}
<!-- overview -->
이 문서는 클러스터의 라이프사이클에 관련된 몇 가지 주제들을 설명한다. 신규 클러스터 생성,
클러스터의 마스터와 워커 노드들의 업그레이드,
노드 유지보수(예. 커널 업그레이드) 수행, 운영 중인 클러스터의
쿠버네티스 API 버전 업그레이드.
{{% /capture %}}
{{% capture body %}}
<!-- body -->
## 클러스터 생성과 설정
@@ -220,4 +220,4 @@ kubectl convert -f pod.yaml --output-version v1
옵션에 대한 상세 정보는 [kubectl convert](/docs/reference/generated/kubectl/kubectl-commands#convert) 커맨드의 사용법을 참조하기를 바란다.
{{% /capture %}}
@@ -1,26 +1,27 @@
---
reviewers:
title: 고가용성 쿠버네티스 클러스터 마스터 설정하기
content_template: templates/task
content_type: task
---
{{% capture overview %}}
<!-- overview -->
{{< feature-state for_k8s_version="v1.5" state="alpha" >}}
구글 컴퓨트 엔진(Google Compute Engine, 이하 GCE)의 `kube-up`이나 `kube-down` 스크립트에 쿠버네티스 마스터를 복제할 수 있다.
이 문서는 kube-up/down 스크립트를 사용하여 고가용(HA) 마스터를 관리하는 방법과 GCE와 함께 사용하기 위해 HA 마스터를 구현하는 방법에 관해 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## HA 호환 클러스터 시작
@@ -117,9 +118,9 @@ HA 클러스터의 마스터 복제본 중 하나가 실패하면,
이 작업은 [여기](https://coreos.com/etcd/docs/latest/admin_guide.html#member-migration) 기술한 대로
Etcd 데이터 디렉터리를 마이그레이션하여 속도를 높일 수 있다(향후에 Etcd 데이터 디렉터리 마이그레이션 지원 추가를 고려 중이다).
{{% /capture %}}
{{% capture discussion %}}
<!-- discussion -->
## 구현 지침
@@ -172,4 +173,4 @@ etcd를 클러스터로 구축하려면, etcd 인스턴스간 통신에 필요
[자동화된 HA 마스터 배포 - 제안 문서](https://git.k8s.io/community/contributors/design-proposals/cluster-lifecycle/ha_master.md)
{{% /capture %}}
@@ -1,20 +1,21 @@
---
title: Windows 노드 추가
min-kubernetes-server-version: 1.17
content_template: templates/tutorial
content_type: tutorial
weight: 30
---
{{% capture overview %}}
<!-- overview -->
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
쿠버네티스를 사용하여 리눅스와 Windows 노드를 혼합하여 실행할 수 있으므로, 리눅스에서 실행되는 파드와 Windows에서 실행되는 파드를 혼합할 수 있다. 이 페이지는 Windows 노드를 클러스터에 등록하는 방법을 보여준다.
{{% /capture %}}
{{% capture prerequisites %}} {{< version-check >}}
## {{% heading "prerequisites" %}}
{{< version-check >}}
* Windows 컨테이너를 호스팅하는 Windows 노드를 구성하려면
[Windows Server 2019 라이선스](https://www.microsoft.com/en-us/cloud-platform/windows-server-pricing) 이상이 필요하다.
@@ -22,18 +23,19 @@ VXLAN/오버레이 네트워킹을 사용하는 경우 [KB4489899](https://suppo
* 컨트롤 플레인에 접근할 수 있는 리눅스 기반의 쿠버네티스 kubeadm 클러스터([kubeadm을 사용하여 단일 컨트롤 플레인 클러스터 생성](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) 참고)가 필요하다.
{{% /capture %}}
{{% capture objectives %}}
## {{% heading "objectives" %}}
* 클러스터에 Windows 노드 등록
* 리눅스 및 Windows의 파드와 서비스가 서로 통신할 수 있도록 네트워킹 구성
{{% /capture %}}
{{% capture lessoncontent %}}
<!-- lessoncontent -->
## 시작하기: 클러스터에 Windows 노드 추가
@@ -173,10 +175,11 @@ kubectl -n kube-system get pods -l app=flannel
flannel 파드가 실행되면, 노드는 `Ready` 상태가 되고 워크로드를 처리할 수 있어야 한다.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
- [Windows kubeadm 노드 업그레이드](/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes)
{{% /capture %}}
@@ -1,24 +1,25 @@
---
title: kubeadm을 사용한 인증서 관리
content_template: templates/task
content_type: task
weight: 10
---
{{% capture overview %}}
<!-- overview -->
{{< feature-state for_k8s_version="v1.15" state="stable" >}}
[kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)으로 생성된 클라이언트 인증서는 1년 후에 만료된다. 이 페이지는 kubeadm으로 인증서 갱신을 관리하는 방법을 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
[쿠버네티스의 PKI 인증서와 요구 조건](/ko/docs/setup/best-practices/certificates/)에 익숙해야 한다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 사용자 정의 인증서 사용 {#custom-certificates}
@@ -240,4 +241,4 @@ CSR에는 인증서 이름, 도메인 및 IP가 포함되지만, 용도를 지
[cert-cas]: /ko/docs/setup/best-practices/certificates/#단일-루트-ca
[cert-table]: /ko/docs/setup/best-practices/certificates/#모든-인증서
{{% /capture %}}
@@ -1,11 +1,11 @@
---
title: kubeadm 클러스터 업그레이드
content_template: templates/task
content_type: task
weight: 20
min-kubernetes-server-version: 1.18
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 kubeadm으로 생성된 쿠버네티스 클러스터를
1.17.x 버전에서 1.18.x 버전으로, 1.18.x 버전에서 1.18.y(여기서 `y > x`) 버전으로 업그레이드하는 방법을 설명한다.
@@ -24,9 +24,10 @@ min-kubernetes-server-version: 1.18
1. 추가 컨트롤 플레인 노드를 업그레이드한다.
1. 워커(worker) 노드를 업그레이드한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
- 1.17.0 버전 이상을 실행하는 kubeadm 쿠버네티스 클러스터가 있어야 한다.
- [스왑을 비활성화해야 한다](https://serverfault.com/questions/684771/best-way-to-disable-swap-in-linux).
@@ -42,9 +43,9 @@ min-kubernetes-server-version: 1.18
또는 동일한 MINOR의 PATCH 버전 사이에서만 업그레이드할 수 있다. 즉, 업그레이드할 때 MINOR 버전을 건너 뛸 수 없다.
예를 들어, 1.y에서 1.y+1로 업그레이드할 수 있지만, 1.y에서 1.y+2로 업그레이드할 수는 없다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 업그레이드할 버전 결정
@@ -393,7 +394,7 @@ kubectl get nodes
모든 노드에 대해 `STATUS` 열에 `Ready` 가 표시되어야 하고, 버전 번호가 업데이트되어 있어야 한다.
{{% /capture %}}
## 장애 상태에서의 복구
@@ -1,29 +1,30 @@
---
title: Windows 노드 업그레이드
min-kubernetes-server-version: 1.17
content_template: templates/task
content_type: task
weight: 40
---
{{% capture overview %}}
<!-- overview -->
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
이 페이지는 [kubeadm으로 생성된](/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes) Windows 노드를 업그레이드하는 방법을 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
* [남은 kubeadm 클러스터를 업그레이드하는 프로세스](/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade)에
익숙해져야 한다. Windows 노드를
업그레이드하기 전에 컨트롤 플레인 노드를 업그레이드해야 한다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 워커 노드 업그레이드
@@ -90,4 +91,4 @@ weight: 40
```
{{% /capture %}}
@@ -1,11 +1,11 @@
---
title: 네임스페이스에 대한 CPU의 최소 및 최대 제약 조건 구성
content_template: templates/task
content_type: task
weight: 40
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 네임스페이스에서 컨테이너와 파드가 사용하는 CPU 리소스의 최솟값과 최댓값을 설정하는
방법을 보여준다. [리밋레인지(LimitRange)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#limitrange-v1-core)
@@ -13,19 +13,20 @@ weight: 40
지정한다. 리밋레인지에 의해 부과된 제약 조건을 파드가 충족하지 않으면, 네임스페이스에서
생성될 수 없다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
태스크 예제를 실행하려면 클러스터에 적어도 1 CPU 이상이 사용 가능해야 한다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 네임스페이스 생성
@@ -239,9 +240,10 @@ kubectl delete pod constraints-cpu-demo-4 --namespace=constraints-cpu-example
kubectl delete namespace constraints-cpu-example
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
### 클러스터 관리자를 위한 문서
@@ -266,4 +268,4 @@ kubectl delete namespace constraints-cpu-example
* [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/)
{{% /capture %}}
@@ -1,10 +1,10 @@
---
title: 네임스페이스에 대한 기본 CPU 요청량과 상한 구성
content_template: templates/task
content_type: task
weight: 20
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 네임스페이스에 대한 기본 CPU 요청량(request) 및 상한(limit)을 구성하는 방법을 보여준다.
쿠버네티스 클러스터는 네임스페이스로 나눌 수 있다. 기본 CPU 상한이 있는 네임스페이스에서
@@ -12,14 +12,15 @@ weight: 20
컨테이너에 기본 CPU 상한이 할당된다. 쿠버네티스는 이 문서의 뒷부분에서
설명하는 특정 조건에서 기본 CPU 요청량을 할당한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 네임스페이스 생성
@@ -162,9 +163,10 @@ CPU 상한에 대해 기본값을 설정하는 것이 좋다.
kubectl delete namespace default-cpu-example
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
### 클러스터 관리자를 위한 문서
@@ -188,4 +190,4 @@ kubectl delete namespace default-cpu-example
* [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/)
{{% /capture %}}
@@ -1,11 +1,11 @@
---
title: 네임스페이스에 대한 메모리의 최소 및 최대 제약 조건 구성
content_template: templates/task
content_type: task
weight: 30
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 네임스페이스에서 실행되는 컨테이너가 사용하는 메모리의 최솟값과 최댓값을
설정하는 방법을 보여준다. [리밋레인지(LimitRange)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#limitrange-v1-core)
@@ -13,19 +13,20 @@ weight: 30
지정한다. 파드가 리밋레인지에 의해 부과된 제약 조건을 충족하지 않으면,
네임스페이스에서 생성될 수 없다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
클러스터의 각 노드에는 최소 1GiB의 메모리가 있어야 한다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 네임스페이스 생성
@@ -239,9 +240,10 @@ kubectl delete pod constraints-mem-demo-4 --namespace=constraints-mem-example
kubectl delete namespace constraints-mem-example
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
### 클러스터 관리자를 위한 문서
@@ -265,4 +267,4 @@ kubectl delete namespace constraints-mem-example
* [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/)
{{% /capture %}}
@@ -1,27 +1,28 @@
---
title: 네임스페이스에 대한 기본 메모리 요청량과 상한 구성
content_template: templates/task
content_type: task
weight: 10
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 네임스페이스에 대한 기본 메모리 요청량(request)과 상한(limit)을 구성하는 방법을 보여준다.
기본 메모리 상한이 있는 네임스페이스에서 컨테이너가 생성되고, 컨테이너가
자체 메모리 상한을 지정하지 않으면, 컨테이너에 기본 메모리 상한이 할당된다.
쿠버네티스는 이 문서의 뒷부분에서 설명하는 특정 조건에서 기본 메모리 요청량을 할당한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
클러스터의 각 노드에는 최소 2GiB의 메모리가 있어야 한다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 네임스페이스 생성
@@ -170,9 +171,10 @@ resources:
kubectl delete namespace default-mem-example
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
### 클러스터 관리자를 위한 문서
@@ -196,4 +198,4 @@ kubectl delete namespace default-mem-example
* [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/)
{{% /capture %}}
@@ -1,30 +1,31 @@
---
title: 네임스페이스에 대한 메모리 및 CPU 쿼터 구성
content_template: templates/task
content_type: task
weight: 50
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 네임스페이스에서 실행 중인 모든 컨테이너가 사용할 수 있는
총 메모리 및 CPU 양에 대한 쿼터를 설정하는 방법을 보여준다.
[리소스쿼터(ResourceQuota)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core)
오브젝트에 쿼터를 지정한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
클러스터의 각 노드에는 최소 1GiB의 메모리가 있어야 한다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 네임스페이스 생성
@@ -146,9 +147,10 @@ requested: requests.memory=700Mi,used: requests.memory=600Mi, limited: requests.
kubectl delete namespace quota-mem-cpu-example
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
### 클러스터 관리자를 위한 문서
@@ -172,4 +174,4 @@ kubectl delete namespace quota-mem-cpu-example
* [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/)
{{% /capture %}}
@@ -1,28 +1,29 @@
---
title: 네임스페이스에 대한 파드 쿼터 구성
content_template: templates/task
content_type: task
weight: 60
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 네임스페이스에서 실행할 수 있는 총 파드 수에 대한 쿼터를
설정하는 방법을 보여준다.
[리소스쿼터(ResourceQuota)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core)
오브젝트에 쿼터를 지정한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 네임스페이스 생성
@@ -107,9 +108,10 @@ lastUpdateTime: 2017-07-07T20:57:05Z
kubectl delete namespace quota-pod-example
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
### 클러스터 관리자를 위한 문서
@@ -133,4 +135,4 @@ kubectl delete namespace quota-pod-example
* [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/)
{{% /capture %}}
@@ -1,19 +1,20 @@
---
reviewers:
title: 네트워크 폴리시로 캘리코(Calico) 사용하기
content_template: templates/task
content_type: task
weight: 10
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 쿠버네티스에서 캘리코(Calico) 클러스터를 생성하는 몇 가지 빠른 방법을 살펴본다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
[클라우드](#creating-a-calico-cluster-with-google-kubernetes-engine-gke)나 [지역](#creating-a-local-calico-cluster-with-kubeadm) 클러스터 중에 어디에 배포할지 결정한다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 구글 쿠버네티스 엔진(GKE)에 캘리코 클러스터 생성하기 {#creating-a-calico-cluster-with-google-kubernetes-engine-gke}
**사전요구사항**: [gcloud](https://cloud.google.com/sdk/docs/quickstarts).
@@ -43,11 +44,12 @@ weight: 10
Kubeadm을 이용해서 15분 이내에 지역 단일 호스트 캘리코 클러스터를 생성하려면,
[캘리코 빠른 시작](https://docs.projectcalico.org/latest/getting-started/kubernetes/)을 참고한다.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
클러스터가 동작하면, 쿠버네티스 네트워크 폴리시(NetworkPolicy)를 시도하기 위해
[네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다.
{{% /capture %}}
@@ -1,22 +1,23 @@
---
title: 네트워크 폴리시로 실리움(Cilium) 사용하기
content_template: templates/task
content_type: task
weight: 20
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 어떻게 네트워크 폴리시(NetworkPolicy)로 실리움(Cilium)를 사용하는지 살펴본다.
실리움의 배경에 대해서는 [실리움 소개](https://docs.cilium.io/en/stable/intro)를 읽어보자.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 기본 시험을 위해 실리움을 Minikube에 배포하기
실리움에 쉽게 친숙해지기 위해
@@ -72,9 +73,9 @@ L3/L4(예, IP 주소 + 포트) 모두의 보안 정책 뿐만 아니라 L7(예,
이 문서는 자세한 요구사항, 방법과
실제 데몬셋 예시를 포함한다.
{{% /capture %}}
{{% capture discussion %}}
<!-- discussion -->
## 실리움 구성요소 이해하기
실리움으로 클러스터를 배포하면 파드가 `kube-system` 네임스페이스에 추가된다.
@@ -95,14 +96,15 @@ cilium-6rxbd 1/1 Running 0 1m
`cilium` 파드는 클러스터 각 노드에서 실행되며, 리눅스 BPF를 사용해서
해당 노드의 파드에 대한 트래픽 네트워크 폴리시를 적용한다.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
클러스터가 동작하면,
실리움으로 쿠버네티스 네트워크 폴리시를 시도하기 위해
[네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다.
재미있게 즐기고, 질문이 있다면
[실리움 슬랙 채널](https://cilium.herokuapp.com/)을 이용하여 연락한다.
{{% /capture %}}
@@ -1,25 +1,27 @@
---
reviewers:
title: 네트워크 폴리시로 큐브 라우터(Kube-router) 사용하기
content_template: templates/task
content_type: task
weight: 30
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 네트워크 폴리시(NetworkPolicy)로 [큐브 라우터(Kube-router)](https://github.com/cloudnativelabs/kube-router)를 사용하는 방법을 살펴본다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
운영 중인 쿠버네티스 클러스터가 필요하다. 클러스터가 없다면, Kops, Bootkube, Kubeadm 등을 이용해서 클러스터를 생성할 수 있다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 큐브 라우터 애드온 설치하기
큐브 라우터 애드온은 갱신된 모든 네트워크 폴리시 및 파드에 대해 쿠버네티스 API 서버를 감시하고, 정책에 따라 트래픽을 허용하거나 차단하도록 iptables 규칙와 ipset을 구성하는 네트워크 폴리시 컨트롤러와 함께 제공된다. 큐브 라우터 애드온을 설치하는 [큐브 라우터를 클러스터 인스톨러와 함께 사용하기](https://www.kube-router.io/docs/user-guide/#try-kube-router-with-cluster-installers) 안내서를 따라해 봅니다.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
큐브 라우터 애드온을 설치한 후에는, 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다.
{{% /capture %}}
@@ -1,23 +1,24 @@
---
reviewers:
title: 네트워크 폴리시로 로마나(Romana)
content_template: templates/task
content_type: task
weight: 40
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 네트워크 폴리시(NetworkPolicy)로 로마나(Romana)를 사용하는 방법을 살펴본다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
[kubeadm 시작하기](/docs/getting-started-guides/kubeadm/)의 1, 2, 3 단계를 완료하자.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## kubeadm으로 로마나 설치하기
@@ -31,12 +32,13 @@ Kubeadm을 위한 [컨테이너화된 설치 안내서](https://github.com/roman
* [Romana 네트워크 폴리시의 예](https://github.com/romana/core/blob/master/doc/policy.md).
* 네트워크 폴리시 API.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
로마나를 설치한 후에는, 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다.
{{% /capture %}}
@@ -1,23 +1,24 @@
---
reviewers:
title: 네트워크 폴리시로 위브넷(Weave Net) 사용하기
content_template: templates/task
content_type: task
weight: 50
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 네트워크 폴리시(NetworkPolicy)로 위브넷(Weave Net)를 사용하는 방법을 살펴본다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
쿠버네티스 클러스터가 필요하다. 맨 땅에서부터 시작하기를 위해서 [kubeadm 시작하기 안내서](/docs/getting-started-guides/kubeadm/)를 따른다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## Weave Net 애드온을 설치한다
@@ -47,12 +48,13 @@ weave-net-pmw8w 2/2 Running 0 9d
위브넷 파드를 가진 각 노드와 모든 파드는 `Running`이고 `2/2 READY`이다(`2/2`는 각 파드가 `weave``weave-npc`를 가지고 있음을 뜻한다).
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
위브넷 애드온을 설치하고 나서, 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. 질문이 있으면 [슬랙 #weave-community 이나 Weave 유저그룹](https://github.com/weaveworks/weave#getting-help)에 연락한다.
{{% /capture %}}
@@ -1,19 +1,20 @@
---
title: 컨테이너 및 파드 메모리 리소스 할당
content_template: templates/task
content_type: task
weight: 10
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 메모리 *요청량* 과 메모리 *상한* 을 컨테이너에 어떻게 지정하는지 보여준다.
컨테이너는 요청량 만큼의 메모리 확보가 보장되나
상한보다 더 많은 메모리는 사용할 수 없다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
@@ -45,9 +46,9 @@ NAME
v1beta1.metrics.k8s.io
```
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 네임스페이스 생성
@@ -327,9 +328,10 @@ kubectl delete pod memory-demo-3 --namespace=mem-example
kubectl delete namespace mem-example
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
### 앱 개발자들을 위한
@@ -353,4 +355,4 @@ kubectl delete namespace mem-example
* [API 오브젝트에 할당량 구성 ](/docs/tasks/administer-cluster/quota-api-object/)
{{% /capture %}}
@@ -1,22 +1,23 @@
---
title: 노드 어피니티를 사용해 노드에 파드 할당
min-kubernetes-server-version: v1.10
content_template: templates/task
content_type: task
weight: 120
---
{{% capture overview %}}
<!-- overview -->
이 문서는 쿠버네티스 클러스터의 특정 노드에 노드 어피니티를 사용해 쿠버네티스 파드를 할당하는
방법을 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 노드에 레이블 추가
@@ -112,9 +113,10 @@ weight: 120
nginx 1/1 Running 0 13s 10.200.0.4 worker0
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
[노드 어피니티](/ko/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity)에
대해 더 알아보기.
{{% /capture %}}
@@ -1,21 +1,22 @@
---
title: 노드에 파드 할당
content_template: templates/task
content_type: task
weight: 120
---
{{% capture overview %}}
<!-- overview -->
이 문서는 쿠버네티스 클러스터의 특정 노드에 쿠버네티스 파드를 할당하는
방법을 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 노드에 레이블 추가
@@ -96,9 +97,10 @@ weight: 120
설정 파일을 사용해 `foo-node` 노드에 파드를 스케줄되도록 만들어 보자.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [레이블과 셀렉터](/ko/docs/concepts/overview/working-with-objects/labels/)에 대해 배우기.
* [노드](/ko/docs/concepts/architecture/nodes/)에 대해 배우기.
{{% /capture %}}
@@ -1,10 +1,10 @@
---
title: 스토리지의 볼륨을 사용하는 파드 구성
content_template: templates/task
content_type: task
weight: 50
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 스토리지의 볼륨을 사용하는 파드를 구성하는 방법을 설명한다.
@@ -14,15 +14,16 @@ weight: 50
사용할 수 있다. 이것은 레디스(Redis)와 같은 키-값 저장소나
데이터베이스와 같은 스테이트풀 애플리케이션에 매우 중요하다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 파드에 볼륨 구성
@@ -126,9 +127,10 @@ Redis 파드의
kubectl delete pod redis
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [볼륨](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core)을 참고한다.
@@ -140,6 +142,6 @@ Redis 파드의
노드의 디바이스 마운트, 언마운트와 같은 세부사항을 처리한다.
자세한 내용은 [볼륨](/ko/docs/concepts/storage/volumes/)을 참고한다.
{{% /capture %}}
@@ -1,26 +1,27 @@
---
title: 프라이빗 레지스트리에서 이미지 받아오기
content_template: templates/task
content_type: task
weight: 100
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 프라이빗 도커 레지스트리나 리포지터리로부터 이미지를 받아오기 위해 시크릿(Secret)을
사용하는 파드(Pod)를 생성하는 방법을 보여준다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
* {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
* 이 실습을 수행하기 위해,
[도커 ID](https://docs.docker.com/docker-id/)와 비밀번호가 필요하다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 도커 로그인
@@ -200,9 +201,10 @@ kubectl apply -f my-private-reg-pod.yaml
kubectl get pod private-reg
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [시크릿](/docs/concepts/configuration/secret/)에 대해 더 배워 보기.
* [프라이빗 레지스트리 사용](/ko/docs/concepts/containers/images/#프라이빗-레지스트리-사용)에 대해 더 배워 보기.
@@ -211,4 +213,4 @@ kubectl get pod private-reg
* [시크릿](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#secret-v1-core)에 대해 읽어보기.
* [PodSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core)의 `imagePullSecrets` 필드에 대해 읽어보기.
{{% /capture %}}
@@ -1,27 +1,28 @@
---
title: 파드에 대한 서비스 품질(QoS) 구성
content_template: templates/task
content_type: task
weight: 30
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 특정 서비스 품질(QoS) 클래스를 할당하기 위해 어떻게 파드를
구성해야 하는지 보여준다. 쿠버네티스는 QoS 클래스를 사용하여 파드
스케줄링과 축출을 결정한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## QoS 클래스
@@ -235,9 +236,10 @@ kubectl delete pod qos-demo-4 --namespace=qos-example
kubectl delete namespace qos-example
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
### 앱 개발자를 위한 문서
@@ -263,4 +265,4 @@ kubectl delete namespace qos-example
* [API 오브젝트 할당량 구성](/docs/tasks/administer-cluster/quota-api-object/)
* [노드의 토폴로지 관리 정책 제어](/docs/tasks/administer-cluster/topology-manager/)
{{% /capture %}}
@@ -1,9 +1,9 @@
---
content_template: templates/concept
content_type: concept
title: 엘라스틱서치(Elasticsearch) 및 키바나(Kibana)를 사용한 로깅
---
{{% capture overview %}}
<!-- overview -->
Google 컴퓨트 엔진(Compute Engine, GCE) 플랫폼에서, 기본 로깅 지원은
[스택드라이버(Stackdriver) 로깅](https://cloud.google.com/logging/)을 대상으로 한다. 이는
@@ -18,9 +18,9 @@ Google 컴퓨트 엔진(Compute Engine, GCE) 플랫폼에서, 기본 로깅 지
Google 쿠버네티스 엔진(Kubernetes Engine)에서 호스팅되는 쿠버네티스 클러스터에는 엘라스틱서치 및 키바나를 자동으로 배포할 수 없다. 수동으로 배포해야 한다.
{{< /note >}}
{{% /capture %}}
{{% capture body %}}
<!-- body -->
클러스터 로깅에 엘라스틱서치, 키바나를 사용하려면 kube-up.sh를 사용하여
클러스터를 생성할 때 아래와 같이 다음의 환경 변수를
@@ -111,11 +111,12 @@ monitoring-influx-grafana-v1-o79xf 2/2 Running 0 2h
![키바나 로그](/images/docs/kibana-logs.png)
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
키바나는 로그를 탐색하기 위한 모든 종류의 강력한 옵션을 제공한다! 이를 파헤치는 방법에 대한
아이디어는 [키바나의 문서](https://www.elastic.co/guide/en/kibana/current/discover.html)를 확인한다.
{{% /capture %}}
@@ -1,19 +1,19 @@
---
title: 리소스 메트릭 파이프라인
content_template: templates/concept
content_type: concept
---
{{% capture overview %}}
<!-- overview -->
컨테이너 CPU 및 메모리 사용량과 같은 리소스 사용량 메트릭은
쿠버네티스의 메트릭 API를 통해 사용할 수 있다. 이 메트릭은
`kubectl top` 커맨드 사용과 같이 사용자가 직접적으로 액세스하거나,
Horizontal Pod Autoscaler 같은 클러스터의 컨트롤러에서 결정을 내릴 때 사용될 수 있다.
{{% /capture %}}
{{% capture body %}}
<!-- body -->
## 메트릭 API
@@ -58,4 +58,4 @@ CPU는 일정 기간 동안 [CPU 코어](https://kubernetes.io/docs/concepts/con
[설계 문서](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/metrics-server.md)에서 메트릭 서버에 대해 자세하게 배울 수 있다.
{{% /capture %}}
@@ -1,9 +1,9 @@
---
content_template: templates/concept
content_type: concept
title: 리소스 모니터링 도구
---
{{% capture overview %}}
<!-- overview -->
애플리케이션을 스케일하여 신뢰할 수 있는 서비스를 제공하려면,
애플리케이션이 배포되었을 때 애플리케이션이 어떻게 동작하는지를 이해해야 한다.
@@ -14,9 +14,9 @@ title: 리소스 모니터링 도구
이 정보는 애플리케이션의 성능을 평가하고
병목 현상을 제거하여 전체 성능을 향상할 수 있게 해준다.
{{% /capture %}}
{{% capture body %}}
<!-- body -->
쿠버네티스에서 애플리케이션 모니터링은 단일 모니터링 솔루션에 의존하지 않는다.
신규 클러스터에서는, [리소스 메트릭](#리소스-메트릭-파이프라인) 또는 [완전한
@@ -55,4 +55,4 @@ kubelet의 인증이 필요한 읽기 전용 포트 상의 `/metrics/resource/v1
CNCF 프로젝트인, [프로메테우스](https://prometheus.io)는 기본적으로 쿠버네티스, 노드, 프로메테우스 자체를 모니터링할 수 있다.
CNCF 프로젝트가 아닌 완전한 메트릭 파이프라인 프로젝트는 쿠버네티스 문서의 범위가 아니다.
{{% /capture %}}
@@ -1,25 +1,26 @@
---
title: 컨테이너를 위한 커맨드와 인자 정의하기
content_template: templates/task
content_type: task
weight: 10
---
{{% capture overview %}}
<!-- overview -->
본 페이지는 {{< glossary_tooltip text="파드" term_id="pod" >}} 안에서 컨테이너를 실행할
때 커맨드와 인자를 정의하는 방법에 대해 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 파드를 생성할 때 커맨드와 인자를 정의하기
@@ -145,14 +146,15 @@ EntryPoint 값과 기본 Cmd 값이 덮어쓰여진다. `command`가 `args` 값
| `[/ep-1]` | `[foo bar]` | `[/ep-2]` | `[zoo boo]` | `[ep-2 zoo boo]` |
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [파드와 컨테이너를 구성하는 방법](/ko/docs/tasks/)에 대해 더 알아본다.
* [컨테이너 안에서 커맨드를 실행하는 방법](/docs/tasks/debug-application-cluster/get-shell-running-container/)에 대해 더 알아본다.
* [컨테이너](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core)를 확인한다.
{{% /capture %}}
@@ -1,25 +1,26 @@
---
title: 컨테이너를 위한 환경 변수 정의하기
content_template: templates/task
content_type: task
weight: 20
---
{{% capture overview %}}
<!-- overview -->
본 페이지는 쿠버네티스 파드의 컨테이너를 위한 환경 변수를
정의하는 방법에 대해 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 컨테이너를 위한 환경 변수 정의하기
@@ -109,12 +110,12 @@ spec:
컨테이너가 생성되면, `echo Warm greetings to The Most Honorable Kubernetes` 커맨드가 컨테이너에서 실행된다.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [환경 변수](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/)에 대해 알아본다.
* [시크릿을 환경 변수로 사용하기](/docs/user-guide/secrets/#using-secrets-as-environment-variables)에 대해 알아본다.
* [EnvVarSource](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#envvarsource-v1-core)를 확인한다.
{{% /capture %}}
@@ -1,11 +1,11 @@
---
content_template: templates/concept
content_type: concept
title: GPU 스케줄링
---
{{% capture overview %}}
<!-- overview -->
{{< feature-state state="beta" for_k8s_version="v1.10" >}}
@@ -15,10 +15,10 @@ title: GPU 스케줄링
이 페이지는 다른 쿠버네티스 버전 간에 걸쳐 사용자가 GPU들을 소비할 수 있는 방법과
현재의 제약 사항을 설명한다.
{{% /capture %}}
{{% capture body %}}
<!-- body -->
## 디바이스 플러그인 사용하기
@@ -216,4 +216,4 @@ spec:
이것은 파드가 사용자가 지정한 GPU 타입을 가진 노드에 스케줄 되도록
만든다.
{{% /capture %}}
@@ -1,27 +1,28 @@
---
title: 구성 파일을 이용한 쿠버네티스 오브젝트의 선언형 관리
content_template: templates/task
content_type: task
weight: 10
---
{{% capture overview %}}
<!-- overview -->
쿠버네티스 오브젝트는 여러 개의 오브젝트 구성 파일을
디렉터리에 저장하고 필요에 따라 `kubectl apply`
사용하여 재귀적으로 오브젝트를 생성하고 업데이트함으로써 생성, 업데이트 및 삭제할 수 있다.
이 방식은 변경사항을 되돌려 오브젝트 구성 파일에 병합하지 않고
활성 오브젝트에 가해진 기록을 유지한다. `kubectl diff`는 또한
`apply`가 어떠한 변경사항을 이루어질지에 대한 프리뷰를 제공한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
[`kubectl`](/docs/tasks/tools/install-kubectl/)를 설치한다.
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 트레이드 오프
@@ -997,9 +998,10 @@ template:
controller-selector: "apps/v1/deployment/nginx"
```
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [명령형 커맨드 사용하여 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-command/)
* [구성 파일 사용하여 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-config/)
* [Kubectl 명령어 참조](/docs/reference/generated/kubectl/kubectl/)
* [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)
{{% /capture %}}
@@ -1,23 +1,24 @@
---
title: 명령형 커맨드를 이용한 쿠버네티스 오브젝트 관리하기
content_template: templates/task
content_type: task
weight: 30
---
{{% capture overview %}}
<!-- overview -->
쿠버네티스 오브젝트는 `kubectl` 커맨드 라인 툴 속에 내장된 명령형 커맨드를 이용함으로써
바로 신속하게 생성, 업데이트 및 삭제할 수 있다. 이 문서는 어떻게 커맨드가 구성되어 있으며,
이를 사용하여 활성 오브젝트를 어떻게 관리하는 지에 대해 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
[`kubectl`](/docs/tasks/tools/install-kubectl/)을 설치한다.
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 트레이드 오프
@@ -159,11 +160,12 @@ kubectl create --edit -f /tmp/srv.yaml
1. `kubectl create service` 커맨드는 서비스에 대한 구성을 생성하고 이를 `/tmp/srv.yaml`에 저장한다.
1. `kubectl create --edit` 커맨드는 오브젝트를 생성하기 전에 편집을 위해 구성파일을 열어준다.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [오브젝트 구성을 이용하여 쿠버네티스 관리하기(명령형)](/ko/docs/tasks/manage-kubernetes-objects/imperative-config/)
* [오브젝트 구성을 이용하여 쿠버네티스 관리하기(선언형)](/ko/docs/tasks/manage-kubernetes-objects/declarative-config/)
* [Kubectl 커맨드 참조](/docs/reference/generated/kubectl/kubectl/)
* [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)
{{% /capture %}}
@@ -1,24 +1,25 @@
---
title: 구성파일을 이용한 명령형 쿠버네티스 오브젝트 관리
content_template: templates/task
content_type: task
weight: 40
---
{{% capture overview %}}
<!-- overview -->
쿠버네티스 오브젝트는 YAML 또는 JSON으로 작성된 오프젝트 구성파일과 함께 `kubectl`
커맨드 라인 툴을 이용하여 생성, 업데이트 및 삭제할 수 있다.
이 문서는 구성파일을 이용하여 어떻게 오브젝트를 정의하고 관리할 수 있는지에 대해 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
[`kubectl`](/docs/tasks/tools/install-kubectl/)을 설치한다.
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 트레이드 오프
@@ -142,11 +143,12 @@ template:
controller-selector: "apps/v1/deployment/nginx"
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [명령형 커맨드를 이용한 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-command/)
* [오브젝트 구성을 이용하여 쿠버네티스 오브젝트 관리하기 (선언형)](/ko/docs/tasks/manage-kubernetes-objects/declarative-config/)
* [Kubectl 커멘드 참조](/docs/reference/generated/kubectl/kubectl/)
* [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)
{{% /capture %}}
@@ -1,10 +1,10 @@
---
title: Kustomize를 이용한 쿠버네티스 오브젝트의 선언형 관리
content_template: templates/task
content_type: task
weight: 20
---
{{% capture overview %}}
<!-- overview -->
[Kustomize](https://github.com/kubernetes-sigs/kustomize)는
[kustomization 파일](https://github.com/kubernetes-sigs/kustomize/blob/master/docs/glossary.md#kustomization)을
@@ -24,17 +24,18 @@ kubectl kustomize <kustomization_directory>
kubectl apply -k <kustomization_directory>
```
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
[`kubectl`](/docs/tasks/tools/install-kubectl/)을 설치한다.
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## Kustomize 개요
@@ -825,13 +826,14 @@ deployment.apps "dev-my-nginx" deleted
| configurations | []string | 이 리스트 내 각각의 항목은 [Kustomize 변환 설정](https://github.com/kubernetes-sigs/kustomize/tree/master/examples/transformerconfigs)을 포함하는 파일로 해석되어져야 한다 |
| crds | []string | 이 리스트 내 각각의 항목은 쿠버네티스 타입에 대한 OpenAPI 정의 파일로 해석되어져야 한다 |
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [Kustomize](https://github.com/kubernetes-sigs/kustomize)
* [Kubectl Book](https://kubectl.docs.kubernetes.io)
* [Kubectl Command Reference](/docs/reference/generated/kubectl/kubectl/)
* [Kubernetes API Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)
{{% /capture %}}
@@ -1,14 +1,15 @@
---
min-kubernetes-server-version: v1.16
title: IPv4/IPv6 이중 스택 검증
content_template: templates/task
content_type: task
---
{{% capture overview %}}
<!-- overview -->
이 문서는 IPv4/IPv6 이중 스택이 활성화된 쿠버네티스 클러스터들을 어떻게 검증하는지 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
* 이중 스택 네트워킹을 위한 제공자 지원 (클라우드 제공자 또는 기타 제공자들은 라우팅 가능한 IPv4/IPv6 네트워크 인터페이스를 제공하는 쿠버네티스 노드들을 제공해야 한다.)
* 이중 스택을 지원하는 [네트워크 플러그인](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) (예. Kubenet 또는 Calico)
@@ -17,9 +18,9 @@ content_template: templates/task
{{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 어드레싱 검증
@@ -155,4 +156,4 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S
my-service ClusterIP fe80:20d::d06b 2001:db8:f100:4002::9d37:c0d7 80:31868/TCP 30s
```
{{% /capture %}}
@@ -1,10 +1,10 @@
---
title: Horizontal Pod Autoscaler 연습
content_template: templates/task
content_type: task
weight: 100
---
{{% capture overview %}}
<!-- overview -->
Horizontal Pod Autoscaler는
CPU 사용량(또는 베타 지원의 다른 애플리케이션 지원 메트릭)을 관찰하여
@@ -12,11 +12,12 @@ CPU 사용량(또는 베타 지원의 다른 애플리케이션 지원 메트릭
이 문서는 php-apache 서버를 대상으로 Horizontal Pod Autoscaler를 동작해보는 예제이다. Horizontal Pod Autoscaler 동작과 관련된 더 많은 정보를 위해서는 [Horizontal Pod Autoscaler 사용자 가이드](/ko/docs/tasks/run-application/horizontal-pod-autoscale/)를 참고하기 바란다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
이 예제는 버전 1.2 또는 이상의 쿠버네티스 클러스터와 kubectl을 필요로 한다.
[메트릭-서버](https://github.com/kubernetes-incubator/metrics-server/) 모니터링을 클러스터에 배포하여 리소스 메트릭 API를 통해 메트릭을 제공해야 한다.
@@ -30,9 +31,9 @@ Horizontal Pod Autoscaler에 다양한 자원 메트릭을 적용하고자 하
버전 1.10 또는 이상의 쿠버네티스 클러스터와 kubectl을 사용해야 하며, 외부 메트릭 API와 통신이 가능해야 한다.
자세한 사항은 [Horizontal Pod Autoscaler 사용자 가이드](/ko/docs/tasks/run-application/horizontal-pod-autoscale/#사용자-정의-메트릭을-위한-지원)를 참고하길 바란다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## php-apache 서버 구동 및 노출
@@ -175,9 +176,9 @@ CPU 사용량은 0으로 떨어졌고, HPA는 레플리카의 개수를 1로 낮
레플리카 오토스케일링은 몇 분 정도 소요된다.
{{< /note >}}
{{% /capture %}}
{{% capture discussion %}}
<!-- discussion -->
## 다양한 메트릭 및 사용자 정의 메트릭을 기초로한 오토스케일링
@@ -481,4 +482,4 @@ kubectl create -f https://k8s.io/examples/application/hpa/php-apache.yaml
horizontalpodautoscaler.autoscaling/php-apache created
```
{{% /capture %}}
@@ -5,11 +5,11 @@ feature:
description: >
간단한 명령어나 UI를 통해서 또는 CPU 사용량에 따라 자동으로 애플리케이션의 스케일을 업 또는 다운한다.
content_template: templates/concept
content_type: concept
weight: 90
---
{{% capture overview %}}
<!-- overview -->
Horizontal Pod Autoscaler는 CPU 사용량
(또는 [사용자 정의 메트릭](https://git.k8s.io/community/contributors/design-proposals/instrumentation/custom-metrics-api.md),
@@ -22,10 +22,10 @@ Horizontal Pod Autoscaler는 쿠버네티스 API 리소스 및 컨트롤러로
컨트롤러는 관찰된 평균 CPU 사용률이 사용자가 지정한 대상과 일치하도록 레플리케이션
컨트롤러 또는 디플로이먼트에서 레플리카 개수를 주기적으로 조정한다.
{{% /capture %}}
{{% capture body %}}
<!-- body -->
## Horizontal Pod Autoscaler는 어떻게 작동하는가?
@@ -436,12 +436,12 @@ behavior:
selectPolicy: Disabled
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* 디자인 문서: [Horizontal Pod Autoscaling](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md).
* kubectl 오토스케일 커맨드: [kubectl autoscale](/docs/reference/generated/kubectl/kubectl-commands/#autoscale).
* [Horizontal Pod Autoscaler](/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/)의 사용 예제.
{{% /capture %}}
+11 -9
View File
@@ -1,6 +1,6 @@
---
title: kubectl 설치 및 설정
content_template: templates/task
content_type: task
weight: 10
card:
name: tasks
@@ -8,15 +8,16 @@ card:
title: kubectl 설치
---
{{% capture overview %}}
<!-- overview -->
쿠버네티스 커맨드 라인 도구인 [kubectl](/docs/user-guide/kubectl/)을 사용하면, 쿠버네티스 클러스터에 대해 명령을 실행할 수 있다. kubectl을 사용하여 애플리케이션을 배포하고, 클러스터 리소스를 검사 및 관리하며 로그를 볼 수 있다. kubectl 작업의 전체 목록에 대해서는, [kubectl 개요](/docs/reference/kubectl/overview/)를 참고한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
클러스터의 마이너(minor) 버전 차이 내에 있는 kubectl 버전을 사용해야 한다. 예를 들어, v1.2 클라이언트는 v1.1, v1.2 및 v1.3의 마스터와 함께 작동해야 한다. 최신 버전의 kubectl을 사용하면 예기치 않은 문제를 피할 수 있다.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## 리눅스에 kubectl 설치
@@ -503,12 +504,13 @@ compinit
{{< /tabs >}}
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [Minikube 설치](/ko/docs/tasks/tools/install-minikube/)
* 클러스터 생성에 대한 자세한 내용은 [시작하기](/ko/docs/setup/)를 참고한다.
* [애플리케이션을 시작하고 노출하는 방법에 대해 배운다.](/docs/tasks/access-application-cluster/service-access-application-cluster/)
* 직접 생성하지 않은 클러스터에 접근해야하는 경우, [클러스터 접근 공유 문서](/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)를 참고한다.
* [kubectl 레퍼런스 문서](/docs/reference/kubectl/kubectl/) 읽기
{{% /capture %}}
@@ -1,19 +1,20 @@
---
title: Minikube 설치
content_template: templates/task
content_type: task
weight: 20
card:
name: tasks
weight: 10
---
{{% capture overview %}}
<!-- overview -->
이 페이지는 단일 노드 쿠버네티스 클러스터를 노트북의 가상 머신에서 구동하는 도구인 [Minikube](/ko/docs/tutorials/hello-minikube)의 설치 방법을 설명한다.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< tabs name="minikube_before_you_begin" >}}
{{% tab name="리눅스" %}}
@@ -53,9 +54,9 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for
{{% /tab %}}
{{< /tabs >}}
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
# minikube 설치하기
@@ -200,13 +201,14 @@ Minikube 설치를 마친 후, 현재 CLI 세션을 닫고 재시작한다. Mini
{{< /tabs >}}
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* [Minikube로 로컬에서 쿠버네티스 실행하기](/docs/setup/minikube/)
{{% /capture %}}
## 설치 확인