Third Korean l10n work for release-1.15 (#15744)

* Add Link /docs/reference/ in Korean (#15610)
* Translate tasks/debug-application-cluster/resource-usage-monitoring in Korean (#15593)
* Translate tasks/inject-data-application/define-environment-variable-container in Korean (#15606)
* ko: Update outdated files in dev-1.15-ko.3 (#15605)
* Translate home/supported-doc-version in Korean (#15621)
* ko: Update some files in reference/glossary (#15631)
* Translate reference/glossary/cloud-provider.md in Korean (#15685)
* Translate docs/reference/using-api/api-overview in Korean (#15644)
* Translate tasks/debug-application-cluster/resource-metrics-pipeline in Korean (#15665)

Co-Authored-By: June Yi <june.yi@samsung.com>
Co-Authored-By: Seokho <shsongist@gmail.com>
Co-Authored-By: Tim Bannister <tim@scalefactory.com>
Co-authored-by: Yoon <learder@gmail.com>
Co-authored-by: JiMyung Lee <lee.ji.myung@gmail.com>
Co-authored-by: lapee79 <lapee79@gmail.com>
Co-authored-by: Sunghoon Kang <hoon@linecorp.com>
Co-authored-by: Yuk, Yongsu <ysyukr@gmail.com>
Co-authored-by: Lawrence Kay <me@lkaybob.pe.kr>
This commit is contained in:
June Yi
2019-08-08 23:33:19 +09:00
committed by Kubernetes Prow Robot
parent 05690331ce
commit 4518c983d2
28 changed files with 819 additions and 330 deletions
@@ -0,0 +1,5 @@
---
title: "모니터링, 로깅, 그리고 디버깅"
weight: 80
---
@@ -0,0 +1,53 @@
---
title: 리소스 메트릭 파이프라인
content_template: templates/concept
---
{{% capture overview %}}
쿠버네티스 1.8 부터 컨테이너 CPU 및 메모리 사용량과 같은 리소스 사용량 메트릭은
쿠버네티스의 Metrics API를 통해 사용할 수 있다. 이 메트릭은
`kubectl top` 커맨드 사용과 같이 사용자가 직접적으로 액세스하거나,
Horizontal Pod Autoscaler 같은 클러스터의 컨트롤러에서 결정을 내릴 때 사용될 수 있다.
{{% /capture %}}
{{% capture body %}}
## Metrics API
Metrics API를 통해 주어진 노드나 파드에서 현재 사용중인
리소스의 양을 알 수 있다. 이 API는 메트릭 값을 저장하지
않으므로 지정된 노드에서 10분 전에 사용된 리소스의 양을
가져오는 것과 같은 일을 할 수는 없다.
이 API와 다른 API는 차이가 없다.
- 다른 쿠버네티스 API의 엔드포인트와 같이 `/apis/metrics.k8s.io/` 하위 경로에서 발견될 수 있다
- 동일한 보안, 확장성 및 신뢰성 보장을 제공한다
[k8s.io/metrics](https://github.com/kubernetes/metrics/blob/master/pkg/apis/metrics/v1beta1/types.go)
리포지터리에서 이 API를 정의하고 있다. 여기에서 이 API에 대한 더 상세한 정보를 찾을 수 있다.
{{< note >}}
이 API를 사용하려면 Metrics server를 클러스터에 배포해야 한다. 그렇지 않으면 사용할 수 없다.
{{< /note >}}
## Metrics Server
[Metrics server](https://github.com/kubernetes-incubator/metrics-server)는 클러스터 전역에서 리소스 사용량 데이터를 집계한다.
쿠버네티스 1.8 부터 `kube-up.sh` 스크립트에 의해 생성된 클러스터에는 기본적으로 Metrics server가
디플로이먼트 오브젝트로 배포된다. 만약 다른 쿠버네티스 설치 메커니즘을 사용한다면, 제공된
[배포 yaml들](https://github.com/kubernetes-incubator/metrics-server/tree/master/deploy)을 사용하여 Metrics server를 배포할 수 있다.
이 방식은 쿠버네티스 1.7 이상에서 지원된다. (상세 사항은 아래를 참조)
Metric server는 각 노드에서 [Kubelet](/docs/admin/kubelet/)에 의해 노출된 Summary API에서 메트릭을 수집한다.
Metrics server는 쿠버네티스 1.7에서 도입된
[쿠버네티스 aggregator](/docs/concepts/api-extension/apiserver-aggregation/)를
통해 메인 API 서버에 등록된다.
[설계 문서](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/metrics-server.md)에서 Metrics server에 대해 자세하게 배울 수 있다.
{{% /capture %}}
@@ -0,0 +1,116 @@
---
content_template: templates/concept
title: 리소스 모니터링 도구
---
{{% capture overview %}}
애플리케이션을 스케일하여 신뢰할 수 있는 서비스를 제공하려면,
애플리케이션이 배포되었을 때 애플리케이션이 어떻게 동작하는지를 이해해야 한다.
컨테이너, [파드](/ko/docs/concepts/workloads/pods/pod),
[서비스](/docs/concepts/services-networking/service), 그리고 전체 클러스터의 특성을
검사하여 쿠버네티스 클러스터 내의 애플리케이션 성능을 검사할 수 있다. 쿠버네티스는 각 레벨에서
애플리케이션의 리소스 사용량에 대한 상세 정보를 제공한다.
이 정보는 애플리케이션의 성능을 평가하고
병목 현상을 제거하여 전체 성능을 향상할 수 있게 해준다.
{{% /capture %}}
{{% capture body %}}
쿠버네티스에서 애플리케이션 모니터링은 단일 모니터링 솔루션에 의존하지 않는다.
신규 클러스터에서는 기본적으로 두 개의 개별 파이프라인을 사용하여 모니터링 통계를
수집할 수 있다.
- [**리소스 메트릭 파이프라인**](#리소스-메트릭-파이프라인)은 HorizontalPodAutoscaler
컨트롤러와 같은 클러스터 구성요소나 `kubectl top` 유틸리티에 관련되어 있는 메트릭들로
제한된 집합을 제공한다. 이 메트릭은
[metrics-server](https://github.com/kubernetes-incubator/metrics-server)
에 의해서 수집되며 `metrics.k8s.io` API를 통해 노출된다. `metrics-server`는 클러스터
상의 모든 노드를 발견하고 각 노드의
[Kubelet](/docs/reference/command-line-tools-reference/kubelet)에 CPU와 메모리
사용량을 질의한다. Kubelet은 [cAdvisor](https://github.com/google/cadvisor)에서
데이터를 가져온다. `metrics-server`는 경량의 단기 인메모리 저장소이다.
- 프로메테우스 같이 [**완전한 메트릭 파이프라인**](#완전한-메트릭-파이프라인)은 보다 풍부한
메트릭에 액세스할 수 있게 해준다. 추가적으로 쿠버네티스는 Horizontal Pod Autoscaler와
같은 메커니즘을 사용하여 현재 상태를 기반으로 클러스터를 자동으로 확장 또는
조정함으로써 이런 메트릭에 응답할 수 있다. 모니터링 파이프라인은 Kubelet에서
메트릭을 가져온 다음 `custom.metrics.k8s.io` 이나
`external.metrics.k8s.io` API로 구현된 어댑터를 통해
이들을 쿠버네티스에 노출한다.
## 리소스 메트릭 파이프라인
### Kubelet
Kubelet은 쿠버네티스 마스터와 노드들 사이의 다리 역할을 한다. 이는 머신 상에서 실행되는 파드들과 컨테이너들을 관리한다. Kubelet은 각 파드를 이를 구성하는 컨테이너들로 변환하며 컨테이너 런타임 인터페이스를 통해 컨테이너 런타임에서 개별 컨테이너의 사용량 통계를 가져온다. 레거시 도커 통합에서는 cAdvisor에서 이 정보를 가져온다. 그런 다음 Kubelet 리소스 메트릭 API를 통해 집계된 파드 리소스 사용량 통계를 노출한다. 이 API는 Kubelet의 인증되고 읽기 전용의 포트들 상에서 `/metrics/resource/v1alpha1`으로 제공된다.
### cAdvisor
cAdvisor는 오픈 소스 컨테이너 자원 사용률/성능 분석 에이전트이다. 이는 컨테이너 전용으로 설계되었으며 도커 컨테이너를 기본적으로 지원한다. 쿠버네티스에서 cAdvisor는 Kubelet 바이너리와 통합된다. cAdvisor는 머신 내 모든 컨테이너를 자동으로 발견하며 CPU, 메모리, 파일시스템, 네트워크 사용량 통계를 수집한다. cAdvisor는 또한 machine 상의 'root' 컨테이너 분석에 의한 전체 머신 사용량도 제공한다.
Kubelet은 기본 포트 4194를 통해 머신의 컨테이너에 대한 단순한 cAdvisor UI를 노출한다.
아래 그림은 전체 머신의 사용량을 예제로 보여준다. 하지만, 이 기능은 v1.10에서는 사용 중단(deprecated)으로
표시되었으며, v1.12에서는 완전히 제거되었다.
![cAdvisor](/images/docs/cadvisor.png)
v1.13부터, [cAdvisor를 데몬셋으로 배포](https://github.com/google/cadvisor/tree/master/deploy/kubernetes)하여 cAdvisor UI에 액세스할 수 있다.
## 완전한 메트릭 파이프라인
쿠버네티스를 위한 많은 완전한 메트릭 솔루션들이 존재한다.
### 프로메테우스
[프로메테우스](https://prometheus.io)는 기본적으로 쿠버네티스, 노드, 프로메테우스 자체를 모니터링할 수 있다.
[Prometheus Operator](https://coreos.com/operators/prometheus/docs/latest/)는
쿠버네티스에서 프로메테우스 설정을 단순화하고,
[Prometheus adapter](https://github.com/directxman12/k8s-prometheus-adapter)를
사용하여 커스텀 메트릭 API를 제공할 수 있게 해준다.
프로메테우스는 강력한 쿼리 언어와 데이터 쿼리와 시각화를 위한 내장 대시보드를 제공한다.
또한 [Grafana](https://prometheus.io/docs/visualization/grafana/)에서는
데이터 소스로 프로메테우스가 지원된다.
### Sysdig
[Sysdig](http://sysdig.com)는 완전한 스펙트럼 컨테이너와 플랫폼 인텔리전스를 제공하며,
진정한 컨테이너 네이티브 솔루션이다. Sysdig는 시스템 호출, 쿠버네티스 이벤트, 프로메테우스 메트릭,
statsD, JMX 등의 데이터를 하나의 창으로 통합하여 환경에 대한 포괄적인 그림을 제공한다.
또한 Sysdig는 강력하고 사용자 정의가 가능한 솔루션을 제공하기 위해 쿼리를 실행할 수 있는 API를 제공한다.
Sysdig는 오픈 소스로 만들어졌다. [Sysdig와 Sysdig Inspect](https://sysdig.com/opensource/inspect/)는
자유롭게 트러블슈팅, 분석, 포렌식을 수행할 수 있는 기능을 제공한다.
### 구글 클라우드 모니터링
구글 클라우드 모니터링은 호스팅 모니터링 서비스로 애플리케이션의
중요한 메트릭을 시각화하고 경고하는데 사용할 수 있으며,
쿠버네티스에서 메트릭을 수집하고
[Cloud Monitoring Console](https://app.google.stackdriver.com/)을
통해 이 메트릭들에 접근할 수 있다. 대시보드를 만들고 사용자 정의하여 쿠버네티스 클러스터에서
수집한 데이터를 시각화할 수 있다.
이 동영상은 힙스터(Heapster)를 기반으로 구글 클라우드 모니터링을 구성하고 실행하는 방법을 보여준다.
[![힙스터를 기반으로 구글 클라우드 모니터링을 구성하고 실행하는 방법](https://img.youtube.com/vi/xSMNR2fcoLs/0.jpg)](https://www.youtube.com/watch?v=xSMNR2fcoLs)
{{< figure src="/images/docs/gcm.png" alt="구글 클라우드 모니터링 대시보드 예제" title="구글 클라우드 모니터링 대시보드 예제" caption="대시보드는 클러스터 전역의 리소스 사용량을 보여준다." >}}
## 크론잡 모니터링
### Kubernetes Job Monitor
[Kubernetes Job Monitor](https://github.com/pietervogelaar/kubernetes-job-monitor) 대시보드를 사용하여 클러스터 관리자는 실행되고 있는 잡들과 완료된 잡의 상태를 볼 수 있다.
### New Relic 쿠버네티스 모니터링 통합
[New Relic 쿠버네티스](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kubernetes-monitoring-integration) 통합은 쿠버네티스 환경의 성능에 대한 가시성을 향상시킨다. New Relic의 쿠버네티스 통합은 쿠버네티스 오브젝트의 메트릭을 리포팅하는 것으로 컨테이너 오케스트레이션 계층을 측정한다. 통합을 통해 쿠버네티스 노드, 네임스페이스, 디플로이먼트, 레플리카 셋, 파드, 컨테이너에 대한 인사이트를 얻을 수 있다.
중요 기능:
사전 구축된 대시보드에서 데이터를 확인하여 쿠버네티스 환경에 대한 즉각적인 인사이트를 확인한다.
자동으로 보고되는 데이터의 인사이트로 커스텀 쿼리와 차트를 생성한다.
쿠버네티스 데이터에 대해 경고 조건을 생성한다.
이 [페이지](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kubernetes-monitoring-integration)에서 더 알아볼 수 있다.
{{% /capture %}}