3.4. 프런트엔드 애플리케이션 배포


OpenShift Container Platform에서 애플리케이션을 배포하는 가장 간단한 방법은 제공된 컨테이너 이미지를 실행하는 것입니다.

다음 절차에서는 national-parks-app 애플리케이션의 프런트엔드 구성 요소인 parksmap을 배포합니다. 웹 애플리케이션은 전 세계 국립공원의 위치를 표시한 대화형 지도를 표시합니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 액세스 권한을 보유합니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  • 다음 명령을 실행하여 parksmap 애플리케이션을 배포합니다.

    $ oc new-app quay.io/openshiftroadshow/parksmap:latest --name=parksmap -l 'app=national-parks-app,component=parksmap,role=frontend,app.kubernetes.io/part-of=national-parks-app'
    Copy to Clipboard Toggle word wrap

    출력 예

    --> Found container image 0c2f55f (4 years old) from quay.io for "quay.io/openshiftroadshow/parksmap:latest"
    
        * An image stream tag will be created as "parksmap:latest" that will track this image
    
    --> Creating resources with label app=national-parks-app,app.kubernetes.io/part-of=national-parks-app,component=parksmap,role=frontend ...
        imagestream.image.openshift.io "parksmap" created
        deployment.apps "parksmap" created
        service "parksmap" created
    --> Success
        Application is not exposed. You can expose services to the outside world by executing one or more of the commands below:
         'oc expose service/parksmap'
        Run 'oc status' to view your app.
    Copy to Clipboard Toggle word wrap

3.4.1. 프런트엔드 서비스 노출

기본적으로 OpenShift Container Platform에서 실행되는 서비스는 외부에서 액세스할 수 없습니다.

외부 클라이언트가 서비스에 액세스할 수 있도록 서비스를 공개하려면 경로를 만들 수 있습니다. Route 객체는 Kubernetes Ingress 객체와 유사한 OpenShift Container Platform 네트워킹 리소스입니다. 기본 OpenShift Container Platform 라우터(HAProxy)는 들어오는 요청의 HTTP 헤더를 사용하여 연결을 프록시할 위치를 결정합니다.

선택적으로 경로에 대해 TLS와 같은 보안을 정의할 수 있습니다.

사전 요구 사항

  • parksmap 프런트엔드 애플리케이션을 배포했습니다.
  • 클러스터 관리자 또는 프로젝트 수준의 관리자 권한이 있습니다.

프로세스

  • 다음 명령을 실행하여 parksmap 프런트엔드 애플리케이션을 노출하는 경로를 만듭니다.

    $ oc create route edge parksmap --service=parksmap
    Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 애플리케이션 경로가 성공적으로 생성되었는지 확인하세요.

    $ oc get route parksmap
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME        HOST/PORT                                                   PATH   SERVICES   PORT       TERMINATION   WILDCARD
    parksmap    parksmap-user-getting-started.apps.cluster.example.com             parksmap   8080-tcp   edge          None
    Copy to Clipboard Toggle word wrap

3.4.2. 포드 세부 정보 보기

OpenShift Container Platform은 포드 라는 Kubernetes 개념을 사용합니다. 포드는 하나의 호스트에 함께 배포되는 하나 이상의 컨테이너이며, 정의, 배포 및 관리가 가능한 가장 작은 컴퓨팅 단위입니다. Pod는 컨테이너에 대한 머신 인스턴스, 물리 또는 가상과 대략적으로 동일합니다.

클러스터의 Pod를 보고 해당 Pod 및 클러스터의 상태를 전체적으로 확인할 수 있습니다.

사전 요구 사항

  • parksmap 프런트엔드 애플리케이션을 배포했습니다.

프로세스

  • 다음 명령을 실행하여 현재 프로젝트의 모든 포드를 나열합니다.

    $ oc get pods
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                       READY   STATUS    RESTARTS   AGE
    parksmap-5f9579955-6sng8   1/1     Running   0          77s
    Copy to Clipboard Toggle word wrap

  • 다음 명령을 실행하여 Pod에 대한 세부 정보를 표시합니다.

    $ oc describe pod parksmap-5f9579955-6sng8
    Copy to Clipboard Toggle word wrap

    출력 예

    Name:             parksmap-5f9579955-6sng8
    Namespace:        user-getting-started
    Priority:         0
    Service Account:  default
    Node:             ci-ln-fr1rt92-72292-4fzf9-worker-a-g9g7c/10.0.128.4
    Start Time:       Wed, 26 Mar 2025 14:03:19 -0400
    Labels:           app=national-parks-app
                      app.kubernetes.io/part-of=national-parks-app
                      component=parksmap
                      deployment=parksmap
                      pod-template-hash=848bd4954b
                      role=frontend
    ...
    Copy to Clipboard Toggle word wrap

  • 다음 명령을 실행하여 Pod의 로그를 확인하세요.

    $ oc logs parksmap-5f9579955-6sng8
    Copy to Clipboard Toggle word wrap

    출력 예

    ...
    2025-03-26 18:03:24.774  INFO 1 --- [           main] o.s.m.s.b.SimpleBrokerMessageHandler     : Started.
    2025-03-26 18:03:24.798  INFO 1 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
    2025-03-26 18:03:24.801  INFO 1 --- [           main] c.o.evg.roadshow.ParksMapApplication     : Started ParksMapApplication in 4.053 seconds (JVM running for 4.46)
    Copy to Clipboard Toggle word wrap

3.4.3. 배포 확장

Kubernetes에서 Deployment 오브젝트는 애플리케이션이 배포하는 방법을 정의합니다. 대부분의 경우 애플리케이션을 배포할 때 OpenShift Container Platform은 Pod , Service , ReplicaSetDeployment 리소스를 자동으로 생성합니다.

parksmap 이미지를 배포하면 배포 리소스가 생성됩니다. 이 예에서는 하나의 Pod만 배포됩니다. 사용자 요구에 부응하기 위해 애플리케이션을 확장하거나, 하나의 포드가 다운되더라도 애플리케이션이 항상 실행되도록 해야 할 수도 있습니다.

다음 절차에서는 parksmap 배포를 확장하여 두 개의 인스턴스를 사용합니다.

사전 요구 사항

  • parksmap 프런트엔드 애플리케이션을 배포했습니다.

프로세스

  • 다음 명령을 실행하여 배포를 하나의 Pod 인스턴스에서 두 개의 Pod 인스턴스로 확장하세요.

    $ oc scale --replicas=2 deployment/parksmap
    Copy to Clipboard Toggle word wrap

    출력 예

    deployment.apps/parksmap scaled
    Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 배포가 올바르게 확장되었는지 확인하세요.

    $ oc get pods
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                       READY   STATUS    RESTARTS   AGE
    parksmap-5f9579955-6sng8   1/1     Running   0          7m39s
    parksmap-5f9579955-8tgft   1/1     Running   0          24s
    Copy to Clipboard Toggle word wrap

    두 개의 parksmap 포드가 나열되어 있는지 확인하세요.

작은 정보

배포 규모를 하나의 Pod 인스턴스로 줄이려면 --replicas 옵션에 1을 전달합니다.

$ oc scale --replicas=1 deployment/parksmap
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat