Seventh Korean l10n Work For Release 1.17 (#19858)
- Translation error correction with k8s.io/ko/docs/concepts/overview/components.md (#19720) - Error correction with overview/working-with-objects/kubernetes-objects.md (#19735) - Fix issues with working-with-objects/namespaces.md (#19753) - Issue with working-with-objects/object-management.md (#19740) - Fix issue with working-with-objects/labels.md (#19763) - Translate training/_index.html in Korean. (#19718) - Update links to docs that reference new docs added in the dev-1.17-ko.6 branch. (#19724) - Fix Issues with working-with-objects/names.md (#19749) - Update to Outdated files in the dev-1.17-ko.7 branch (#19712) - Error correction with /concepts/overview/kubernetes-api.md (#19733) - Translation error correction in /concepts/overview/what-is-kubernetes.md (#19710) - Typo in /contribute/participating.md (#19683) - Correct the Korean word typo 맴버 to 멤버 (#19674) Co-Authored-by: Jerry Park <jaehwa@gmail.com> Co-Authored-by: Yuk, Yongsu <ysyukr@gmail.com> Co-Authored-by: June Yi <june.yi@samsung.com> Co-authored-by: June Yi <june.yi@samsung.com> Co-authored-by: Jerry Park <jaehwa@gmail.com> Co-authored-by: Yuk, Yongsu <ysyukr@gmail.com>
This commit is contained in:
@@ -179,7 +179,7 @@ Python 클라이언트는 apiserver의 위치지정과 인증에 kubectl CLI와
|
||||
|
||||
### 다른 언어
|
||||
|
||||
다른 언어에서 API를 접속하기 위한 [클라이언트 라이브러리들](/docs/reference/using-api/client-libraries/)도 존재한다.
|
||||
다른 언어에서 API를 접속하기 위한 [클라이언트 라이브러리들](/ko/docs/reference/using-api/client-libraries/)도 존재한다.
|
||||
이들이 어떻게 인증하는지는 다른 라이브러리들의 문서를 참조한다.
|
||||
|
||||
## 파드에서 API 액세스
|
||||
|
||||
+2
-2
@@ -322,7 +322,7 @@ contexts:
|
||||
```
|
||||
|
||||
kubeconfig 파일들을 어떻게 병합하는지에 대한 상세정보는
|
||||
[kubeconfig 파일을 사용하여 클러스터 접근 구성하기](/docs/concepts/configuration/organize-cluster-access-kubeconfig/)를 참조한다.
|
||||
[kubeconfig 파일을 사용하여 클러스터 접근 구성하기](/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig/)를 참조한다.
|
||||
|
||||
## $HOME/.kube 디렉토리 탐색
|
||||
|
||||
@@ -372,7 +372,7 @@ Windows PowerShell
|
||||
|
||||
{{% capture whatsnext %}}
|
||||
|
||||
* [kubeconfig 파일을 사용하여 클러스터 접근 구성하기](/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
|
||||
* [kubeconfig 파일을 사용하여 클러스터 접근 구성하기](/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
|
||||
* [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config)
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
+90
-36
@@ -2,6 +2,7 @@
|
||||
title: 포트 포워딩을 사용해서 클러스터 내 애플리케이션에 접근하기
|
||||
content_template: templates/task
|
||||
weight: 40
|
||||
min-kubernetes-server-version: v1.10
|
||||
---
|
||||
|
||||
{{% capture overview %}}
|
||||
@@ -26,104 +27,156 @@ weight: 40
|
||||
|
||||
## Redis 디플로이먼트와 서비스 생성하기
|
||||
|
||||
1. Redis 디플로이먼트를 생성한다.
|
||||
|
||||
kubectl apply -f https://k8s.io/examples/application/guestbook/redis-master-deployment.yaml
|
||||
1. Redis를 실행하기 위해 디플로이먼트를 생성한다.
|
||||
|
||||
```shell
|
||||
kubectl apply -f https://k8s.io/examples/application/guestbook/redis-master-deployment.yaml
|
||||
```
|
||||
|
||||
성공적인 명령어의 출력은 디플로이먼트가 생성됐다는 것을 확인해준다.
|
||||
|
||||
deployment.apps/redis-master created
|
||||
```
|
||||
deployment.apps/redis-master created
|
||||
```
|
||||
|
||||
파드 상태를 조회하여 파드가 준비되었는지 확인한다.
|
||||
|
||||
kubectl get pods
|
||||
```shell
|
||||
kubectl get pods
|
||||
```
|
||||
|
||||
출력은 파드가 생성되었다는 것을 보여준다.
|
||||
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
redis-master-765d459796-258hz 1/1 Running 0 50s
|
||||
```
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
redis-master-765d459796-258hz 1/1 Running 0 50s
|
||||
```
|
||||
|
||||
디플로이먼트 상태를 조회한다.
|
||||
|
||||
kubectl get deployment
|
||||
```shell
|
||||
kubectl get deployment
|
||||
```
|
||||
|
||||
출력은 디플로이먼트가 생성되었다는 것을 보여준다.
|
||||
|
||||
NAME READY UP-TO-DATE AVAILABLE AGE
|
||||
redis-master 1/1 1 1 55s
|
||||
```
|
||||
NAME READY UP-TO-DATE AVAILABLE AGE
|
||||
redis-master 1/1 1 1 55s
|
||||
```
|
||||
|
||||
아래의 명령어를 사용하여 레플리카셋 상태를 조회한다.
|
||||
|
||||
kubectl get rs
|
||||
```shell
|
||||
kubectl get rs
|
||||
```
|
||||
|
||||
출력은 레플리카셋이 생성되었다는 것을 보여준다.
|
||||
|
||||
NAME DESIRED CURRENT READY AGE
|
||||
redis-master-765d459796 1 1 1 1m
|
||||
```
|
||||
NAME DESIRED CURRENT READY AGE
|
||||
redis-master-765d459796 1 1 1 1m
|
||||
```
|
||||
|
||||
|
||||
2. Redis 서비스를 생성한다.
|
||||
2. Redis를 네트워크에 노출시키기 위해 서비스를 생성한다.
|
||||
|
||||
kubectl apply -f https://k8s.io/examples/application/guestbook/redis-master-service.yaml
|
||||
```shell
|
||||
kubectl apply -f https://k8s.io/examples/application/guestbook/redis-master-service.yaml
|
||||
```
|
||||
|
||||
성공적인 커맨드의 출력은 서비스가 생성되었다는 것을 확인해준다.
|
||||
|
||||
service/redis-master created
|
||||
```
|
||||
service/redis-master created
|
||||
```
|
||||
|
||||
서비스가 생성되었는지 확인한다.
|
||||
|
||||
kubectl get svc | grep redis
|
||||
```shell
|
||||
kubectl get svc | grep redis
|
||||
```
|
||||
|
||||
출력은 서비스가 생성되었다는 것을 보여준다.
|
||||
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
redis-master ClusterIP 10.0.0.213 <none> 6379/TCP 27s
|
||||
```
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
redis-master ClusterIP 10.0.0.213 <none> 6379/TCP 27s
|
||||
```
|
||||
|
||||
3. Redis 서버가 파드 안에서 실행되고 있고, 6379번 포트에서 수신하고 있는지 확인한다.
|
||||
|
||||
kubectl get pods redis-master-765d459796-258hz --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
|
||||
```shell
|
||||
# redis-master-765d459796-258hz 를 파드 이름으로 변경한다.
|
||||
kubectl get pod redis-master-765d459796-258hz --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
|
||||
|
||||
출력은 포트 번호를 보여준다.
|
||||
```
|
||||
|
||||
6379
|
||||
출력은 파드 내 Redis 포트 번호를 보여준다.
|
||||
|
||||
```
|
||||
6379
|
||||
```
|
||||
|
||||
(이 TCP 포트는 Redis가 인터넷에 할당된 것이다).
|
||||
|
||||
## 파드의 포트를 로컬 포트로 포워딩하기
|
||||
|
||||
1. 쿠버네티스 1.10 버전부터, `kubectl port-forward` 명령어는 파드 이름과 같이 리소스 이름을 사용하여 일치하는 파드를 선택해 포트 포워딩하는 것을 허용한다.
|
||||
1. `kubectl port-forward` 명령어는 파드 이름과 같이 리소스 이름을 사용하여 일치하는 파드를 선택해 포트 포워딩하는 것을 허용한다.
|
||||
|
||||
kubectl port-forward redis-master-765d459796-258hz 7000:6379
|
||||
```shell
|
||||
# redis-master-765d459796-258hz 를 파드 이름으로 변경한다.
|
||||
kubectl port-forward redis-master-765d459796-258hz 7000:6379
|
||||
```
|
||||
|
||||
이것은
|
||||
|
||||
kubectl port-forward pods/redis-master-765d459796-258hz 7000:6379
|
||||
```shell
|
||||
kubectl port-forward pods/redis-master-765d459796-258hz 7000:6379
|
||||
```
|
||||
|
||||
또는
|
||||
|
||||
kubectl port-forward deployment/redis-master 7000:6379
|
||||
```shell
|
||||
kubectl port-forward deployment/redis-master 7000:6379
|
||||
```
|
||||
|
||||
또는
|
||||
|
||||
kubectl port-forward rs/redis-master 7000:6379
|
||||
```shell
|
||||
kubectl port-forward rs/redis-master 7000:6379
|
||||
```
|
||||
|
||||
또는 다음과 같다.
|
||||
|
||||
kubectl port-forward svc/redis-master 7000:6379
|
||||
```shell
|
||||
kubectl port-forward svc/redis-master 7000:6379
|
||||
```
|
||||
|
||||
위의 명령어들은 모두 동일하게 동작한다. 이와 유사하게 출력된다.
|
||||
|
||||
I0710 14:43:38.274550 3655 portforward.go:225] Forwarding from 127.0.0.1:7000 -> 6379
|
||||
I0710 14:43:38.274797 3655 portforward.go:225] Forwarding from [::1]:7000 -> 6379
|
||||
```
|
||||
I0710 14:43:38.274550 3655 portforward.go:225] Forwarding from 127.0.0.1:7000 -> 6379
|
||||
I0710 14:43:38.274797 3655 portforward.go:225] Forwarding from [::1]:7000 -> 6379
|
||||
```
|
||||
|
||||
2. Redis 커맨드라인 인터페이스를 실행한다.
|
||||
|
||||
redis-cli -p 7000
|
||||
```shell
|
||||
redis-cli -p 7000
|
||||
```
|
||||
|
||||
3. Redis 커맨드라인 프롬프트에 `ping` 명령을 입력한다.
|
||||
|
||||
127.0.0.1:7000>ping
|
||||
```shell
|
||||
ping
|
||||
```
|
||||
|
||||
성공적인 핑 요청은 PONG을 반환한다.
|
||||
성공적인 핑 요청을 반환한다.
|
||||
|
||||
```
|
||||
PONG
|
||||
```
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
@@ -136,11 +189,12 @@ weight: 40
|
||||
이 연결로 로컬 워크스테이션에서 파드 안에서 실행 중인 데이터베이스를 디버깅하는데
|
||||
사용할 수 있다.
|
||||
|
||||
{{< warning >}}
|
||||
알려진 제한사항으로 인해, 오늘날 포트 포워딩은 TCP 프로토콜에서만 작동한다. UDP 프로토콜에 대한 지원은
|
||||
{{< note >}}
|
||||
`kubectl port-forward` 는 TCP 포트에서만 구현된다.
|
||||
UDP 프로토콜에 대한 지원은
|
||||
[이슈 47862](https://github.com/kubernetes/kubernetes/issues/47862)
|
||||
에서 추적되고 있다.
|
||||
{{< /warning >}}
|
||||
{{< /note >}}
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ track=stable
|
||||
|
||||
- **이미지 풀(Pull) 시크릿**: 특정 도커 컨테이너 이미지가 프라이빗한 경우, [풀(Pull) 시크릿](/docs/concepts/configuration/secret/) 증명을 요구한다.
|
||||
|
||||
대시보드는 가능한 모든 시크릿을 드롭다운 리스트로 제공하며, 새로운 시크릿을 생성 할 수 있도록 한다. 시크릿 이름은 예를 들어 `new.image-pull.secret` 과 같이 DNS 도메인 이름 구문으로 따르기로 한다. 시크릿 내용은 base64 인코딩 방식이며, [`.dockercfg`](/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod) 파일로 정의된다. 시크릿 이름은 최대 253 문자를 포함할 수 있다.
|
||||
대시보드는 가능한 모든 시크릿을 드롭다운 리스트로 제공하며, 새로운 시크릿을 생성 할 수 있도록 한다. 시크릿 이름은 예를 들어 `new.image-pull.secret` 과 같이 DNS 도메인 이름 구문으로 따르기로 한다. 시크릿 내용은 base64 인코딩 방식이며, [`.dockercfg`](/ko/docs/concepts/containers/images/#파드에-imagepullsecrets-명시) 파일로 정의된다. 시크릿 이름은 최대 253 문자를 포함할 수 있다.
|
||||
|
||||
이미지 풀(Pull) 시크릿의 생성이 성공한 경우, 기본으로 선택된다. 만약 생성에 실패하면, 시크릿은 허용되지 않는다.
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ service/php-apache created
|
||||
간단히 얘기하면, HPA는 (디플로이먼트를 통한) 평균 CPU 사용량을 50%로 유지하기 위하여 레플리카의 개수를 늘리고 줄인다.
|
||||
(kubectl run으로 각 파드는 200 밀리코어까지 요청할 수 있고,
|
||||
따라서 여기서 말하는 평균 CPU 사용은 100 밀리코어를 말한다).
|
||||
이에 대한 자세한 알고리즘은 [여기](/docs/tasks/run-application/horizontal-pod-autoscale/#algorithm-details)를 참고하기 바란다.
|
||||
이에 대한 자세한 알고리즘은 [여기](/ko/docs/tasks/run-application/horizontal-pod-autoscale/#알고리즘-세부-정보)를 참고하기 바란다.
|
||||
|
||||
```shell
|
||||
kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10
|
||||
@@ -367,8 +367,8 @@ status:
|
||||
type: Object
|
||||
object:
|
||||
metric:
|
||||
name: `http_requests`
|
||||
selector: `verb=GET`
|
||||
name: http_requests
|
||||
selector: {matchLabels: {verb: GET}}
|
||||
```
|
||||
|
||||
이 셀렉터는 쿠버네티스의 레이블 셀렉터와 동일한 문법이다.
|
||||
|
||||
@@ -67,7 +67,7 @@ Horizontal Pod Autoscaler는 컨트롤러
|
||||
HorizontalPodAutoscaler는 보통 일련의 API 집합(`metrics.k8s.io`,
|
||||
`custom.metrics.k8s.io`, `external.metrics.k8s.io`)에서 메트릭을 가져온다. `metrics.k8s.io` API는 대개 별도로
|
||||
시작해야 하는 메트릭-서버에 의해 제공된다. 가이드는
|
||||
[메트릭-서버](/docs/tasks/debug-application-cluster/resource-metrics-pipeline/#metrics-server)를
|
||||
[메트릭-서버](/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline/#메트릭-서버)를
|
||||
참조한다. HorizontalPodAutoscaler는 힙스터(Heapster)에서 직접 메트릭을 가져올 수도 있다.
|
||||
|
||||
{{< note >}}
|
||||
@@ -174,6 +174,8 @@ CPU에 대한 오토스케일링 지원만 포함하는 안정된 버전은
|
||||
`autoscaling/v2beta2`에서 확인할 수 있다. `autoscaling/v2beta2`에서 소개된
|
||||
새로운 필드는 `autoscaling/v1`로 작업할 때 어노테이션으로 보존된다.
|
||||
|
||||
HorizontalPodAutoscaler API 오브젝트 생성시 지정된 이름이 유효한
|
||||
[DNS 서브도메인 이름](/ko/docs/concepts/overview/working-with-objects/names/#dns-서브도메인-이름들)인지 확인해야 한다.
|
||||
API 오브젝트에 대한 자세한 내용은
|
||||
[HorizontalPodAutoscaler 오브젝트](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md#horizontalpodautoscaler-object)에서 찾을 수 있다.
|
||||
|
||||
@@ -275,8 +277,8 @@ API에 접속하려면 클러스터 관리자는 다음을 확인해야 한다.
|
||||
[custom.metrics.k8s.io](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/custom-metrics-api.md),
|
||||
[external.metrics.k8s.io](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/external-metrics-api.md)를 참조한다.
|
||||
|
||||
어떻게 사용하는지에 대한 예시는 [커스텀 메트릭 사용하는 작업 과정](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics)과
|
||||
[외부 메트릭스 사용하는 작업 과정](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects)을 참조한다.
|
||||
어떻게 사용하는지에 대한 예시는 [커스텀 메트릭 사용하는 작업 과정](/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#다양한-메트릭-및-사용자-정의-메트릭을-기초로한-오토스케일링)과
|
||||
[외부 메트릭스 사용하는 작업 과정](/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#쿠버네티스-오브젝트와-관련이-없는-메트릭을-기초로한-오토스케일링)을 참조한다.
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
|
||||
@@ -86,6 +86,12 @@ Minikube에서는 동작하지 않는 스냅 패키지 대신 도커용 `.deb`
|
||||
`--vm-driver=none` 을 사용하기 전에 [이 문서](https://minikube.sigs.k8s.io/docs/reference/drivers/none/)를 참조해서 더 자세한 내용을 본다.
|
||||
{{< /caution >}}
|
||||
|
||||
Minikube는 도커 드라이브와 비슷한 `vm-driver=podman` 도 지원한다. 슈퍼사용자 권한(root 사용자)으로 실행되는 Podman은 컨테이너가 시스템에서 사용 가능한 모든 기능에 완전히 접근할 수 있는 가장 좋은 방법이다.
|
||||
|
||||
{{< caution >}}
|
||||
일반 사용자 계정은 컨테이너를 실행하는 데 필요한 모든 운영 체제 기능에 완전히 접근할 수 없기에 `podman` 드라이버는 컨테이너를 root로 실행해야 한다.
|
||||
{{< /caution >}}
|
||||
|
||||
### 패키지를 이용하여 Minikube 설치
|
||||
|
||||
Minikube를 위한 *실험적인* 패키지가 있다.
|
||||
|
||||
Reference in New Issue
Block a user