Menu Close

2장. 애플리케이션 생성

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

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

  • 시작하기 리소스: 이러한 리소스를 사용하여 개발자 콘솔을 시작하는 데 도움이 됩니다. 옵션 메뉴 kebab 를 사용하여 헤더를 숨기도록 선택할 수 있습니다.

    • 샘플을 사용하여 애플리케이션 생성: OpenShift Container Platform에서 애플리케이션 생성을 시작하려면 기존 코드 샘플을 사용합니다.
    • 안내 문서를 사용하여 빌드: 안내 문서를 통해 애플리케이션을 빌드하고 주요 개념과 용어를 숙지하십시오.
    • 새로운 개발자 기능 살펴보기: 개발자 화면에서 새로운 기능과 리소스를 살펴봅니다.
  • Developer Catalog(개발자 카탈로그 ): 이미지 빌더에 필요한 애플리케이션, 서비스 또는 소스를 선택하고 프로젝트에 추가하려면 개발자 카탈로그를 탐색합니다.

    • 모든 서비스: 카탈로그를 검색하여 OpenShift Container Platform에서 서비스를 검색합니다.
    • Database: 필요한 데이터베이스 서비스를 선택하여 애플리케이션에 추가합니다.
    • Operator Backed (운영자 지원) : 필요한 Operator 관리 서비스를 선택하여 배포합니다.
    • Helm 차트: 필요한 Helm 차트를 선택하여 애플리케이션 및 서비스 배포를 간소화합니다.
    • 이벤트 소스: 특정 시스템에서 관심있는 이벤트 클래스에 등록하려면 이벤트 소스를 선택합니다.

      참고

      RHOAS Operator가 설치된 경우에도 Managed 서비스 옵션을 사용할 수 있습니다.

  • Git 리포지토리: 각각 Git에서, Devfile 또는 From Dockerfile 옵션을 사용하여 Git 리포지토리에서 기존 코드베이스,Devfile 또는 Dockerfile 을 가져와 OpenShift Container Platform에서 애플리케이션을 빌드하고 배포합니다.
  • 컨테이너 이미지: OpenShift Container Platform 에 배포하려면 이미지 스트림 또는 레지스트리의 기존 이미지를 사용합니다.
  • Pipeline: Tekton 파이프라인을 사용하여 OpenShift Container Platform에서 소프트웨어 제공 프로세스에 대한 CI/CD 파이프라인을 생성합니다.
  • Serverless: OpenShift Container Platform에서 상태 비저장 및 서버리스 애플리케이션을 생성, 빌드, 배포하는 Serverless 옵션을 탐색합니다.

    • Channel: Knative 채널을 생성하여 인메모리 및 안정적인 구현으로 이벤트 전달 및 지속성 계층을 생성합니다.
  • 샘플: 애플리케이션을 빠르게 생성, 빌드 및 배포하는 데 사용 가능한 샘플 애플리케이션을 살펴봅니다.
  • 로컬 머신에서: 애플리케이션을 쉽게 빌드하고 배포하기 위해 로컬 머신에서 파일을 가져오거나 업로드합니다.

    • import YAML: YAML 파일을 업로드하여 애플리케이션을 빌드 및 배포하는 리소스를 생성하고 정의합니다.
    • JAR 파일 업로드 : Java 애플리케이션을 빌드하고 배포하기 위해 JAR 파일을 업로드합니다.

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

2.1.1. 사전 요구 사항

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

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

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

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

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

절차

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

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

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

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

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

절차

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

    • Git 참조: 애플리케이션을 빌드하는 데 사용할 특정 분기의 코드, 태그 또는 커밋을 가리킵니다.
    • 컨텍스트 디렉터리: 애플리케이션을 빌드하는 데 사용할 애플리케이션 소스 코드의 하위 디렉터리를 지정합니다.
    • 소스 시크릿: 프라이빗 리포지토리에서 소스 코드를 가져올 수 있는 자격 증명이 포함된 시크릿 이름을 생성합니다.
  4. 선택 사항: Git 리포지토리를 통해 devfile, Dockerfile 또는 빌더 이미지를 가져와 배포를 추가로 사용자 지정할 수 있습니다.

    • Git 리포지토리에 devfile, Dockerfile 또는 빌더 이미지가 포함된 경우 해당 경로 필드에서 자동으로 탐지되어 채워집니다. 동일한 리포지토리에서 devfile, Dockerfile, 빌더 이미지가 탐지되면 기본적으로 devfile이 선택됩니다.
    • 파일 가져오기 유형을 편집하고 다른 전략을 선택하려면 Edit import strategy (가져오기 전략 편집) 옵션을 클릭합니다.
    • 여러 devfile, Dockerfile 또는 빌더 이미지가 감지되어 특정 devfile, Dockerfile 또는 빌더 이미지를 가져오려면 컨텍스트 디렉터리를 기준으로 해당 경로를 지정합니다.
  5. Git URL의 유효성을 검사하고 나면 권장 빌더 이미지가 선택되어 별표로 표시됩니다. 빌더 이미지가 자동으로 탐지되지 않으면 빌더 이미지를 선택합니다. https://github.com/sclorg/nodejs-ex Git URL의 경우 기본적으로 Node.js 빌더 이미지가 선택됩니다.

    1. 선택 사항: 빌더 이미지 버전 드롭다운을 사용하여 버전을 지정합니다.
    2. 선택 사항: Edit import(가져오기 편집) 전략을 사용하여 다른 전략을 선택합니다.
  6. 일반 섹션에서 다음을 수행합니다.

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

      참고

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

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

    • 배포: 일반 Kubernetes 형식으로 애플리케이션을 생성합니다.
    • 배포 구성: OpenShift Container Platform 스타일 애플리케이션을 생성합니다.
    • Knative 서비스를 생성하기 위한 서버리스 배포.
    참고

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

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

    라우팅

    다음을 수행하려면 라우팅 링크를 클릭합니다.

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

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

    도메인 매핑

    Serverless 배포를 생성하는 경우 생성 중에 Knative 서비스에 사용자 정의 도메인 매핑을 추가할 수 있습니다.

    • Advanced options(고급 옵션) 섹션에서 Show advanced Routing options (고급 라우팅 옵션 표시 )를 클릭합니다.

      • 서비스에 매핑하려는 도메인 매핑 CR이 이미 존재하는 경우 도메인 매핑 드롭다운 메뉴에서 선택할 수 있습니다.
      • 새 도메인 매핑 CR을 생성하려면 상자에 도메인 이름을 입력하고 생성 옵션을 선택합니다. 예를 들어 example.com 에 입력하는 경우 Create 옵션은 Create "example.com" 입니다.
    상태 점검

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

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

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

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

    빌드 구성 및 배포

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

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

    스케일링

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

    서버리스 애플리케이션의 경우 다음을 수행할 수 있습니다.

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

