검색

3장. 애플리케이션 라이프사이클 관리

download PDF

3.1. 개발자 화면을 사용하여 애플리케이션 생성

웹 콘솔의 개발자 화면은 +추가 보기에서 애플리케이션 및 관련 서비스를 생성하고 OpenShift Container Platform에 배포할 수 있는 다음 옵션을 제공합니다.

  • Git에서: OpenShift Container Platform에서 애플리케이션을 생성, 빌드, 배포하려면 이 옵션을 사용하여 Git 리포지토리의 기존 코드베이스를 가져옵니다.
  • 컨테이너 이미지: 이미지 스트림 또는 레지스트리의 기존 이미지를 사용하여 OpenShift Container Platform에 배포합니다.
  • Dockerfile에서: Git 리포지토리에서 dockerfile을 가져와 애플리케이션을 빌드하고 배포합니다.
  • YAML: 편집기를 사용하여 YAML 또는 JSON 정의를 추가하여 리소스를 생성하고 수정합니다.
  • 카탈로그에서: 개발자 카탈로그를 살펴보고 이미지 빌더에 필요한 애플리케이션, 서비스 또는 소스를 선택하고 프로젝트에 추가합니다.
  • 데이터베이스: 필요한 데이터베이스 서비스를 선택하고 애플리케이션에 추가하려면 개발자 카탈로그를 참조하십시오.
  • Operator 지원: 개발자 카탈로그를 탐색하여 Operator 관리 서비스를 선택하고 배포합니다.
  • Helm 차트: 개발자 카탈로그를 살펴보고 필요한 Helm 차트를 선택하여 애플리케이션 및 서비스 배포를 간소화합니다.

Pipeline,Event Source, Import Virtual Machines 와 같은 특정 옵션은 각각 OpenShift Pipelines Operator, OpenShiftServerless Operator OpenShift Virtualization Operator 가 설치된 경우에만 표시됩니다.

3.1.1. 사전 요구 사항

개발자 화면을 사용하여 애플리케이션을 생성하려면 다음 조건을 충족해야 합니다.

  • 웹 콘솔에 로그인했습니다.
  • 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.

서버리스 애플리케이션을 생성하려면 위 사전 요구 사항에 다음 조건이 추가됩니다.

3.1.2. 샘플 애플리케이션 생성

개발자 화면의 +추가 작업에서 기본 샘플 애플리케이션을 사용하면 애플리케이션을 빠르게 생성, 빌드, 배포할 수 있습니다.

다음 절차에서는 개발자 화면의 샘플 옵션을 사용하여 샘플 애플리케이션을 생성하는 방법을 설명합니다.

프로세스

  1. +추가 보기에서 샘플을 클릭하여 샘플 페이지를 확인합니다.
  2. 샘플 페이지에서 사용 가능한 샘플 애플리케이션 중 하나를 선택하여 샘플 애플리케이션 생성 양식을 확인합니다.
  3. 샘플 애플리케이션 생성 양식에서 다음을 수행합니다.

    • 이름 필드에는 기본적으로 배포 이름이 표시됩니다. 필요에 따라 이 이름을 수정할 수 있습니다.
    • 빌더 이미지 버전에는 빌더 이미지가 기본적으로 선택되어 있습니다. 빌더 이미지 버전 드롭다운 목록을 사용하여 이 이미지 버전을 수정할 수 있습니다.
    • 샘플 Git 리포지토리 URL이 기본적으로 추가됩니다.
  4. 생성을 클릭하여 샘플 애플리케이션을 생성합니다. 샘플 애플리케이션의 빌드 상태가 토폴로지 보기에 표시됩니다. 샘플 애플리케이션이 생성되면 애플리케이션에 추가된 배포를 볼 수 있습니다.

3.1.3. Git에서 코드베이스를 가져와 애플리케이션 생성

개발자 화면에서는 GitHub의 기존 코드베이스를 사용하여 OpenShift Container Platform에 애플리케이션을 생성, 빌드, 배포할 수 있습니다.

다음 절차에서는 개발자 화면의 Git에서 옵션을 통해 애플리케이션을 생성합니다.

