Update outdated files in dev-1.21-ko.7 (m27)
This commit is contained in:
@@ -14,7 +14,10 @@ source: https://cloud.google.com/kubernetes-engine/docs/tutorials/guestbook
|
|||||||
---
|
---
|
||||||
|
|
||||||
<!-- overview -->
|
<!-- overview -->
|
||||||
이 튜토리얼에서는 쿠버네티스와 [Docker](https://www.docker.com/)를 사용하여 간단한 _(운영 수준이 아닌)_ 멀티 티어 웹 애플리케이션을 빌드하고 배포하는 방법을 보여준다. 이 예제는 다음과 같은 구성으로 이루어져 있다.
|
이 튜토리얼에서는 쿠버네티스와 [Docker](https://www.docker.com/)를 사용하여 간단한
|
||||||
|
_(운영 수준이 아닌)_ 멀티 티어 웹 애플리케이션을 빌드하고 배포하는 방법을 보여준다.
|
||||||
|
이 예제는 다음과 같은 구성으로
|
||||||
|
이루어져 있다.
|
||||||
|
|
||||||
* 방명록 항목을 저장하기 위한 단일 인스턴스 [Redis](https://www.redis.com/)
|
* 방명록 항목을 저장하기 위한 단일 인스턴스 [Redis](https://www.redis.com/)
|
||||||
* 여러 개의 웹 프론트엔드 인스턴스
|
* 여러 개의 웹 프론트엔드 인스턴스
|
||||||
@@ -78,7 +81,10 @@ source: https://cloud.google.com/kubernetes-engine/docs/tutorials/guestbook
|
|||||||
|
|
||||||
### Redis 리더 서비스 생성하기
|
### Redis 리더 서비스 생성하기
|
||||||
|
|
||||||
방명록 애플리케이션에서 데이터를 쓰려면 Redis와 통신해야 한다. Redis 파드로 트래픽을 프록시하려면 [서비스](/ko/docs/concepts/services-networking/service/)를 생성해야 한다. 서비스는 파드에 접근하기 위한 정책을 정의한다.
|
방명록 애플리케이션에서 데이터를 쓰려면 Redis와 통신해야 한다.
|
||||||
|
Redis 파드로 트래픽을 프록시하려면 [서비스](/ko/docs/concepts/services-networking/service/)를 생성해야 한다.
|
||||||
|
서비스는 파드에 접근하기 위한 정책을
|
||||||
|
정의한다.
|
||||||
|
|
||||||
{{< codenew file="application/guestbook/redis-leader-service.yaml" >}}
|
{{< codenew file="application/guestbook/redis-leader-service.yaml" >}}
|
||||||
|
|
||||||
@@ -108,12 +114,15 @@ source: https://cloud.google.com/kubernetes-engine/docs/tutorials/guestbook
|
|||||||
```
|
```
|
||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
이 매니페스트 파일은 이전에 정의된 레이블과 일치하는 레이블 집합을 가진 `redis-leader`라는 서비스를 생성하므로, 서비스는 네트워크 트래픽을 Redis 파드로 라우팅한다.
|
이 매니페스트 파일은 이전에 정의된 레이블과 일치하는 레이블 집합을 가진
|
||||||
|
`redis-leader`라는 서비스를 생성하므로, 서비스는 네트워크 트래픽을
|
||||||
|
Redis 파드로 라우팅한다.
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
### Redis 팔로워 구성하기
|
### Redis 팔로워 구성하기
|
||||||
|
|
||||||
Redis 리더는 단일 파드이지만, 몇 개의 Redis 팔로워 또는 복제본을 추가하여 가용성을 높이고 트래픽 요구를 충족할 수 있다.
|
Redis 리더는 단일 파드이지만, 몇 개의 Redis 팔로워 또는 복제본을 추가하여
|
||||||
|
가용성을 높이고 트래픽 요구를 충족할 수 있다.
|
||||||
|
|
||||||
{{< codenew file="application/guestbook/redis-follower-deployment.yaml" >}}
|
{{< codenew file="application/guestbook/redis-follower-deployment.yaml" >}}
|
||||||
|
|
||||||
@@ -145,7 +154,9 @@ Redis 리더는 단일 파드이지만, 몇 개의 Redis 팔로워 또는 복제
|
|||||||
|
|
||||||
### Redis 팔로워 서비스 생성하기
|
### Redis 팔로워 서비스 생성하기
|
||||||
|
|
||||||
방명록 애플리케이션이 데이터를 읽으려면 Redis 팔로워와 통신해야 한다. Redis 팔로워를 발견 가능(discoverable)하게 만드려면, 새로운 [서비스](/ko/docs/concepts/services-networking/service/)를 구성해야 한다.
|
방명록 애플리케이션이 데이터를 읽으려면 Redis 팔로워와 통신해야 한다.
|
||||||
|
Redis 팔로워를 발견 가능(discoverable)하게 만드려면, 새로운
|
||||||
|
[서비스](/ko/docs/concepts/services-networking/service/)를 구성해야 한다.
|
||||||
|
|
||||||
{{< codenew file="application/guestbook/redis-follower-service.yaml" >}}
|
{{< codenew file="application/guestbook/redis-follower-service.yaml" >}}
|
||||||
|
|
||||||
@@ -176,14 +187,21 @@ Redis 리더는 단일 파드이지만, 몇 개의 Redis 팔로워 또는 복제
|
|||||||
```
|
```
|
||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
이 매니페스트 파일은 이전에 정의된 레이블과 일치하는 레이블 집합을 가진 `redis-follower`라는 서비스를 생성하므로, 서비스는 네트워크 트래픽을 Redis 파드로 라우팅한다.
|
이 매니페스트 파일은 이전에 정의된 레이블과 일치하는 레이블 집합을 가진
|
||||||
|
`redis-follower`라는 서비스를 생성하므로, 서비스는 네트워크 트래픽을
|
||||||
|
Redis 파드로 라우팅한다.
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
## 방명록 프론트엔드를 설정하고 노출하기
|
## 방명록 프론트엔드를 설정하고 노출하기
|
||||||
|
|
||||||
방명록을 위한 Redis 저장소를 구성하고 실행했으므로, 이제 방명록 웹 서버를 실행한다. Redis 팔로워와 마찬가지로, 프론트엔드는 쿠버네티스 디플로이먼트(Deployment)를 사용하여 배포된다.
|
방명록을 위한 Redis 저장소를 구성하고 실행했으므로, 이제 방명록 웹 서버를 실행한다.
|
||||||
|
Redis 팔로워와 마찬가지로, 프론트엔드는 쿠버네티스 디플로이먼트(Deployment)를
|
||||||
|
사용하여 배포된다.
|
||||||
|
|
||||||
방명록 앱은 PHP 프론트엔드를 사용한다. DB에 대한 요청이 읽기인지 쓰기인지에 따라, Redis 팔로워 또는 리더 서비스와 통신하도록 구성된다. 프론트엔드는 JSON 인터페이스를 노출하고, jQuery-Ajax 기반 UX를 제공한다.
|
방명록 앱은 PHP 프론트엔드를 사용한다. DB에 대한 요청이 읽기인지 쓰기인지에 따라,
|
||||||
|
Redis 팔로워 또는 리더 서비스와 통신하도록 구성된다. 프론트엔드는 JSON 인터페이스를
|
||||||
|
노출하고,
|
||||||
|
jQuery-Ajax 기반 UX를 제공한다.
|
||||||
|
|
||||||
### 방명록 프론트엔드의 디플로이먼트 생성하기
|
### 방명록 프론트엔드의 디플로이먼트 생성하기
|
||||||
|
|
||||||
@@ -217,12 +235,22 @@ Redis 리더는 단일 파드이지만, 몇 개의 Redis 팔로워 또는 복제
|
|||||||
|
|
||||||
### 프론트엔드 서비스 생성하기
|
### 프론트엔드 서비스 생성하기
|
||||||
|
|
||||||
서비스의 기본 유형은 [ClusterIP](/ko/docs/concepts/services-networking/service/#publishing-services-service-types)이기 때문에 생성한 `Redis` 서비스는 컨테이너 클러스터 내에서만 접근할 수 있다. `ClusterIP`는 서비스가 가리키는 파드 집합에 대한 단일 IP 주소를 제공한다. 이 IP 주소는 클러스터 내에서만 접근할 수 있다.
|
서비스의 기본 유형은
|
||||||
|
[ClusterIP](/ko/docs/concepts/services-networking/service/#publishing-services-service-types)
|
||||||
|
이기 때문에 생성한 `Redis` 서비스는 컨테이너 클러스터 내에서만 접근할 수 있다.
|
||||||
|
`ClusterIP`는 서비스가 가리키는 파드 집합에 대한
|
||||||
|
단일 IP 주소를 제공한다. 이 IP 주소는 클러스터 내에서만 접근할 수 있다.
|
||||||
|
|
||||||
게스트가 방명록에 접근할 수 있도록 하려면, 외부에서 볼 수 있도록 프론트엔드 서비스를 구성해야 한다. 그렇게 하면 클라이언트가 쿠버네티스 클러스터 외부에서 서비스를 요청할 수 있다. 그러나 쿠버네티스 사용자는 `ClusterIP`를 사용하더라도 `kubectl port-forward`를 사용해서 서비스에 접근할 수 있다.
|
게스트가 방명록에 접근할 수 있도록 하려면, 외부에서 볼 수 있도록 프론트엔드
|
||||||
|
서비스를 구성해야 한다. 그렇게 하면 클라이언트가 쿠버네티스 클러스터 외부에서
|
||||||
|
서비스를 요청할 수 있다. 그러나 쿠버네티스 사용자는 `ClusterIP`를
|
||||||
|
사용하더라도 `kubectl port-forward`를 사용해서 서비스에
|
||||||
|
접근할 수 있다.
|
||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
Google Compute Engine 또는 Google Kubernetes Engine과 같은 일부 클라우드 공급자는 외부 로드 밸런서를 지원한다. 클라우드 공급자가 로드 밸런서를 지원하고 이를 사용하려면 `type : LoadBalancer`의 주석을 제거해야 한다.
|
Google Compute Engine 또는 Google Kubernetes Engine
|
||||||
|
과 같은 일부 클라우드 공급자는 외부 로드 밸런서를 지원한다. 클라우드 공급자가 로드
|
||||||
|
밸런서를 지원하고 이를 사용하려면 `type : LoadBalancer`의 주석을 제거해야 한다.
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
{{< codenew file="application/guestbook/frontend-service.yaml" >}}
|
{{< codenew file="application/guestbook/frontend-service.yaml" >}}
|
||||||
@@ -273,7 +301,8 @@ Google Compute Engine 또는 Google Kubernetes Engine과 같은 일부 클라우
|
|||||||
|
|
||||||
### `LoadBalancer`를 통해 프론트엔드 서비스 확인하기
|
### `LoadBalancer`를 통해 프론트엔드 서비스 확인하기
|
||||||
|
|
||||||
`frontend-service.yaml` 매니페스트를 `LoadBalancer`와 함께 배포한 경우, 방명록을 보기 위해 IP 주소를 찾아야 한다.
|
`frontend-service.yaml` 매니페스트를 `LoadBalancer`와 함께 배포한 경우,
|
||||||
|
방명록을 보기 위해 IP 주소를 찾아야 한다.
|
||||||
|
|
||||||
1. 프론트엔드 서비스의 IP 주소를 얻기 위해 아래 명령어를 실행한다.
|
1. 프론트엔드 서비스의 IP 주소를 얻기 위해 아래 명령어를 실행한다.
|
||||||
|
|
||||||
@@ -291,12 +320,15 @@ Google Compute Engine 또는 Google Kubernetes Engine과 같은 일부 클라우
|
|||||||
1. IP 주소를 복사하고, 방명록을 보기 위해 브라우저에서 페이지를 로드한다.
|
1. IP 주소를 복사하고, 방명록을 보기 위해 브라우저에서 페이지를 로드한다.
|
||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
메시지를 입력하고 'Submit'을 클릭하여 방명록에 글을 작성해 본다. 입력한 메시지가 프론트엔드에 나타난다. 이 메시지는 앞서 생성한 서비스를 통해 데이터가 Redis에 성공적으로 입력되었음을 나타낸다.
|
메시지를 입력하고 'Submit'을 클릭하여 방명록에 글을 작성해 본다.
|
||||||
|
입력한 메시지가 프론트엔드에 나타난다. 이 메시지는 앞서 생성한 서비스를
|
||||||
|
통해 데이터가 Redis에 성공적으로 입력되었음을 나타낸다.
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
## 웹 프론트엔드 확장하기
|
## 웹 프론트엔드 확장하기
|
||||||
|
|
||||||
서버가 디플로이먼트 컨트롤러를 사용하는 서비스로 정의되어 있으므로 필요에 따라 확장 또는 축소할 수 있다.
|
서버가 디플로이먼트 컨트롤러를 사용하는 서비스로 정의되어 있으므로
|
||||||
|
필요에 따라 확장 또는 축소할 수 있다.
|
||||||
|
|
||||||
1. 프론트엔드 파드의 수를 확장하기 위해 아래 명령어를 실행한다.
|
1. 프론트엔드 파드의 수를 확장하기 위해 아래 명령어를 실행한다.
|
||||||
|
|
||||||
@@ -349,7 +381,8 @@ Google Compute Engine 또는 Google Kubernetes Engine과 같은 일부 클라우
|
|||||||
|
|
||||||
## {{% heading "cleanup" %}}
|
## {{% heading "cleanup" %}}
|
||||||
|
|
||||||
디플로이먼트 및 서비스를 삭제하면 실행 중인 모든 파드도 삭제된다. 레이블을 사용하여 하나의 명령어로 여러 자원을 삭제해보자.
|
디플로이먼트 및 서비스를 삭제하면 실행 중인 모든 파드도 삭제된다.
|
||||||
|
레이블을 사용하여 하나의 명령어로 여러 자원을 삭제해보자.
|
||||||
|
|
||||||
1. 모든 파드, 디플로이먼트, 서비스를 삭제하기 위해 아래 명령어를 실행한다.
|
1. 모든 파드, 디플로이먼트, 서비스를 삭제하기 위해 아래 명령어를 실행한다.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user