2.1.4. Java 애플리케이션을 쉽게 배포하기 위해 JAR 파일 업로드

개발자 화면에서 토폴로지 보기에서 JAR 파일을 사용하여 Java 애플리케이션을 배포할 수 있습니다. 다음 옵션을 사용하여 JAR 파일을 업로드할 수 있습니다.

  • 개발자 화면의 +추가 보기로 이동하고 From Local Machine 타일에서 JAR 파일 업로드 를 클릭합니다. JAR 파일을 찾아서 선택하거나 JAR 파일을 드래그 앤 드롭하여 애플리케이션을 배포합니다.
  • 토폴로지 보기로 이동하고 JAR 파일 업로드 옵션을 사용하거나 JAR 파일을 드래그 앤 드롭하여 애플리케이션을 배포합니다.
  • 토폴로지 보기에서 컨텍스트 내부 메뉴를 사용한 다음 JAR 파일 업로드 옵션을 사용하여 JAR 파일을 업로드하여 애플리케이션을 배포합니다.

다음 지침을 사용하여 토폴로지 보기에 JAR 파일을 업로드하여 Java 애플리케이션을 배포합니다.

프로세스

  1. 토폴로지 보기에서 토폴로지 보기의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하여 프로젝트에 추가 메뉴를 확인합니다.
  2. 프로젝트에 추가 메뉴를 커서를 올려 놓으면 나타나는 메뉴 옵션을 확인한 다음 JAR 파일 업로드 옵션을 선택하여 JAR 파일 업로드양식을 확인합니다. 또는 토폴로지 보기에서 JAR 파일을 끌어다 놓을 수 있습니다.
  3. JAR 파일 필드에서 로컬 시스템에 필요한 JAR 파일을 찾아 업로드합니다. 또는 필드에 JAR 파일을 드래그 앤 드롭할 수 있습니다. 호환되지 않는 파일 유형이 토폴로지 보기에 삭제되면 오른쪽 상단에 경고가 표시됩니다. 호환되지 않는 파일 유형이 업로드 양식의 필드에 삭제되면 필드 오류가 표시됩니다.
  4. 배포된 애플리케이션을 사용자 지정하기 위해 선택적 Java 명령을 추가로 지정할 수 있습니다. 런타임 아이콘 및 빌더 이미지는 기본적으로 선택됩니다. 빌더 이미지가 자동으로 탐지되지 않으면 빌더 이미지를 선택합니다. 필요한 경우 빌더 이미지 버전 드롭다운 목록을 사용하여 버전을 변경할 수 있습니다.
  5. 선택 사항인 애플리케이션 이름 필드에 리소스 레이블링에 대한 애플리케이션의 고유 이름을 입력합니다.
  6. 이름 필드에 고유한 구성 요소 이름을 입력하여 관련 리소스의 이름을 지정합니다.
  7. 리소스 필드에서 애플리케이션의 리소스 유형을 선택합니다.
  8. 고급 옵션에서 애플리케이션에 대한 경로 만들기를 클릭하여 배포된 애플리케이션에 대한 공용 URL을 구성합니다.
  9. 생성을 클릭하여 애플리케이션을 배포합니다. 사용자는 JAR 파일이 업로드되고 있음을 알리는 알림을 받습니다. 알림에는 빌드 로그를 볼 수 있는 링크도 포함됩니다.

    참고

    사용자가 빌드가 실행 중인 동안 브라우저 탭을 종료하려고 하면 웹 경고가 나타나 사용자에게 페이지를 종료할지 묻는 메시지가 표시됩니다.

JAR 파일이 업로드되고 애플리케이션이 배포되면 토폴로지 보기에 배포가 표시됩니다.

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

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

절차

  1. 개발자 화면에서 +추가 보기로 이동하고 개발자 카탈로그 타일에서 All Services (모든 서비스)를 클릭하여 개발자 카탈로그에서 사용 가능한 모든 서비스를 확인합니다.
  2. All Services (모든 서비스)에서 프로젝트에 추가해야 하는 서비스 종류 또는 구성 요소를 선택합니다. 이 예제에서는 데이터베이스를 선택하여 모든 데이터베이스 서비스를 나열하고 MariaDB를 클릭하여 서비스 세부 정보를 확인합니다.
  3. 템플릿 인스턴스화를 클릭하여 MariaDB 서비스 세부 정보가 자동으로 채워진 템플릿을 확인한 다음 생성을 클릭하여 토폴로지 보기에서 MariaDB 서비스를 생성하고 확인합니다.

    그림 2.1. 토폴로지의 MariaDB

    odc devcatalog 토폴로지