프로세스

  1. +추가 보기에서 Git에서를 클릭하여 Git에서 가져오기 양식을 확인합니다.
  2. Git 섹션에서 애플리케이션을 생성하는 데 사용할 코드베이스의 Git 리포지토리 URL을 입력합니다. 예를 들어 이 샘플 Node.js 애플리케이션의 URL https://github.com/sclorg/nodejs-ex를 입력합니다. 그런 다음 URL을 검증합니다.
  3. 선택 사항: Show Advanced Git Options(고급 Git 옵션 표시)를 클릭하여 다음과 같은 세부 정보를 추가할 수 있습니다.

    • Git 참조: 애플리케이션을 빌드하는 데 사용할 특정 분기의 코드, 태그 또는 커밋을 가리킵니다.
    • 컨텍스트 디렉터리: 애플리케이션을 빌드하는 데 사용할 애플리케이션 소스 코드의 하위 디렉터리를 지정합니다.
    • 소스 시크릿: 프라이빗 리포지토리에서 소스 코드를 가져올 수 있는 자격 증명이 포함된 시크릿 이름을 생성합니다.
  4. 빌더 섹션에서 URL이 검증되면 적절한 빌더 이미지가 탐지되어 별표로 표시된 후 자동으로 선택됩니다. https://github.com/sclorg/nodejs-ex Git URL의 경우 Node.js 빌더 이미지가 기본적으로 선택됩니다. 빌더 이미지가 자동으로 탐지되지 않으면 빌더 이미지를 선택합니다. 필요한 경우 빌더 이미지 버전 드롭다운 목록을 사용하여 버전을 변경할 수 있습니다.
  5. 일반 섹션에서 다음을 수행합니다.

    1. 애플리케이션 필드에서 애플리케이션 그룹화에 대한 고유 이름을 입력합니다(예: myapp). 애플리케이션 이름이 네임스페이스에서 고유해야 합니다.
    2. 기존 애플리케이션이 없는 경우 이 애플리케이션에 대해 생성된 리소스를 확인하는 이름 필드는 Git 리포지토리 URL에 따라 자동으로 채워집니다. 기존 애플리케이션이 있는 경우에는 기존 애플리케이션 내에 구성 요소를 배포하거나 새 애플리케이션을 생성하거나 구성 요소를 할당하지 않은 상태로 유지하도록 선택할 수 있습니다.

      참고

      리소스 이름은 네임스페이스에서 고유해야 합니다. 오류가 발생하면 리소스 이름을 수정합니다.

  6. 리소스 섹션에서 다음 옵션을 선택합니다.

    • 배포: 일반 Kubernetes 형식으로 애플리케이션을 생성합니다.
    • 배포 구성: OpenShift 스타일 애플리케이션을 생성합니다.
    • Knative 서비스: 마이크로 서비스를 생성합니다.
    참고

    Knative 서비스 옵션은 Serverless Operator가 클러스터에 설치된 경우에만 Git에서 가져오기 양식에 표시됩니다. 자세한 내용은 OpenShift Serverless 설치 설명서를 참조하십시오.

  7. 파이프라인 섹션에서 파이프라인 추가를 선택한 다음 파이프라인 시각화 표시를 클릭하여 애플리케이션의 파이프라인을 확인합니다.
  8. 공개적으로 제공되는 URL을 사용하여 애플리케이션에 액세스할 수 있도록 고급 옵션 섹션의 애플리케이션의 경로 만들기가 기본적으로 선택되어 있어 습니다. 공개 경로에 애플리케이션을 노출하지 않으려면 확인란을 지우면 됩니다.
  9. 선택 사항: 다음 고급 옵션을 사용하여 애플리케이션을 추가로 사용자 지정할 수 있습니다.
라우팅

라우팅 링크를 클릭하면 다음 작업을 수행할 수 있습니다.

  • 경로의 호스트 이름을 사용자 지정합니다.
  • 라우터에서 감시하는 경로를 지정합니다.
  • 드롭다운 목록에서 트래픽의 대상 포트를 선택합니다.
  • Secure Route 확인란을 선택하여 경로를 보호합니다. 필요한 TLS 종료 유형을 선택하고 해당 드롭다운 목록에서 안전하지 않은 트래픽에 대한 정책을 설정합니다.

    참고

    서버리스 애플리케이션의 경우 Knative 서비스는 위의 모든 라우팅 옵션을 관리합니다. 그러나 필요한 경우 트래픽에 대한 대상 포트를 사용자 지정할 수 있습니다. 대상 포트를 지정하지 않으면 기본 포트 8080이 사용됩니다.

상태 점검

애플리케이션에 준비 상태, 활성 상태, 시작 프로브를 추가하려면 상태 점검 링크를 클릭합니다. 모든 프로브에는 기본 데이터가 미리 채워져 있습니다. 기본 데이터가 포함된 프로브를 추가하거나 필요에 따라 사용자 지정할 수 있습니다.

상태 프로브를 사용자 지정하려면 다음을 수행합니다.

  • 필요한 경우 준비 상태 프로브 추가를 클릭하여 컨테이너에서 요청을 처리할 준비가 되었는지 확인하도록 매개변수를 수정하고 확인 표시를 선택하여 프로브를 추가합니다.
  • 필요한 경우 활성 상태 프로브 추가를 클릭하여 컨테이너가 아직 실행되고 있는지 확인하도록 매개변수를 수정하고 확인 표시를 선택하여 프로브를 추가합니다.
  • 필요한 경우 시작 프로브 추가를 클릭하여 컨테이너 내 애플리케이션이 시작되었는지 확인하도록 매개변수를 수정하고 확인 표시를 선택하여 프로브를 추가합니다.

    각 프로브의 드롭다운 목록에서 요청 유형을 HTTP GET, 컨테이너 명령 또는 TCP 소켓으로 지정할 수 있습니다. 선택한 요청 유형에 따라 양식이 변경됩니다. 그런 다음 기타 매개변수(예: 프로브의 성공 및 실패 임계값, 컨테이너를 시작한 후 첫 번째 프로브를 수행할 때까지의 시간(초), 프로브 빈도, 시간 제한 값)에 대한 기본값을 수정할 수 있습니다.

빌드 구성 및 배포

빌드 구성배포 링크를 클릭하여 해당 구성 옵션을 확인합니다. 일부 옵션은 기본적으로 선택되어 있습니다. 필요한 트리거 및 환경 변수를 추가하여 추가로 사용자 지정할 수 있습니다.

서버리스 애플리케이션의 경우 DeploymentConfig 대신 Knative 구성 리소스에서 배포에 필요한 상태를 유지 관리하므로 배포 옵션이 표시되지 않습니다.

스케일링

처음에 배포할 애플리케이션의 Pod 수 또는 인스턴스 수를 정의하려면 스케일링 링크를 클릭합니다.

Knative 서비스를 생성하는 경우 다음 설정을 구성할 수도 있습니다.

  • 자동 스케일러로 설정할 수 있는 Pod 수 상한값과 하한값을 설정합니다. 하한값을 지정하지 않는 경우 기본값은 0입니다.
  • 애플리케이션 인스턴스에 한 번에 필요한 동시 요청 수에 대한 소프트 제한을 정의합니다. 자동 스케일링을 위한 구성에 사용하는 것이 좋습니다. 지정하지 않으면 클러스터 구성에 지정된 값이 사용됩니다.
  • 애플리케이션 인스턴스에 한 번에 허용된 동시 요청 수에 대한 하드 제한을 정의합니다. 이는 리버전 템플릿에 구성됩니다. 지정하지 않으면 기본값은 클러스터 구성에 지정된 값입니다.
리소스 제한
컨테이너 실행 시 컨테이너에서 사용하도록 보장하거나 허용하는 CPU메모리 리소스의 양을 설정하려면 리소스 제한 링크를 클릭합니다.
라벨

라벨 링크를 클릭하여 애플리케이션에 사용자 정의 라벨을 추가합니다.

  1. 생성을 클릭하여 애플리케이션을 생성하고 토폴로지 보기에서 빌드 상태를 확인합니다.

3.1.4. 개발자 카탈로그를 사용하여 애플리케이션에 서비스 또는 구성 요소 추가

개발자 카탈로그를 사용하여 Operator 지원 서비스를 기반으로 애플리케이션 및 서비스(예: 데이터베이스, 빌더 이미지, Helm 차트)를 배포합니다. 개발자 카탈로그에는 프로젝트에 추가할 수 있는 애플리케이션 구성 요소, 서비스, 이벤트 소스 또는 source-to-image 빌더 컬렉션이 포함되어 있습니다. 클러스터 관리자는 카탈로그에서 사용 가능한 내용을 사용자 지정할 수 있습니다.

프로세스

  1. 개발자 화면에서 +추가 카탈로그에서로 이동하여 개발자 카탈로그에서 사용 가능한 모든 서비스를 확인합니다.
  2. 전체 항목 아래에서 프로젝트에 추가해야 하는 서비스 종류 또는 구성 요소를 선택합니다. 이 예제에서는 데이터베이스를 선택하여 모든 데이터베이스 서비스를 나열하고 MariaDB를 클릭하여 서비스 세부 정보를 확인합니다.

    그림 3.1. 개발자 카탈로그

    odc devcatalog mariadb
  3. 템플릿 인스턴스화를 클릭하여 MariaDB 서비스 세부 정보가 자동으로 채워진 템플릿을 확인한 다음 생성을 클릭하여 토폴로지 보기에서 MariaDB 서비스를 생성하고 확인합니다.

    그림 3.2. 토폴로지의 MariaDB

    odc devcatalog 토폴로지

3.1.5. 추가 리소스

  • OpenShift Serverless의 Knative 라우팅 설정에 대한 자세한 내용은 라우팅 을 참조하십시오.
  • OpenShift Serverless의 Knative 자동 스케일링 설정에 대한 자세한 내용은 자동 스케일링 을 참조하십시오.
  • OpenShift Serverless의 도메인 매핑 설정에 대한 자세한 내용은 Knative 서비스의 사용자 정의 도메인 구성을 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.