DOCUMENTATION
Administrator Manual
항목을 선택하면 해당 문서로 이동합니다.
항목을 선택하면 해당 문서로 이동합니다.
항목을 선택하면 해당 문서로 이동합니다.
세렝게티 서비스는 클라우드와 클라우드 자원에서 동작하는 소프트웨어에 대한 관리 기능을 제공하는 플랫폼 서비스입니다. 세렝게티 플랫폼의 장점은 사용자의 개입없이 클라우드에서 동작되는 서비스의 필요에 따라서 클라우드 자원과 소프트웨어를 자동으로 실행하고 제어할 수 있는 기능을 제공한다는 것입니다. 이런 기능을 제공하기 위해서 플랫폼에서는 다양한 기능을 구성 요소를 마이크로 서비스로 제공하고 있으며 필요에 따라서 각각의 마이크로 서비스를 활성화하거나 비활성화 할 수 있습니다.
세렝게티 서비스는 다양한 마이크로 서비스로 구성이 되어져 있으며 개별 마이크로 서비스는 Java Spring Framework 기반의 Spring Boot 어플리케이션으로 구성이 되어져 있습니다.
플랫폼의 구성은 3 계층(Tier) 아키텍처로 구성이 되어져 있고 기능적 확장을 위한 플러그인 마이크로 서비스로 구성이 됩니다.
사용자 UI 계층 : 사용자 UI 계층은 사용자가 세렝게티 플랫폼을 구성하는 각종 마이크로 서비스의 정보를 관리하고 실행하기 위해 필요한 관리 기능을 제공합니다.
마이크로 서비스 API 계층 : 플랫폼을 구성하는 마이크로 서비스를 API G/W를 통해서 UI 및 외부에 제공하는 역할을 수행합니다. 다양한 마이크로 서비스가 있지만 세렝게티 플랫폼 운영에 필수적으로 필요한 코어 마이크로 서비스와 필요에 따라서 추가가 가능한 확장형 마이크로 서비스로 구분할 수 있습니다.
플랫폼 자동화 엔진(Orchestration Engine) 계층 : 플랫폼의 자동화 기능을 실행하는 엔진을 구성하는 서비스 모듈입니다. 마찬가지로 마이크로 서비스 아키텍처로 구성이 되어져 있으며 필요에 따라서 자동화 엔진의 확장이 가능합니다.
플러그인 마이크로 서비스 : 플러그인 서비스를 통해 세렝게티 플랫폼의 다양한 기능을 다양한 대상에 확장할 수 있습니다.
Private Cloud: VMware, Kubernetes(K8s)
Public Cloud: KT Cloud
클라우드 관리 기능은 VMware, KT Cloud, Kubernetes(K8s) 클라우드를 손쉽게 관리하고 운영할 수 있도록 관리 기능을 제공합니다.
세렝게티 플랫폼에서 제공하는 클라우드 관리 가능은 아래와 같은 관리체계로 구성되어져 있습니다.
클라우드 관리 기능을 사용하기 위한 기본적인 절차는 다음과 같습니다.
의 형태로 관리할 수 있으면 관리되는 클라우드 정보를 바탕으로 클라우드의 자원 정보를 규격화한 카탈로그를 통해서 사용자들이 보다 쉽게 서비스에 활용하거나 클라우드 자원을 생성/관리할 수 있도록 기능을 제공합니다.
이 문서에서 다루는 카탈로그는 클라우드 자원을 관리하는 리소스 카탈로그입니다.
JDC의 소프트웨어 관리는 어플리케이션과 워크플로우를 관리합니다.
어플리케이션 관리 기능은 사용자가 이용하고자 하는 소프트웨어를 세렝게티에서 사용하기 위해서 제공되는 기능입니다.
세렝게티에서의 소프트웨어는 사용자가 활용하고자 하는 소프트웨어를 정의하고 정의된 소프트웨어를 제어하기 위한 스크립트와 바이너리 파일 등의 집합을 의미합니다.
소프트웨어를 사용하기 위해서는 시스템 관리자가 공유한 소프트웨어를 사용할 수도 있고, 사용자가 직접 소프트웨어를 등록해서 사용할 수도 있습니다.
소프트웨어 관리 메뉴에서 소프트웨어 정보 관리 메뉴를 선택하면 아래 메뉴를 확인할 수 있습니다.

새로운 소프트웨어를 사용하기 위해서는 소프트웨어 정보 관리를 통해서 자세한 정보를 확인할 수 있습니다.
이 섹션의 문서를 선택하세요.

* 인스턴스의 상태와 관계없이(종료 포함) 자원의 합계나 통계를 표시합니다




이 섹션의 문서를 선택하세요.
사용자는 프로젝트를 만들어 다른 사용자를 멤버로 초대하여 클라우드 자원을 공유할 수 있습니다.
사용자가 관리하는 프로젝트에 정보를 관리합니다. 사용자가 사용하는 자원에 대한 사용 현황 정보를 제공하고 등록된 프로젝트에 대한 검색 기능을 제공합니다.

사용자가 사용하는 프로젝트에 대한 토폴로지 정보를 제공합니다. 사용자가 생성한 프로젝트 정보와 프로젝트가 관리하는 각종 메타 정보를 아래와 같이 제공합니다.

토폴로지에서 보여주는 정보는 다음과 같습니다.
각 항목을 선택하는 경우, 해당하는 항목에 대한 상세 화면으로 이동하며 토폴리지 화면에서 변경한 정보는 저장되지 않습니다.
출력된 화면에서 사용자는 현재 프로젝트에 할당된 자원과 사용되는 자원 현황을 한눈에 파악할 수 있습니다.
검색된 프로젝트 항목을 선택해서 프로젝트 상세 정보 화면으로 이동할 수 있습니다.

다른 사용자에 의해서 참여 요청된 프로젝트 요청 목록 정보를 제공합니다. 사용자는 자신에게 요청된 프로젝트에 대한 참여 요청을 확인하고 이에 대한 승인 및 철회를 할 수 있습니다.

프로젝트 참여 관련된 주요 기능은 다음과 같습니다.
프로젝트 관련된 사용자의 참여/승인/요청 내역에 대한 이력 정보를 조회할 수 있도록 기능을 제공합니다.

검색된 정보는 별도로 상세 정보를 제공하지 않고 목록 정보만 제공합니다.
프로젝트 정보는 프로젝트에 등록된 기본 정보(이름, 상태 및 설명)와 프로젝트에 포함된 자원, 사용자(멤버)에 대한 정보 제공과 함께 프로젝트에 대한 현황 파악을 위한 토폴로지 정보를 제공합니다.

시스템에 대한 기본 정보는 다음과 같은 내용이 있습니다.
프로젝트에 속한 자원 정보를 제공합니다. 프로젝트를 위해서 사용되는 자원 정보는 프로젝트를 생성한 프로젝트 관리자(사용자)의 계정에 할당된 쿼터(Quota)를 활용해서 생성 및 관리가 이루어집니다. 프로젝트에서 사용되는 기본 자원 사용 현황 정보를 제공하고 프로젝트에 할당된 자원 범위 내에서 자원을 생성 및 관리

프로젝트에 소속된 멤버 정보를 검색하여 제공합니다. 프로젝트에 외부 사용자를 초대하거나 초대에 대해서 승인 철회를 할 수 있습니다.

프로젝트 멤버 관리를 위한 주요 기능은 다음과 같습니다
프로젝트에 등록된 자원 정보를 토폴로지 형태로 제공

상세 정보로 제공하는 유형은 다음과 같습니다.
새로운 프로젝트를 등록합니다. 새로운 프로젝트를 등록하는 경우에는 프로젝트에서 사용할 자원 할당량을 설정해야 한다.

등록된 프로젝트를 삭제합니다.
등록된 프로젝트를 삭제하기 위해서는 아래의 조건을 만족해야 합니다.
삭제된 프로젝트는 다시 복구할 수 없으니 주의 하시기 바랍니다.
사용자는 템플릿 기반의 스케줄링을 지정한 시간에 작업 지정하여 클라우드 자원을 자동적으로 관리할 수 있다.
등록된 스케줄러 정보를 테이블 및 달력 두 가지 형태로 표시됩니다.

등록된 스케줄러 정보를 검색하여 결과를 화면에 출력합니다.

스케줄러 관리를 위한 상세 정보를 관리합니다.
스케줄러 적용 시간은 스케줄러를 실행하기 위한 시간 정보를 설정합니다. 스케줄러 적용을 위한 시간은 복수개를 설정할 수 있으며 선택된 시간대에 따라서 개별적으로 스케줄러가 실행이 이루어지게 됩니다.

스케줄러 시간 설정은 다음과 같은 방식으로 설정이 가능합니다.
적용 시간에 대한 상세 설정은 4단계로 구분이 되어져 있으며 각 단계에 따른 시간 설정을 통해서 상세 설정을 마칠수 있습니다.



시간별 반복 설정은 크게 반복이 없는 경우와 시간대별로 반복되는 경우로 나누어서 설정할 수 있습니다.
적용 작업은 스케줄러가 지정된 시간에 실행할 작업 내역을 정의합니다. 적용 작업은 시스템 관리자가 설정한 활용 가능한 작업 내역 중에서 사용자가 필요로 하는 작업을 선택하여 등록하고 등록된 작업에 대한 설정 작업을 마무리함으로써 실행 가능 상태가 됩니다. 제대로 설정되지 않은 작업은 스케줄러에 의해서 실행할 때 오류가 발생합니다.

작업 템플릿은 작업을 설정하기 위한 기반이 되는 정보입니다. 시스템 관리자에 의해서 제공이 이루어지며, 제공되는 템플릿 정보에 사용자가 설정 작업을 함으로써 실제 스케줄러에 의해서 실행이 이루어지게 됩니다. 작업 템플릿에서 필요로 하는 정보가 제대로 채워지지 않으면 작업 실행 시 오류가 발생할 수 있습니다.

작업 관리는 지정된 템플릿을 "실행 대상으로 추가" 기능을 통해서 등록된 작업 대상을 관리합니다. 각 작업에 대한 상세 설정을 위한 "실행 속성 설정" 기능과 "실행 삭제" 기능으로 구성이 됩니다.

각 실행 템플릿에 설정된 속성 정보는 변수라는 형태로 관리가 됩니다. 따라서 각 작업에 대한 실행 속성 정보 설정을 통해서 작업 실행에 필요한 값들을 설정해야 스케줄러에 의해서 정상적으로 실행 값을 확인할 수 있습니다. 실행을 위한 속성 설정은 각 변수에 대한 목록을 제공하고, 각 변수 목록에 따른 지정값을 설정할 수 있도록 기능을 제공합니다.
변수 값 목록
실행 템플릿에 등록된 변수 목록을 검색하여 제공
검색된 템플릿의 변수는 순서대로 값이 입력이 되어야 함.

변수 값 조회
변수 값은 각 템플릿에서 활용하는 변수에 설정되어져 있으며, 각 변수에 설정된 조회 기능을 통해서 각 변수에 필요한 값을 조회할 수 있습니다.

변수 값 유형 변수 값 유형은 아래와 같은 유형이 있으며, 해당하는 유형에 따라서 스케줄러에 작업을 등록하는 경우, 해당하는 유형에 따른 값을 입력해야 합니다.
스케줄러에 의해서 실행된 작업 결과를 조회하는 기능을 제공합니다. 실행 결과에 대한 조회는 달력 형태로 제공하는 스케줄 검색화면과 개별 스케줄러 상세 화면을 통해서 확인 가능합니다.

화면에 표시되는 실행 결과는 다음과 같은 의미가 있습니다.
각각의 경우에 실행된 결과를 확인하기 위해서는 해당하는 항목을 선택하면 상세 보기 화면에서 실행된 결과를 3.2.3.1과 같이 확인할 수 있습니다.
작업 결과에 대한 상세 조회 내역을 보여줍니다. 달력 기능을 통해서 실행된 상세 내역을 선택해서 조회하는 경우에는 해당하는 상세 내역을 바로 화면에서 보여줍니다. 그렇지 않은 경우에는 목록을 통해서 실행된 결과를 찾아보도록 검색 기능을 제공합니다.
실행된 작업 목록을 이력으로 제공합니다. 실행 결과에 대한 효과적인 검색 기능을 위해서 실행된 작업 이름 및 검색 기간을 설정할 수 있도록 제공합니다. 검색된 결과의 개별 항목을 선택하면 개별 항목에 대한 상세 정보를 확인할 수 있습니다.

결과로 제공되는 목록에는 아래 정보를 제공합니다.
작업 실행 결과에 대한 상세 정보를 제공합니다. 상세 정보는 아래의 한개 정보에 대해서도 실패 또는 에러가 있는 경우에 아래 그림의 실패의 그림과 같이 붉은 색으로 표시가 되고 성공인 경우에는 푸른색으로 표시가 됨.
각각의 성공 실패 상태에 따라서 아래 그림과 같이 상세 정보 제공


닫기 버튼을 선택하면 기존의 목록 화면으로 돌아갑니다.
이 섹션의 문서를 선택하세요.
세렝게티에서는 소프트웨어를 활용하기 위한 어플리케이션 관리 기능을 지원하고 있습니다. 어플리케이션 관리 기능은 서비스에 사용되는 어플리케이션 정보를 패키지 형태로 관리하고 관리되는 어플리케이션의 활용 특성에 따른 스크립트를 정의하여 실행할 수 있도록 기능을 제공합니다.
어플리케이션은 워크플로우를 통해 다양한 목적으로 실행할 수 있습니다.
등록된 또는 다른 사용자로부터 공유 설정된 어플리케이션 목록을 보여줍니다

검색된 결과는 출력 조건에 따라서 화면에 페이지 형태로 출력이 되며, 검색 조건은 사용자가 재접속을 하는 경우에도 동일하게 설정되어 제공됩니다.
어플리케이션 정보는 다음과 같은 5가지 요소로 구성이 됩니다.

각각의 구성 요소에 대한 상세 설명은 아래 절에서 항목별로 자세히 설명합니다.
어플리케이션 관리 기능은 등록된 소프트웨어에 대한 상세 정보를 제공합니다.

왼쪽 어플리케이션의 버전 목록과 선택된 버전의 상세 정보를 오른쪽에 표시합니다.
기본 정보에서 선택된 버전의 실행 스크립트를 관리합니다.

위 목록에서 선택한 스크립트의 상세 정보를 표시합니다. 실행 스크립트는 4종류의 스크립트가 제공이 되며, 제공되는 각각의 유형은 다음과 같습니다.

실행 스크립트에서 사용되는 공통 파라미터를 관리합니다. 파라미터 기능은 실행 스크립트 동작에 필요한 정보를 변수 형태로 스크립트 실행 단계에 주입(Injection)이 됩니다. 실제 설정된 파라미터 값은 Runtime Context Environment를 통해서 관리가 되며, Runtime Context Environment에 동일한 값이 존재하는 경우에는 해당하는 값을 업데이트하지는 않습니다.(변수 값이 설정되지 않은 경우에만 해당하는 변수 값을 초기화합니다.)
파라미터 기능은 어플리케이션 레벨에서 제공하는 파라미터와 실행 스크립트에서 제공하는 공통 파라미터가 존재합니다.
파리미터 관리를 위한 주요 기능은 다음과 같습니다.
현재 스크립트의 파이프라인을 설정합니다. 파이프라인 기능은 어플리케이션을 구성하는 실행 스크립트를 조합하여 새로운 스크립트를 구성하는 방식으로 스크립트를 보다 효과적으로 사용할 수 있도록 기능을 지원합니다. 파이프 라인 기능의 특징은 다음과 같습니다.
파이프라인 기능 사용 상의 주의점은 다음과 같습니다.
파이프라인 실행 기능은 이벤트 화면에서 "파이프라인 보기" 버튼을 통해서 편집할 수 있고 다음과 같은 방법으로 설정할 수 있습니다.

파이프 라인 설정 방법

이벤트 스크립트를 선택된 인스턴스를 통해서 실행하고 결과를 표시합니다. 모든 스크립트의 실행은 4가지 형태의 정보로 저장이 됩니다. 아래 그림은 이벤트가 실행되는 체계를 설명합니다.

이벤트 실행을 위한 단계는 4단계로 구분되며 각각의 단계별로 수행하는 작업에 대한 설명은 아래와 같습니다.




============= ERROR =============
javax.script.ScriptException: javax.script.ScriptException: groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.io.File#<init>.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.String]
[class java.net.URI]
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:158)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at com.mysocloud.be.execute.queue.listener.RuntimeActionQueueServiceImpl.executeScriptHandler(RuntimeActionQueueServiceImpl.java:741)
at com.mysocloud.be.execute.queue.listener.RuntimeActionQueueServiceImpl.executeNotification(RuntimeActionQueueServiceImpl.java:1013)
at com.mysocloud.be.execute.queue.listener.RuntimeActionQueueServiceImpl.executeEvent(RuntimeActionQueueServiceImpl.java:399)
at com.mysocloud.be.execute.queue.listener.RuntimeActionQueueServiceImpl.executeEvent(RuntimeActionQueueServiceImpl.java:204)
at com.mysocloud.be.execute.queue.listener.RuntimeActionQueueServiceImpl.execute(RuntimeActionQueueServiceImpl.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.mysocloud.be.execute.queue.listener.RuntimeActionQueueTaskDecorator.lambda$decorate$0(RuntimeActionQueueTaskDecorator.java:41)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.script.ScriptException: groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.io.File#<init>.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.String]
[class java.net.URI]
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:320)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:155)
... 19 more



실행 스크립트에서 활용할 수 있는 시스템 변수 정보를 제공하며 사용할 수 있습니다.
설정한 변수는 환경 변수를 통해서 제공이 되며, 제공되는 환경 변수를 조회해서 해당하는 값을 활용할 수 있습니다.
설정된 변수 내역을 확인하는 방법은 env와 같은 환경 변수를 조회하는 시스템 명령어를 통해서 확인할 수 있습니다.
시스템 변수 시스템 변수는 시스템이 자동으로 생성하는 변수를 의미하며 제공되는 정보는 어플리케이션에 대한 정보와 인스턴스에 대한 정보로 구분되어 정의됩니다.
사용자 변수
echo "{Variable}=WORDPRESS_DB_IP"; echo "WORDPRESS_DB_IP=${instance_privateIp}";
app_artifact_0_size=22773
app_artifact_1_name=apache-http-server-web-server-computer-servers-computer-software-world-wide-web.jpg
instance_name=k8s-test02-20210319-032755-569
app_artifact_certificate_alias=certificate
app_artifact_1_alias=apache
app_artifact_2_name=certificate.pem
app_artifact_certificate_size=887
cloud_userId=root
app_artifact_apache_contentType=image/jpeg
app_artifact_2_size=887
app_artifact_1_contentType=image/jpeg
LoginId=chidae2000@gmail.com
PWD=/root
LOGNAME=root
app_artifact_2_contentType=application/x-x509-ca-cert
SecretKey=7b1190ce-9578-4de5-b46a-e9f7e0511aa5
app_artifact_apache_size=36541
AccessKey=1e991d3f-58eb-4cd7-b604-8f2de6bccb72
app_artifact_certificate_name=certificate.pem
HOME=/root
cloud_accessKey=serengeti-admin
instance_id=9510198c-9214-4b96-938d-9d45085cf70d
app_version_id=0371c271-50be-4716-b767-6196fe2b05dd
app_artifact_1_size=36541
cloud_vendor=Kubernetes
app_artifact_logo_alias=logo
app_artifact_apache_name=apache-http-server-web-server-computer-servers-computer-software-world-wide-web.jpg
app_artifact_2_alias=certificate
logo=0
app_artifact_logo_contentType=image/png
app_artifact_0_alias=logo
SSH_CONNECTION=183.111.79.31 55122 10.32.24.0 22
app_artifact_0_name=logo-ubuntu_cof-orange-hex.png
instance_privateIp=10.32.24.0
app_artifact_1_id=9fa14873-c5f9-43a4-aa87-434c6766cfd5
app_artifact_0_id=0b8908f5-d4b6-405c-a81a-76b7ee9c8cf9
app_artifact_count=3
app_artifact_0_contentType=image/png
app_id=760be804-fbf7-4231-9c6f-9ec8e75832f0
host_group_id=15
USER=root
app_artifact_logo_id=0b8908f5-d4b6-405c-a81a-76b7ee9c8cf9
apache=1
SHLVL=2
app_binary_id=9c7f1e50-77db-47c4-9c33-5b09f060297a
instance_publicIp=183.111.68.81
certificate=2
app_artifact_certificate_contentType=application/x-x509-ca-cert
cloud_regionId=serengeti
app_artifact_apache_id=9fa14873-c5f9-43a4-aa87-434c6766cfd5
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
instance_port_ssh=32510
app_artifact_2_id=fc7e338b-1681-49a2-9647-787802499ed6
installDir=/opt/tomcat/abc
MAIL=/var/mail/root
app_artifact_certificate_id=fc7e338b-1681-49a2-9647-787802499ed6
app_artifact_logo_name=logo-ubuntu_cof-orange-hex.png
app_artifact_apache_alias=apache
test=test_variable
app_artifact_logo_size=22773
제공되는 변수 정보를 활용해서 어플리케이션 제어에 필요한 실행 스크립트를 정의할 수 있습니다. 제공되는 스크립트 유형은 다음과 같이 4가지 유형이 제공이 가능하면 각각에 대한 설명은 아래와 같습니다.
정의 : 외부 요청에 따라서 입력되는 입력 정보나 변수 값을 활용해서 서비스 필요한 처리를 수행하고 수행된 결과를 별도의 변수에 저장하여 워크플로우 상의 다른 이벤트에서 활용하도록 기능 지원하며 현재 지원하는 언어는 Groovy 언어만 지원됨.
활용 예시

@Grab(group='com.jcraft', module='jsch', version='0.1.46')
import com.jcraft.jsch.*
java.util.Properties config = new java.util.Properties()
config.put "StrictHostKeyChecking", "no"
JSch ssh = new JSch()
Session sess = ssh.getSession "ubuntu", "183.111.79.31", 22
sess.with {
setConfig config
setPassword "dhkstmd"
connect()
Channel chan = openChannel "sftp"
chan.connect()
String filepath = env.getVariable("uploadFilePath");
if (filepath == null) {
filepath = "/root/abc3.wav";
}
String filename = env.getVariable("uploadFileName");
if (filename == null) {
filename = "abc3.wav";
}
ChannelSftp sftp = (ChannelSftp) chan;
def sessionsFile = new File(filepath)
sessionsFile.withInputStream { istream -> sftp.put(istream, "/home/ubuntu/" + filename) }
chan.disconnect()
disconnect()
}
호출 방법 : RESTful API를 호출할 때 사용하는 HTTP Method를 지정합니다.
호출 도메인 : RESTful API를 사용해서 호출하게 되는 서버의 IP 또는 Domain 주소를 입력합니다. HTTP/HTTPS에 따라서 protocol을 지정하고 기본 포트(HTTP의 경우 80, HTTPS의 경우 443)가 아닌 별도 포트를 사용하는 경우에는 해당하는 포트를 명시하여 구성합니다.
http://your-ip-or-domain-name:your-service-port
http://127.0.0.1:8080
http://www.mydomain:8080
https://your-ip-or-domain-name:your-service-port
https://127.0.0.1:6443
https://www.mydomain:8001
호출 API 경로 : RESTful API URI 경로 정보를 입력합니다. URI 경로 정보에 변수를 통해서 Path Variable을 입력할 수 있습니다. 다른 변수를 활용하는 것과 마찬가지로 아래 입력 예와 같은 형태로 URI 경로 중간에 "{변수명}" 형태로 변수를 사용하여 URI 정보를 구성할 수 있습니다.
/service/object/{yourObjectId}/
설정된 yourObjectId 변수 값은 변수 관리 기능을 통해서 사용자가 수동으로 지정할 수 있으며, Runtime Context Environment를 통해서 런타임에 해당하는 변수값을 통해서 변경할 수 있습니다.
입력 폼 타입 : 폼 타입을 지정합니다. 단일 폼 타입과 복수 폼 타입을 지정할 수 있으며 각 폼 타입에 따라서 추가적인 데이터의 입력을 설정할 수 있습니다.
{
"host":"628",
"session":"test_0001",
"data": {
"utter": "{sttText}"
},
"lang": "1"
}

선택된 파일은 해당하는 파일 변수의 기본 값으로 사용됩니다. 즉 해당하는 파일이 입력되지 않는 경우 지정된 파일이 기본 값으로 API를 통해서 전달이 됩니다.
선택 파일 목록 : 선택된 파일은 목록 형태로 아래와 같이 화면에 표시된다.

선택된 파일의 이름은 자동으로 변수 이름과 변수 id로 지정되며 변수에 대한 지정은 id가 먼저 변수 이름으로 사용되고 id가 지정되지 않는 경우 변수명을 변수 이름으로 참조합니다.
파일 변수 편집 : 파일 이름으로 지정된 변수 명을 변경하고자 하는 경우에는 선택된 파일 상단의 편집 아이콘을 선택하면 아래와 같은 화면이 출력되고 변수 Alias와 이름을 변경할 수 있다.

파일 변수 삭제 : 선택된 파일은 선택된 파일 상단의 삭제 아이콘을 선택하여 삭제할 수 있다.
파일 저장 확인 : 등록/변경된 변수 정보는 아래의 변수 관리 화면에서 해당하는 내역을 확인할 수 있다.

활용 예시

import java.io.*;
try {
byte[] contents = env.response;
println("Content Size => " + contents.length);
File file = new File("/root/abc3.wav");
file.delete();
OutputStream os = new FileOutputStream(file);
os.write(contents);
os.close();
env.setVariable("uploadFilePath", file.getAbsolutePath());
env.setVariable("uploadFileName", file.getName());
env.setVariable("ai-service-id", "54321");
} catch (Exception e) {
println(e.getMessage());
}
실행 스크립트(Shell Script)
정의 : Shell Script 실행을 통해서 시스템에서 필요한 작업을 수행하는 기능 제공. 시스템 작업에 필요한 정보는 변수를 통해서 전달이 되며 해당하는 변수 특성에 따라서 Shell Script에서 지원하는 명령어 실행.
활용 예시

#!/bin/bash
for (( index=0; index<${app_artifact_count}; index++ ))
do
artifact_file="app_artifact_${index}_name"
artifact_file="${!artifact_file}"
artifact_id="app_artifact_${index}_id"
artifact_id="${!artifact_id}"
echo "curl -o ${application_home}/${artifact_file} \
-X GET \"http://serengeti-gs.n3ncloud.co.kr/api.app/app/v1/handle/app/${app_id}/version/${app_version_id}/binary/${app_binary_id}/artifact/${artifact_id}/download\" \
-H \"accept: application/json\" -H \"AccessKey: $AccessKey\" -H \"LoginId: $LoginId\" -H \"SecretKey: $SecretKey\""
curl -o $application_home/$artifact_file \
-X GET "http://serengeti.n3ncloud.co.kr/api.app/app/v1/handle/app/$app_id/version/$app_version_id/binary/$app_binary_id/artifact/$artifact_id/download" \
-H "accept: application/json" -H "AccessKey: $AccessKey" -H "LoginId: $LoginId" -H "SecretKey: $SecretKey"
done
지정 명령어
정의 : 단일 명령줄을 통해서 실행되는 명령어를 정의하고 해당하는 명령어에 필요한 파라미터 값을 변수를 활용해서 설정
추가 기능
활용 예시(파일 목록 출력)

ls -al {currentWorkingDirectory}
어플리케이션의 바이너리 패키지를 관리하며 등록된 패키지 파일을 실행 스크립트 내에서 사용할 수 있습니다. 기본 패키지 정보를 등록 후 해당 패키지에 패키지 파일을 업로드 하는 형태로 등록 관리됩니다.
어플리케이션 바이너리의 다운로드 방안에 대한 설명은 실행 스크립트 의 스크립트 실행 예제를 참고하시기 바랍니다.

어플리케이션의 등록된 패키지 목록을 표시합니다.

목록에서 선택한 패키지의 세부 내용을 표시합니다.
스크립트에서 사용할 파라메터의 이름과 값을 관리합니다.
어플리케이션 파라미터 사용 방안에 대한 설명은 실행 스크립트 의 스크립트 실행 예제를 참고하시기 바랍니다.

현재 어플리케이션 버전의 설정된 파라미터 목록을 표시합니다.

위 목록에서 선택된 파라미터의 세부 정보를 표시합니다.
다른 어플리케이션과 상속 관계를 설정, 그 어플리케이션의 스크립트를 현재 어플리케이션에서 사용할 수 있게 설정합니다.
어플리케이션 상속 설정 및 제거
어플리케이션 상속 기능 이용에 따른 주의 사항

상속된 어플리케이션 및 상속할 어플리케이션을 선택하면 "실행 스크립트 목록"을 왼쪽에서 확인할 수 있습니다.

선택된 어플리케이션의 "실행 스크립트" 목록에 대한 상세 정보를 확인하기 위해서는 "상세 보기" 버튼을 통해서 확인할 수 있으면 관련된 자세한 정보는 실행 스크립트에서 보다 자세하게 확인할 수 있습니다.
소프트웨어의 워크플로우를 관리합니다.
워크플로우는 여러 소프트웨어의 이벤트 스크립트를 조합하여 흐름을 제어할 수 있도록 제공되는 기능입니다.
워크플로우는 특정 클라우드 자원을 대상으로 실행할 수 있습니다.
워크플로우의 실행은 트랜잭션이라는 단일 실행 관리 체계를 통해서 실행이 이루어지게 됩니다. 해당하는 관리 체계를 통해서 워크플로우에 속한 이벤트 스크립트가 실행이 이루어지게 되며, 이벤트 스크립트에서는 Transaction이 제공하는 Runtime Context Environment를 통해서 변수 관리 및 결과를 처리할 수 있습니다.
void setVariable(String variable, Object value); 지정된 변수명으로 값을 설정합니다.
설정된 값은 기본적으로 VariableScope은 Global로 저장이 됩니다.
void setVariable(String variable, Object value, VariableScope scope); 지정된 변수명으로 값을 저장합니다.
변수가 지정되는 변수의 생명 주기(Variable Scope)을 지정할 수 있으며, 다음의 3가지로 구성이 됩니다.
env.setVariable("var1", "value1", "Local");
env.setVariable("var2", "value2", "Transaction");
env.setVariable("var3", "value3", "Global");
Object getVariable(String variable)
Object getVariableScope(String variable, VariableScope scope);
RuntimeContextTransaction getTransaction();
위와 같은 기능을 통해서 보다 효과적인 워크플로우의 이용이 가능합니다.
등록된 워크플로우 정보를 검색할 수 있도록 검색 기능을 제공합니다.

입력된 검색어는 워크플로우의 이름을 통해서 검색이 됩니다.
검색 결과로 표시되는 정보는 다음과 같습니다.
등록된 목록을 선택하면 해당하는 워크플로우의 상세 정보 화면으로 이동합니다. 새로운 워크플로우를 등록하기 위해서는 "새로운 워크플로우 등록" 버튼을 선택해서 등록 화면으로 이동합니다.
워크플로우 상세 정보는 등록된 정보를 수정하거나 새로운 버전의 워크플로우를 등록하기 위해서 사용됩니다.
주요 정보는 다음과 같이 구성됩니다.

워크플로우에 대한 제어 기능은 다음과 같습니다.

각각의 제어 기능에 대한 설명은 다음과 같습니다.
워크플로우에 대한 기본 정보와 버전 관리 기능을 제공합니다.

기본 정보에서 제공하는 정보는 다음과 같습니다.
워크플로우에 대한 제어 기능은 다음과 같습니다.
편집 중인 워크플로우 버전의 상세 디자인 기능을 제공합니다.

디자인 영역은 크게 3개의 구역으로 나뉘어지며 각각의 구역에 대한 설명은 다음과 같다.
디자인 캔버스에 출력되는 노드는 아래와 같은 연결 지점 정보를 포함하고 있다.

디자인 캔버스에 출력되는 구성 요소는 다음과 같은 형태로 구성됩니다.
실행노드 정상 상태
실행노드 선택 상태

실행 시작점 설정 상태
분기점 구성 예시
분기점 선택 예시
연결점 구성 예시
연결점 선택 예시
워크플로우의 구성은 크게 4가지 요소로 구성이 됩니다.
#### 워크플로우에 실행노드 추가

실행노드으로 등록하기 위한 절차는 아래와 같다.
워크플로우의 경우에도 동일한 방법으로 필요한 워크플로우를 검색하여 워크플로우 디자인 캔버스 영역에 Drag & Drop 한다.
선택된 노드의 속성 보기 : 마지막으로 선택된 노드의 상세 속성 정보 편집을 위한 속성 대화 상자 출력
속성 대화 상자는 구성 요소를 더블 클릭하여 동일하게 확인할 수 있습니다.
속성 대화 상자는 구성 요소별로 다음과 같이 제공이 됩니다.
이벤트 실행 노드

워크플로우 실행 노드

분기 노드

링크 실행 노드

워크플로우 시작점 설정 : 워크플로우의 시작점을 별도로 지정하지 않는 경우, 자동으로 시작되는 시작점을 지정
시작점은 실행노드만 지정이 가능하며 워크플로우 실행노드은 선택될 수 없다.
분기 노드 추가 : 분기점을 추가
모든 노드 선택 : 편집 중인 모든 구성 요소를 선택
선택된 노드 삭제 : 선택된 구성 요소를 삭제
초기 상태로 되돌리기 : 편집하기 이전 상태로 되돌리기
격자
확대/축소
연결점 설정
수직 연결점 설정 : 실행노드과 분기점에 구성된 연결점의 위치를 수직 방향으로 설정(기본값)
수직 연결점으로 변경하는 경우, 분기점은 자동으로 오른쪽으로 설정됩니다.
수평 연결점 설정 : 실행노드과 분기점에 구성된 연결점의 위치를 수평 방향으로 설정
수평 연결점으로 변경하는 경우, 분기점은 자동으로 아래쪽으로 설정됩니다.
분기점 설정
위쪽으로 분기점 설정 : 실행노드과 분기점에서 분기되는 분기점을 위쪽으로 위치시킴
분기점이 위쪽으로 설정되면 수직 연결점을 사용하는 경우, 시작점과 분기점이 중복될 수 있기 때문에 시각적으로 불편할 수 있습니다.
왼쪽으로 분기점 설정 : 실행노드과 분기점에서 분기되는 분기점을 왼쪽으로 위치시킴
분기점이 왼쪽으로 설정되면 수평 연결점을 사용하는 경우, 시작점과 분기점이 중복될 수 있기 때문에 시각적으로 불편할 수 있습니다.
오른쪽으로 분기점 설정 : 실행노드과 분기점에서 분기되는 분기점을 오른쪽으로 위치시킴(기본값)
분기점이 오른쪽으로 설정되면 수평 연결점을 사용하는 경우, 출구점과 분기점이 중복될 수 있기 때문에 시각적으로 불편할 수 있습니다.
아래쪽으로 분기점 설정 : 실행노드과 분기점에서 분기되는 분기점을 아래쪽으로 위치시킴
분기점이 아래쪽으로 설정되면 수직 연결점을 사용하는 경우, 출구점과 분기점이 중복될 수 있기 때문에 시각적으로 불편할 수 있습니다.
연결 타입
정렬
구성된 워크플로우를 실행하기 위한 기능을 제공합니다.

워크플로우 실행을 위한 절차는 다음과 같습니다.
실행 자원은 VM/컨테이너 인스턴스를 선택합니다. 사용자가 생성한 VM/컨테이너 인스턴스 자원을 검색합니다.

실행할 자원을 선택합니다.
VM/컨테이너 인스턴스는 여러 개를 선택할 수 있습니다.
워크플로우에서 시작노드를 선택합니다.
기존에 사용자가 실행하고자 하는 워크플로우를 사용하고 있는 사용자 PC에서 사용한 경우, 최근에 사용한 이력 정보를 자동으로 불러와서 설정하고 그렇지 않은 경우에는, 워크플로우에서 설정한 시작노드를 기본값으로 선택합니다.

선택된 시작 노드에서 부터 워크플로우는 시작됩니다.
워크플로우 실행 결과 값이 전달되는 경우, 해당하는 결과값을 받을 Content-Type을 지정해야 합니다.
일반적인 경우에는 Content-Type은 application/json 형태로 문자셋은 UTF-8을 기본값으로 합니다.
사용자가 결과 값을 예상하는 경우에는 관련된 결과값을 설정하시기 바랍니다.
워크플로우는 실행 방식에 따라서 동기 방식과 비동기 방식으로 실행할 수 있습니다.
워크플로우는 구성되는 방식에 따라서 시간이 오래 걸릴 수 있습니다. 따라서 비동기 방식이 기본값이며 워크플로우의 실행 결과를 받아서 처리해야 하는 경우에만 동기식으로 처리하는 것이 권장 사항입니다.
실행 요청에 필요한 데이터를 설정합니다.
실행 요청 데이터의 형태는 워크플로우에서 시작노드가 처리할 수 있는 형태로 전달해야 합니다.
따라서 실행 대상 선택에서 선택된 이벤트 스크립트에서 처리 가능한 데이터를 입력해야 합니다.
시작 노드의 이벤트 스크립트에서 처리할 정보가 여러가지가 있는 경우에는 일반적으로 JSON 형태로 전달하는 것이 일반적입니다.
아래는 그래한 형태의 일반적인 예시입니다.
{
"edge_id": "emul-2.d45d643e0307",
"camera_id": "emulator1",
"timestamp": "2021-08-09T18:23:11",
"bbox": "[, 0.492, 0.642, 0.687]",
"img_path_list": [
"/2021/08/09/emul-2.d45d643e0307/emulator1/18/1628500991690_0.jpg",
"/2021/08/09/emul-2.d45d643e0307/emulator1/18 /1628500991728_1.jpg",
"/2021/08/09/emul- 2.d45d643e0307/emulator1/18/1628500991759_2.jpg",
"/2021/08/09/emul-2. d45d643e0307/emulator1/18/1628500991796_3.jpg",
"/2021/08/09/emul-2.d45d643e0307/emulator1/18/1628500991828_4.jpg"
]
}
워크플로우 시작 노드에서 파일이 필요한 경우에는 "추가 파일 선택"을 통해서 파일을 추가로 등록할 수 있습니다.

이전에 실행된 결과를 조회하여 입력 데이터를 대체할 수 있습니다.
이전에 요청한 정보에 포함된 텍스트 형태의 데이터는 기존 정보를 불러오지만 파일 정보는 아래 그림과 같이 불완전하게 불러오게 됩니다.

사용자의 이용 환경에서 기존에 요청한 파일이 있는 경우에는 동일한 파일을 참조해서 입력할 수 있도록 가이드 정보 역할을 합니다. 기존에 등록된 파일이 없는 경우에는 불완전한 파일 정보를 삭제하고 신규로 추가 파일 선택을 통해서 파일을 등록하시기 바랍니다.

이전 실행 요청을 통해 설정된 불완전한 파일 형태

파일 찾기를 통해서 완전하게 등록된 상태
불완전하게 설정된 파일이 있는 실행 요청을 할 수 없습니다.
워크플로우를 통해서 실행된 실행 결과(트랜잭션)를 검색하고 검색된 개별 워크플로우별 상세 실행 내역을 확인할 수 있도록 기능을 제공합니다.

검색 조건은
일자 단위로 검색할 수 있도록 기능을 제공하며, 검색 결과는 시작 시간의 역순으로 정렬하여 제공합니다. 워크플로우 실행을 통해서 별도의 실행 결과가 존재하는 경우에는 해당하는 결과를 아래 화면과 같이 제공합니다.


실행 결과는 다음의 4가지 유형에 대해서 상세 결과를 제공합니다.
기타 유형의 정보에 대해서는 별도로 해당하는 결과 유형에 따른 파일 다운로드 기능을 제공합니다.
실행된 워크플로우 실행 결과(트랜잭션)를 선택하면 실행 결과와 함께 워크플로우를 구성하는 개별 실행노드에서 실행된 결과를 확인할 수 있습니다.

실행 노드 목록에서 제공하는 정보는 다음과 같습니다.
실행 상태 : 성공 또는 실패로 처리가 종료되었는지 여부를 표시
실행 대상 : 이벤트 또는 브랜치 여부를 구분
시작 시간 : 해당하는 노드에서 이벤트가 실행된 시간 표시
수행 시간 : 해당하는 노드에서 트랙잭션 시작에서 완료까지 총 소요된 시간
실행 결과 : 노드에서 이벤트 스크립트가 실행되어 처리된 결과
실행 이벤트 : 노드에서 실행된 이벤트 스크립트
상세 제어
실행된 이벤트에 대한 상세 정보를 조회하거나 내역을 자세히 확인하고 필요한 수정을 할 수 있습니다.
관련된 자세한 정보는 어플리케이션 이벤트 정보에서 확인할 수 있습니다.

개별 실행노드의 실행 결과는 3가지 형태의 정보롤 제공이 됩니다.
실행 로그 : 실행 로그는 실행노드에서 실행 과정에서 생성된 로그 정보를 출력합니다. 실행 과정에서 발생한 Error나 Exception과 같은 정보들을 제공하기 때문에 워크플로우의 정상 실행 여부를 확인할 때 필수적으로 확인이 필요합니다.

실행 결과 : 실행노드에서 생성된 실행 결과를 저장합니다. 실행 결과를 보여주는 방식은 워크플로우 실행 결과를 보여주는 방식과 동일합니다.

실행 변수 목록 : 실행노드에서 실행 전에 설정되고 실행 후에 생성된 변수 값을 목록으로 비교할 수 있도록 기능을 제공합니다. 실행 변수는 환경 변수 또는 내부 시스템 정보(Environment)를 통해서 설정된 값들을 보여주며 실행노드에서 실행된 스크립트를 디버깅할 때 유용하게 활용될 수 있습니다.

이 섹션의 문서를 선택하세요.
세렝게티 클라우드 자원 현황
클라우드 자원 현황 목록 입니다.

JDC에서 사용하는 VMware, KT Cloud, Kubernetes(K8s) 클라우드 정보를 관리합니다.
JDC에서 등록 가능한 VMware, KT Cloud, Kubernetes의 목록을 보여줍니다. 직접 클라우드 서비스를 등록하거나, 다른 사용자로부터 공유 설정된 클라우드 목록도 함께 보여집니다.

아래 내용은 클라우드 유형별로 확인할 정보를 정리한 것입니다. 등록 화면에서 요구하는 값은 JDC 운영 환경의 설정을 확인하여 입력합니다.
VMware 환경의 연결 주소, 인증 정보, 사용할 리전·존 정보를 JDC 클라우드 관리자에게 확인한 뒤 등록합니다. 실제 입력 항목과 값은 JDC에 연결된 VMware 환경의 설정을 따릅니다.
기본 정보

클라우드 속성 값(정보)
기본 리전 : KOR-Central A/B, KOR-Seoul M/M2,KOR-HA로 총 5가지를 제공합니다.KT Cloud에서 제공하는 zone의 name 정보 입니다.
청구서 정보 : 리셀러 계정만 사용 가능합니다.
쿠버네티스 서비스 이용을 위해 사용하는 기본 정보는 다음과 같다.
기본 정보
클라우드 속성 값(정보)
클러스터 도메인 IP/도메인: 쿠버네티스 시스템에 접근하기 위한 IP 또는 도메인 정보
HTTP/HTTPS 사용 여부
쿠버네티스 API에 접근하기 위해서 API에 설정된 HTTP/HTTPS 설정 여부를 선택(대부분의 운영 시스템은 HTTPS를 사용)
인증 연동 데이터(Certificate Authority Data)
클러스터 관리를 위한 사용자 인증 사용
쿠버네티스 클러스터 관리를 위해서 API 접근을 하는 경우, 사용자에 대한 인증 데이터 사용 여부를 선택. HTTPS를 사용하는 경우, 사용자에 대한 인증 정보를 반드시 입력해야 함. 관리자 인증 정보를 사용하지 않는 경우, 시스템 접속에 문제가 있을 수 있으니 시스템 관리자를 통해서 정보를 확인하시기 바랍니다.
시스템 어드민 인증 데이터(Admin Client Certificate Data)
시스템 어드민 인증 키 데이터(Admin client key data)
클라우드 속성 정보 중 인증 키와 관련된 정보는 다음과 같은 방법을 통해서 확인할 수 있습니다.
쿠버네티스 Admin 시스템의 계정에 접속하여 root 계정으로 로그인 또는 su 명령어를 통해서 사용자 전환하여 root 계정의 홈 디렉토리(/root)로 이동
root 계정의 홈 디렉토리에 숨김 폴더로 설정된 .kube 디렉토리로 이동
폴더에 등록된 config 파일을 cat 또는 vi 명령어를 통해서 확인
아래는 config 파일의 예시입니다.
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0...
server: https://183.111.79.35:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
namespace: serengeti-ecosystem
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk...
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSU...
쿠버네티스 API 접속 포트: 쿠버네티스 API 서비스를 위해서 설정된 서비스 포트(초기 설정 값은 6443을 사용)
쿠버네티스 기본 네임스페이스: 쿠버네티스 클러스터에 접속을 위해 기본적으로 쿠버네티스에 생성된 네임스페이스(일반적으로 default) 이름을 설정합니다.
DockerHub 연동계정, 암호: Docker Hub 사용자 계정을 입력합니다.
DockerHub Secret 이름: Docker Hub 호출을 위한 Secret을 생성 후 Secret 이름을 입력합니다.
사설 이미지 저장소 유형: 이미지 저장소로 쓰일 유형 선택합니다.
Docker 사설 Registry URL 및 Port 입력 : 위에서 선택한 저장소의 URL 및 Port 입력
이미지 저장소에 접근할 비밀키(SecretKey) : SecretKey
API Gateway 사용 설정 : API Gateway 사용 여부
목록에서 선택한 클라우드 상세 정보를 보여줍니다. 클라우드에 대한 상세 정보 관리 기능을 제공합니다. 다른 사용자가 공유한 클라우드 정보는 조회만 가능하며 등록된 정보에 대한 수정 및 편집은 불가능합니다.
클라우드 상세 정보 화면에서 제공하는 주요 정보는 아래와 같습니다.

클라우드 리전 정보는 빌링 정보와 자원 스펙 정보와 연결된 클라우드 정보 관리에 있어서 가장 기본이 되는 정보입니다.
등록된 리전 정보는 클라우드 상세 화면의 왼쪽에 클라우드 아이콘 하단위 트리 형태로 표시가 되며, 등록된 리전에 대한 상세 정보는 트리의 리전 정보를 선택하여 확인할 수 있습니다.


클라우드 존 정보는 클라우드 서비스 사업자/솔루션의 가용성 영역(Availablity Zone 또는 서비스 영역)에 대한 정보를 관리합니다.
일반적으로 이러한 정보는 리전 정보와 1:1 또는 1:N의 관계를 가지고 있습니다.
개별 존에 대한 정보는 반드시 리전 정보를 등록하고 사용되어야 하며, 리전에 등록된 존은 등록된 다른 존과 중복된 클라우드 서비스의 존 정보를 가질 수 없습니다.

관리되는 정보는 다음과 같습니다.
클라우드 존 정보를 추가하기 위해서는 위의 그림과 같이 클라우드 트리 정보에서 리전 옆에 있는 "+" 버튼을 선택하면 추가적인 존 정보를 등록할 수 있습니다.
클라우드를 이용하고 있는 클라우드 접속 정보 목록을 제공합니다.
클라우드 접속 정보를 통해서 클라우드의 모든 자원들이 생성 및 관리될 수 있기 때문에 클라우드 사용 현황을 파악할 수 있습니다.

JDC의 VMware, KT Cloud, Kubernetes(K8s) 접속 정보를 관리합니다.

클라우드 정보를 선택 리전 및 존에 따라 세부적으로 클라우드 접속 관리를 합니다.
실제 세렝게티의 클라우드 자원 생성 시 클라우드 접속 정보를 선택해 자원 생성을 하게됩니다. 클라우드 정보와 마찬가지로 직접 클라우드 접속을 등록하거나, 다른 사용자로부터 공유 설정된 접속 정보 목록도 함께 보여집니다.
사용자 접속 정보는 2가지 방식으로 제공이 되며 생성하는 인스턴스에 지정한 접근 방식에 따라서 적용됩니다.
암호방식 : 인증 방식을 아이디와 패스워드로 선택하며 사용할 비밀번호를 설정합니다.

키페어 방식 : 인증 키와 인증키에 따른 사설 키 데이터를 기반으로 인스턴스에 대한 키페어를 설정합니다.

VMware와 Kubernetes 접속을 등록할 때는 JDC에 등록된 클라우드, 리전·존, 인증 정보를 확인합니다. 해당 환경의 접속 계정과 인증 방식은 JDC 관리자에게 확인합니다.
KT Cloud 접속 등록 시 주의사항

목록에서 선택한 클라우드 접속 상세 정보를 보여줍니다.


등록된 클라우드별 호스트 정보 조회

2. 조회된 호스트 목록에서 필요한 호스트 선택 후 동기화


클라우드 인스턴스 자원을 관리합니다.

클라우드 자원 동기화 기능은 사용자가 클라우드 서비스에 생성한 인스턴스 정보를 플랫폼에 등록하도록 제공되는 기능입니다.
플랫폼에 인스턴스를 등록하기 위해서는 사전에 해당하는 클라우드에 연결하기 위한 클라우드 접속 정보가 필요하며, 클라우드 접속 정보에 설정된 정보를 기준으로 클라우드 서비스의 인스턴스 정보를 조회하여 사용자가 플랫폼에 등록할 수 있도록 편의 기능을 제공합니다.
클라우드 접속 정보 및 클라우드에 설정된 아래의 정보는 사용자의 클라우드 서비스에 등록된 인스턴스를 조회하는데 영향을 주기 때문에 클라우드 서비스에 등록된 인스턴스가 자원 동기화 목록으로 표시되지 않는 경우, "클라우드 접속 정보"의 다음 정보를 확인해 보시기 바랍니다.
클라우드 존 정보
클라우드 접속 정보에서 설정되지 않은 존에 생성된 자원 정보는 사용자에게 제공되지 않습니다.
접속 정보에 인스턴스가 생성된 존 정보가 없는 경우 아래와 같이 조치 후 다시 시도해 보시기 바랍니다.
클라우드 인증 방식
클라우드 인증 방식이 인증서 방식(키페어)인 경우, 플랫폼에 사전에 등록되지 않은 키페어를 사용할 수 없습니다.
사전에 등록되지 않은 키페어를 사용하는 인스턴스는 플랫폼에 인스턴스 동기화 기능을 통해서 동기화할 수 없습니다.
클라우드 서비스를 통해서 이미 생성된 키페어는 "내 PC에서 선택"을 통해 키페어 정보를 등록할 수 있으며 등록된 정보는 연결된 클라우드에서 선택 기능을 통해서 플랫폼에서 사용할 수 있습니다.
별도의 키페어를 사용하는 인스턴스의 경우에는 해당하는 인스턴스를 접속 정보 관리 기능을 통해서 등록하고 다시 시도해 보시기 바랍니다.
클라우드 자원 상태 동기화 기능은 생성된 클라우드 자원의 상태 정보와 클라우드 서비스에 등록된 클라우드 자원 상태 정보를 비교하여 플랫폼에 등록된 자원 상태 정보를 최신 상태로 변경합니다.
인스턴스의 접속정보를 선택합니다.

인스턴스 이미지를 선택합니다.

테넌트와 인스턴스 자원을 선택합니다.

쿠버네티스에 새로운 인스턴스(컨테이너)를 생성합니다.

라벨 편집 : 라벨 편집을 클릭하면 열리고 라벨을 추가할 수 있습니다.
컨테이너 이름 : 생성할 컨테이너 이름을 입력합니다.
컨테이너 생성 호스트 이름 : 컨테이너를 배포할 노드를 입력합니다.
레이블 항목 추가 : 컨테이너에 적용할 리소스 라벨을 입력합니다
POD 환경 변수 설정 : POD 관련 환경 변수를 추가 등록/삭제할 수 있습니다.
사용할 이미지 선택 : 이미지 소스를 선택합니다 (제공 이미지 선택/사용자 이미지 선택/도커허브 이미지 선택)
제공 이미지 선택
사용자 정의 이미지
사용자가 등록한 이미지를 선택 할 수 있습니다.

도커허브 이미지 선택
도커허브 이미지는 Docker Hub에서 제공되는 공개된 이미지를 연동하여 사용자가 활용할 수 있도록 기능을 제공합니다.
사용하는 방식은 아래와 같습니다.
도커허브 이미지 선택
도커허브 이미지 검색 버튼을 눌러서 도커 이미지 검색 창을 아래와 같이 출력합니다.

검색할 도커허브 이미지를 검색창에 입력하고 검색 버튼을 눌러서 사용할 대상을 검색합니다.

선택한 이미지에 대한 최신 정보를 "도커허브 이미지 정보 보기"를 통해서 확인합니다.

선택한 이미지의 Tag 정보를 선택하여 컨테이너를 생성할 수 있습니다.
이미지 선택 : 선택한 이미지 소스에 따라 실제 컨테이너를 생성할 이미지를 선택합니다
이미지 Tag : 이미지의 태그를 선택합니다.
플랫폼 아키텍쳐 선택 : 플랫폼 아키텍쳐를 선택합니다.
이미지 갱신 정책 설정 : 이미지 갱신 정책을 설정합니다.
컨테이너 재시작 정책 설정 : 컨테이너 재시작 정책을 설정합니다.
볼륨 추가 : 컨테이너에 생성, 연결할 볼륨을 설정합니다.
포트 추가 : 컨테이너에서 서비스할(외부에서 접근하는) 포트를 추가합니다.
호스트네임 추가 : 파드 호스트 네임을 추가합니다.
보안 설정 : 보안 설정을 입력합니다.
실행할 명령어 입력 : 실행할 명령어를 입력합니다.
VMware 인스턴스를 생성할 때는 JDC에 등록된 VMware 클라우드 접속을 선택하고, 해당 환경에서 제공하는 이미지와 자원 사양을 선택합니다. 상세 설정값은 연결된 VMware 환경의 정책을 확인합니다.

선택한 사용자 테넌트 정보를 볼 수 있습니다.
선택한 자원 스펙 정보를 볼 수 있습니다.
선택한 자원 상세 정보를 볼 수 있습니다.
이전단계,초기화,인스턴스 생성을 선택 할 수 있습니다.
인스턴스 상세 조회 내용을 표시합니다
인스턴스에 공통적으로 제공되는 상세 정보 내용은 아래와 같고, 클라우드별로 추가되는 속성 정보는 하위 절에서 설명합니다.

기본 정보
인스턴스 제어 기능
인스턴스 제어 기능은 클라우드 서비스를 제공하는 사업자 및 솔루션별로 차이가 있을 수 있습니다. 각각의 클라우드 서비스 및 솔루션별로 차별적으로 제공하는 기능은 아래 하위 절에서 설명합니다.
모니터랑 관련 기능
모니터링이 동작하지 않을 수동으로 호스트 등록과 에이전트 설치를 진행합면 됩니다.
인스턴스 공통 속성 정보
클라우드 서비스 : 인스턴스의 클라우드 서비스 정보를 표시합니다 상세 정보 버튼을 누르면 해당 클라우드 서비스의 상세 화면으로 이동합니다
클라우드 지역 : 인스턴스가 생성된 지역과 존을 표시합니다
클라우드 풀 : 인스턴스의 클라우드 접속 정보를 표시합니다 상세 정보 버튼을 누르면 해당 클라우드 접속 정보의 상세 화면으로 이동합니다
선택된 자원 유형 : 인스턴스를 생성할 때, 지정된 자원 유형과 자원의 상세 정보를 표시합니다.
인스턴스 ID : 인스턴스의 관리 ID 를 표시합니다
서비스 자원 ID : 인스턴스의 실제 ID (쿠버네티스 POD ID) 를 표시합니다
서비스 자원 이름 : 사용자가 설정한 서비스 자원 이름을 표시합니다
원본 이미지 : 인스턴스의 소스 이미지(도커 이미지) 이름을 표시합니다
외부 IP : 인스턴스를 외부에서 접속할 수 있는 IP 입니다.
시스템 사용자 ID : 시스템을 접속하는 시스템 사용자 ID 정보입니다.
노출 포트 : 외부로 노출되는 컨테이너 포트 정보를 표시합니다
외부로 노출되는 포트 중, HTTP/HTTPS를 위한 서비스 포트가 지정되는 경우 아래 화면과 같이 구분하여 표시되며, 해당 포트를 선택하면 별도 창으로 서비스 화면으로 이동할 수 있도록 링크 정보를 제공합니다.
리소스 속성들 : 인스턴스의 리소스의 속성을 키와 값 형태로 표시하며 보다 자세한 내용은 하위 절에서 설명합니다.
화면 제어 기능
라벨 관리
파일 관리자
인스턴스의 파일을 관리하는 기능입니다.파일을 삭제,업로드,다운로드 가능합니다.

볼륨 관리

부하 분산 관리
로드 밸런서 연결

연결할 로드밸런서를 선택합니다.

좌측에 로드밸런서가 추가됩니다.

인스턴스 연결을 누릅니다.
연결할 인스턴스를 선택합니다.

인스턴스가 추가됩니다.

로드 밸런서 해지

모니터링
인스턴스의 정보 모니터링하는 기능입니다.

쿠버네티스에서 제공하는 POD를 플랫폼에서 인스턴스로 제어합니다.

인스턴스 제어 기능
쿠버네티스가 제공하는 인스턴스인 POD는 생성 및 종료 기능만을 제공하기 때문에 다른 클라우드 서비스 사업자가 제공하는 가상화 VM과 같은 시작/중지/재시작과 관련 명령을 사용할 수 없고 아래와 같이 연결 및 종료 기능을 제공합니다.
리소스 속성들 : 쿠버네티스 POD 에서 활용하는 내부 속성 정보입니다.
사용자는 등록된 클라우드에서 제공하는 이미지 가운데 사용하고자 하는 이미지를 선택 저장해 세렝게티 내에서 별도 관리할 수 있습니다.

동기화를 통해 저장된 이미지 목록을 클라우드 서비스별로 제공합니다.

접속 정보 : 이미지를 생성할 접속 정보를 선택합니다.
기본 정보 : 접속 정보에 맞는 이미지 생성에 필요한 기본 정보를 입력합니다.

이미지 조회를 하기 위해 클라우드 서비스 및 접속 정보를 선택합니다.

위에서 선택한 클라우드 서비스에서 제공하는 이미지 정보 목록을 보여줍니다. 가져오려는 이미지를 왼쪽 체크박스 선택 후 저장합니다.
클라우드 자원 상태 동기화 기능은 생성된 클라우드 자원의 상태 정보와 클라우드 서비스에 등록된 클라우드 자원 상태 정보를 비교하여 플랫폼에 등록된 자원 상태 정보를 최신 상태로 변경합니다.
클라우드 사업자의 이미지 정보가 삭제된 경우, 플랫폼에서도 즉시 삭제가 이루어집니다.


볼륨 조회를 하기 위해 클라우드 서비스 및 접속 정보를 선택합니다.

위에서 선택한 클라우드 서비스에서 제공하는 볼륨 정보 목록을 보여줍니다. 가져오려는 볼륨 정보를 왼쪽 체크박스 선택 후 저장합니다.

새 볼륨을 생성합니다.

볼륨 목록에서 상세 정보 조회가 필요한 목록을 클릭하면 해당 볼륨의 상세 정보를 보여줍니다.

볼륨 중에서 인스턴스에 연결되지 않은 볼륨은 수정할 수 있습니다.
개별 클라우드 서비스별로 제공되는 볼륨 옵션에 따라서 필요한 정보를 수정할 수 있습니다.
볼륨의 수정 가능 항목은 연결된 VMware 또는 KT Cloud 환경에서 제공하는 옵션을 확인합니다. 기존 볼륨의 용량을 변경할 때는 해당 환경의 정책을 확인합니다.
JDC의 네트워크 관련 설정은 사용하는 클라우드와 연결된 자원에 따라 확인합니다.
JDC의 네트워크 관리 화면과 VMware·KT Cloud·Kubernetes별 설정 절차는 실제 운영 화면을 확인한 뒤 현행화합니다.
사용자는 등록된 클라우드에서 제공하는 보안 그룹 정보 가운데 사용하고자 하는 보안 그룹을 선택 저장해 세렝게티 내에서 별도 관리하거나, 새로운 보안 그룹을 추가 설정해 인스턴스에 적용할 수 있습니다.

목록에서 클릭한 보안 그룹과 연결된 인스턴스 목록을 표시합니다.

클라우드 서비스별로 제공되는 보안 그룹에서 선택 사용하고자 하는 항목 및 세부 정보를 가져와 세렝게티 내에서 별도 관리할 수 있습니다.

보안그룹 조회를 하기 위해 클라우드 서비스 및 접속 정보를 선택합니다.

위에서 선택한 클라우드 서비스에서 제공하는 보안그룹 목록을 보여줍니다. 가져오려는 보안 그룹을 왼쪽 체크박스 선택 후 저장합니다.
새로운 보안 그룹을 생성합니다. 기본 보안 그룹을 생성하고 하위 적용하고자 하는 보안 그룹 룰을 추가합니다.


해당 보안 그룹에 실제로 적용할 룰을 추가합니다.
보안 그룹 상세 화면은 해당 보안 그룹의 룰을 관리하는 UI 와 인스턴스를 선택, 해당 보안 그룹과 연결하거나 연결 해지하는 기능을 가지고 있습니다.


새 보안 그룹 룰을 추가하거나 기존 룰을 수정 또는 삭제할 수 있습니다.

현재 보안 그룹이 적용된 인스턴스 목록을 관리합니다. 새로운 인스턴스를 선택 적용하거나 해당 보안그룹과 연결된 인스턴스를 선택 해지할 수 있습니다.
JDC에서 외부 접속에 사용하는 Public IP 정보를 관리합니다. 사용 가능한 기능과 할당 방식은 연결된 VMware·KT Cloud·Kubernetes 환경의 설정을 확인합니다.
Public IP의 등록·할당·해제 절차와 화면 예시는 JDC 운영 화면을 확인한 뒤 현행화합니다.
클라우드 자원에 있는 로드발란서 정보를 관리합니다.
로드발란서 목록 정보를 검색합니다.

등록된 로드발란서 목록을 검색하여 화면에 출력합니다. 출력된 목록 정보는 다음과 같습니다.
자원 정보 동기화는 세렝게티를 통해서 생성하지 않은 클라우드 자원 정보를 세렝게티에 등록하는 절차입니다.
등록을 위해서는 기존에 만들어진 접속 정보를 통해서 등록을 할 수 있으며, 동기화 기능 실행 시 동기화하고자 하는 접속 정보 목록이 제공되고 사용자는 동기화하고자 하는 연결 접속 정보를 선택합니다.

연결 접속 정보에서 제공되는 "등록되지 않은 로드발란서 목록"을 선택하여 시스템에 등록합니다.

로드발란서 정보를 신규로 생성합니다.

로드발란서 정보를 신규로 생성하기 위해서 필요한 정보를 입력합니다. 로드발란서를 생성할 접속 정보를 선택하여 해당하는 로드발란서 정보를 생성할 수 있습니다.
로드발란서의 상세 정보를 제공합니다. 제공되는 로드발란서의 상세 정보는 3가지 영역으로 구분하여 제공합니다.

"리소스 속성 보기" 버튼을 통해서 클라우드 자원에 대한 리소스 속성 정보를 보거나 감추기 할 수 있습니다.

로드발란서에 설정된 리스너 정보 목록을 출력합니다.
《리소스 추가》를 통해서 추가된 리스너가 아래의 목록에 추가되고, 추가된 리스너에 대한 변경 및 삭제 기능을 이용할 수 있습니다.

로드발란서에 연결된 보안 그룹 정보 목록을 출력합니다.
출력된 보안 그룹의 상세 정보를 확인하기 위해서는 목록에서 "상세 보기"를 통해서 자세한 정보를 확인할 수 있습니다.
보안 그룹을 추가하기 위해서는 "보안 그룹 연결" 버튼을 통해서 시스템에 등록된 보안 그룹을 선택하여 추가할 수 있고,
기존에 연결된 보안 그룹을 선택한 후, "연결된 보안 그룹 해제" 버튼을 통해서 연결된 보안 그룹을 해제할 수 있습니다.

로드발란서에 연결된 리스너에 대한 상세 정보를 입력합니다.
요약 정보는 리스너 자원에 설정된 상세 정보를 보여주는 기능으로 실제 정보 변경을 위해서는 "리스너 리소스 정보" 탭을 선택하여 필요한 정보를 변경할 수 있습니다.

"리스너 리소스 정보"는 리스너 자원 설정에 필요한 정보를 설정합니다.

리소스 카탈로그 기능은 클라우드의 자원을 규격화하여 사용자들이 필요한 자원을 바로 생성할 수 있도록 제공되는 기능입니다.
필요한 자원을 생성하는 필요한 설정 정보를 사전에 저장하여 자원을 생성할 때, 최소한의 정보만으로 자원을 생성할 수 있도록 지원함으로써 사용자의 이용 편의성을 높이고 구성된 리소스 카탈로그 정보를 서비스 카탈로그와 같은 외부 모듈에서 쉽게 활용할 수 있게 합니다.
리소스 카탈로그의 구성은 아래 그림과 같이 3개의 구성 단위로 이루어지게 됩니다.
제공되는 각각의 컴포넌트에 대한 설명은 다음과 같습니다.
리소스 카탈로그(Resource Catalog)
리소스 카탈로그는 자원 생성에 필요한 리소스 템플릿에 대한 정보를 관리합니다.
리소스 카탈로그를 통해서 사용자 또는 서비스에 필요한 자원이 생성되며 사용자는 생성된 리소스 카탈로그 인스턴스를 통해서 실제 생성된 자원에 접근할 수 있습니다.
정의된 리소스 카탈로그를 통해서 필요한 수량 만큼의 리소스 카탈로그 인스턴스를 생성할 수 있습니다.
리소스 템플릿(Resource Template)
리소스 템플릿은 리소스 카탈로그를 구성하는 단위이며, 리소스 템플릿은 최소한 1개 이상의 리소스 명세서를 포함하고 있습니다.
또한 리소스 템플릿은 계층 구조를 통해서 복잡한 토폴리지를 지원합니다.
리소스 템플릿의 핵심 기능은 등록된 리소스 명세서를 기반으로 생성할 리소스에 대한 스케일링 정보를 관리합니다.
리소스 카탈로그 인스턴스에 생성된 리소스 템플릿 인스턴스 정보를 통해서 생성된 자원의 스케일링을 실행할 수 있습니다.
리소스 명세서(Resource Specification)
리소스 명세서는 클라우드 자원 생성에 필요한 설정 정보를 정의하고 있으며 정의된 정보를 기준으로 자원 생성이 이루어지게 됩니다.
리소스 카탈로그 관리 기능은 특정한 목적으로 사용되는 리소스들을 그룹화하여 한꺼번에 자원을 생성하고 관리하기 위한 목적으로 사용이 됩니다.
리소스 카탈로그를 통해서 생성된 카탈로그 인스턴스 단위로 리소스를 관리할 수 있고, 리소스의 상태 관리 기능을 다른 기능과 연계해서 활용할 수 있습니다. 리소스 카탈로그의 구성은 아래의 구성 체계로 이루어집니다.
로 구성이 됩니다. 각각의 리소스는 포함 관계에 따라서 추가적인 리소스의 조합으로 구성이 됩니다. 현재 지원되는 리소스 타입 및 리소스 타입에 추가 가능한 서브 리소스 유형은 아래와 같습니다.
각각의 카탈로그 템플릿은 다른 카탈로그 템플릿을 포함할 수 있습니다.
카탈로그를 구성하는 기본 단위는 리소스 템플릿을 통해서 구성할 수 있습니다.

리소스 카탈로그에 대한 기본 정보 및 버전 정보를 제공합니다. 리소스 카탈로그는 버전 관리 기능을 통해서 카탈로그의 변경에 따른 이력을 관리할 수 있습니다.

카탈로그에 대한 상세 구성 내역을 편집할 수 있는 설정 기능을 제공합니다.

상세 편집 기능은 다음과 같습니다.
생성 가능한 속성 목록 상세 설정 내용은 각 항목의 클라우드 메뉴얼을 참조해 주세요.


카탈로그 실행 후 상세 구성입니다.

실행중인 인스턴스의 추가 기능 목록입니다.

인스턴스가 모니터링 가능할 경우 모니터링 및 이벤트 알람 정보를 표시하거나 관리합니다.
현재 운영중인 인스턴스에서 발생한 이벤트 알람 목록을 표시합니다.

모니터링 가능 상태의 인스턴스 목록을 표시합니다 클릭 시 해당 인스턴스의 모니터링 관리 상세 화면으로 이동합니다.

목록에서 선택한 인스턴의 모니터링 상세 정보를 표시합니다.

인스턴스에서 알람 목록을 표시합니다 기본 목록 표시 후 목록에서 클릭한 이벤트 알람의 세부 내용을 표시합니다.
인스턴스에서 기본적으로 설정되는 이벤트 이벤트 알람 목록을 표시합니다 기본 목록 표시 후 목록에서 클릭한 모니터링 알람의 세부 내용을 표시합니다.

새 이벤트 알람 추가 화면입니다

이벤트 알람에 따른 표현식 설정 화면은 아래와 같습니다.


인스턴스에서 기본적으로 설정되는 이벤트 이벤트 알람 목록을 표시합니다 기본 목록 표시 후 목록에서 클릭한 모니터링 아이템의 세부 내용을 표시합니다.

인스턴스의 실시간 모니터링 차트를 표시합니다.
이 섹션의 문서를 선택하세요.
세렝게티 v2.0(SERENGETI v2.0)은 VMware, KT Cloud, Kubernetes(K8s) 클라우드 환경에서 다양한 리소스를 생성/관리하고 이를 기반으로 소프트웨어 기능에 대한 실행 및 제어 기능을 제공하는 운영 솔루션 입니다.
시스템 관리자 : 모든 메뉴 및 시스템에 대한 권한을 관리함.(기본적으로 설치 시, 기본 관리자 정보가 설정되어 제공됨)
일반 사용자 : 시스템 관리자가 메뉴 관리 기능을 통해서 허용하는 일반 사용자
리소스 관리 기능
소프트웨어 관리 기능
사용자 암호는 대소문자, 숫자 및 특수 문자를 포함하여 8 글자 이상
사용자 암호는 플랫폼 내부적으로 제공하는 솔트키 방식과 256 비트 암호화 알고리즘 적용을 통해서 단방향 암호화 적용
사용자 정보는 서비스 탈퇴 및 회원 정보 삭제에 따라서 실시간으로 삭제.
사용자 삭제 및 탈퇴 정책
⦁ 운영체제 : Ubuntu 18.04 LTS ⦁ 쿠버네티스 : 1.15.4 ⦁ 마스터 노드 : 4 Core @ 2.4GHz, 2 GB RAM, 100GB Disk ⦁ 어플리케이션 노드 : 8 Core @ 2.4GHz, 32 GB RAM, 500GB Disk
제품 설치 지원은 기술지원 운영팀에 의해 방문 설치 진행 됩니다.
세렝게티 설치 시 다음의 메뉴얼이 제공 됩니다.





시스템 관리자가 사용하는 설정 관리 문서입니다.
승인 프로세스와 승인 요청은 신청 관리에서 확인합니다.
세렝게티 사용자 정보를 관리합니다.
사용자는 관리자가 직접 추가하거나 회원가입을 통해 추가될 수 있습니다.
사용자 관리 메뉴는 관리자 권한이 필요합니다.
사용자 관리 정책은 다음과 같습니다.
플랫폼 서비스에 가입/등록된 사용자에 대한 검색 기능을 제공합니다.

검색된 정보에는 다음과 정보를 제공합니다.
선택된 사용자는 "사용자 정보 동기화" 버튼을 통해서 사용자 정보가 플랫폼 내부 시스템에 동기화가 이루어집니다.
이름
사용자 Id
상태: 사용자의 상태 정보 표시
사용 언어: 사용 언어는 사용자가 계정을 등록할 때, 선택한 언어를 기준으로 등록이 되며, 별도의 선택이 없는 경우 한국어로 등록/표시됩니다.
등록일: 사용자의 등록일 표시
사용자 목록을 선택하면 사용자 상세 화면으로 이동합니다.
검색어 입력을 통해서 검색 기능을 사용할 수 있으며, 검색 조건은 사용자의 이름이나 사용자 Id를 이용해서 검색합니다.

제공하는 기능은 다음과 같습니다.
검색: 사용자가 입력한 검색어를 활용해서 사용자 이름 또는 Id로 검색
새로운 사용자 등록
새로운 사용자를 관리자가 등록합니다. 관리자 권한을 가지고 있는 사용자에게만 버튼이 활성화 됩니다.
사용자 정보 동기화
선택된 사용자에 대해서 관련된 시스템에 사용자 정보에 대한 동기화 요청을 실행합니다. 사용자 정보는 플랫폼의 마이크로 서비스(프로젝트, 스케줄, 클라우드 리소스 관리 등)에서 개별적으로 사용되고 있으며, 사용자에 대한 기본 정보를 개별 서비스에 제공하는데 활용됩니다.
사용자에 대한 일관성이 내부 시스템의 장애 등의 문제로 인해서 사용자 정보를 동기화할 필요가 있는 경우, 이를 실시간으로 동기화도록 기능을 제공합니다.
사용자의 상세 정보를 나타냅니다. 사용자 상세 정보는 아래와 같은 정보로 구성됩니다.
사용자 기본 정보
사용자 기본 정보인 이메일, 이름, 상태 및 권한 정보 제공
할당 자원 내역
사용자가 사용할 수 있는 기본 자원 할당 정보 및 사용자가 프로젝트를 통해서 생성한 테넌트 정보와 테넌트에 할당된 자원 할당량 정보를 제공
사용자 생성 그룹(들)
사용자 그룹 생성 및 생성한 그룹에 대한 접근 정보 제공
사용자 참여 그룹(들)
다른 사용자가 생성한 그룹 참여 신청 / 사용자가 생성한 그룹 참여 신청 내역 / 다른 사용자의 그룹 참여 신청 내역을 제공하고, 실제 참여한 그룹에 대한 접근 정보 제공

사용자 ID : 세렝게티 로그인 시 사용되는 아이디입니다.
암호 : 사용자 암호는 관리자인 경우, 별도로 입력하지 않으면 변경되지 않습니다. 암호는 강화된 보안 기능 적용을 위해서 아래와 같은 규칙으로 작성해야 합니다.
대소문자 구분 없이 영어 1글자 이상
다음의 특수 문자 중 1개 이상
!@#$%^&*()
숫자(0 ~ 9)가 최소 1개 이상
암호의 길이는 최소 8글자 이상
사용 언어 설정 : 사용자가 로그인을 했을 때 기본적으로 보여지는 언어를 설정합니다.
사용자 상태 : 사용자의 상태는 "활성화", "중지됨" 의 상태 정보를 가지고 있습니다.
사용자 권한 : 사용자의 권한을 설정합니다.
사용자 권한 정보는 복수개를 설정할 수 있으며 시스템 관리자 권한은 전체 시스템을 관리할 수 있으며, 그 외의 권한은 현재 별도 제한 없이 시스템에서 사용할 수 있습니다.
사용자에게 할당된 자원 할당량 정보 및 사용자가 프로젝트를 통해서 생성한 테넌트별 자원 할당 내역 정보를 제공합니다.
사용자의 테넌트는 아래와 같은 2가지 유형으로 제공됩니다.
User 테넌트
사용자 계정 생성 시 자동으로 생성되는 "default" 테넌트입니다.
Project 테넌트
사용자가 프로젝트를 생성하는 경우 자동 생성되며, 프로젝트 삭제 시 자동으로 삭제됩니다.
테넌트별 상세 정보는 아래와 같습니다.

사용자가 테넌트에 대한 자원 할당량 정보를 제공하며 기본으로 사용자의 기본 테넌트의 자원 사용량 정보를 제공합니다.
그래프로 제공되는 자원 사용량 정보는 사용자가 설정한 자원 할당량 대비 현재 사용되고 있는 사용량 정보를 표시합니다.
기본적으로는 사용자의 기본 테넌트 정보를 표시하며, 사용자가 "테넌트 상세 정보" 버튼을 클릭해서 선택한 테넌트의 사용량 정보를 표시합니다.

사용자 기본 정보로 이동하기 위해서는 위의 그림에서 박스로 표시되는 영역에 제공되는 네비게이션 버튼을 클릭해서 테넌트 정보를 조회할 수 있습니다.
테넌트 목록

사용자에 속한 테넌트 목록 정보를 제공합니다.
사용자의 테넌트는 2가지 타입으로 제공이 되며, User 타입의 테넌트는 사용자 계정 생성 시, 자동으로 생성이 되며 별도로 추가할 수 없습니다. Project 타입의 테넌트는 "서비스" 메뉴의 "프로젝트 관리" 기능을 통해서 생성 및 삭제가 이루어집니다.
테넌트 목록에서 제공하는 정보는 다음과 같습니다.
default 테넌트는 기본 테넌트이기 때문에 별도로 정보 조회 및 프로젝트와 연계된 버튼을 제공하지 않으며 default 테넌트에 표시되는 자원 사용량 정보는 사용자가 지정한 자원 할당량에서 프로젝트에 지정된 할당량을 제외한 나머지 용량을 할당량 정보로 제공하여 default 테넌트의 자원 사용량 정보를 표시합니다.
사용자가 만든 그룹 목록을 표시합니다.

위의 목록에서 선택한 그룹의 상세 정보를 표시합니다

다른 사용자로부터 승인되어 가입된 그룹의 정보를 표시합니다


관리자 권한을 가진 사용자는 새로운 사용자를 추가할 수 있습니다. 사용자 정보를 추가하는 경우, 기본 정보와 함께 사용자가 클라우드 자원을 할당할 수 있도록 기본 자원 사용량(쿼터) 정보를 등록해야 클라우드 자원 이용이 가능합니다.
사용자가 등록한 쿼터 정보 범위 내에서 필요한 클라우드 자원을 사용할 수 있습니다.

사용자 정보 등록 시, 입력되는 항목에 대한 설명은 다음과 같습니다.
사용자 정보 등록 시, 자원 사용량 정보를 설정하지 않은 경우, 시스템에서 제공하는 클라우드 자원 생성 요청을 할 수 없습니다.
사용자 삭제 기능은 플랫폼에 등록된 사용자 정보와 사용자와 관련된 모든 정보를 삭제합니다.
사용자 정보 삭제를 위해서는 사용자와 관련된 아래의 정보가 정리가 되어야 삭제가 가능하며, 해당하는 정보의 정리는 사용자에 의해서만 가능합니다.
삭제된 사용자 정보는 복구할 수 없기 때문에 주의하시기 바랍니다.
사용자 로그 이력을 확인할 수 있습니다.

시스템 관리자는 세렝게티에서 보여지는 메뉴를 관리할 수 있습니다.
해당하는 메뉴는 시스템 관리자 권한을 가지고 있는 사용자만 이용할 수 있습니다.
현재 등록된 메뉴의 전체 목록 정보를 보여줍니다.
제공되는 메뉴 정보를 검색하여 조회할 수 있도록 검색 기능 및 신규 메뉴을 등록할 수 있도록 기능을 제공합니다.
검색어를 입력하면 메뉴명 기준으로 검색된 목록을 제공하고 목록에서 특정 메뉴를 선택하면 해당하는 메뉴에 대한 상세 정보를 조회할 수 있습니다.

출력되는 정보는 다음과 같습니다.
현재 등록된 메뉴의 전체 목록을 트리 형태의 UI로 보여줍니다. 검색어를 통해서 등록된 메뉴를 검색할 수 있으며, 검색된 변수의 목록을 트리 형태로 제공합니다.

메뉴에 대한 상세 정보를 제공합니다.
메뉴에 대한 기본 정보, 메뉴명 및 접근 권한에 대한 정보를 관리합니다.



시스템 관리자는 세렝게티 시스템에서 사용되는 시스템 코드 값을 변경하거나 새로운 값을 추가할 수 있습니다.
시스템 코드는 상위 시스템 그룹 코드와 하위 시스템 코드로 구성되어 있으며, 관리되는 코드는 시스템에 영향을 줄 수 있는 값으로 시스템 공급사에서 가이드하는 값으로 설정을 합니다.
시스템 코드에 대한 기능은 관리자만 설정할 수 있습니다.


시스템 그룹 코드를 등록합니다.
그룹 코드는 코드의 집합을 정의합니다.

그룹 코드 등록에 사용되는 상세 정보는 2를 참고하시기 바랍니다.
시스템에 등록된 그룹코드를 선택하여 등록된 코드 정보를 조회, 수정 또는 삭제할 수 있으며, 필요한 경우 새로운 코드를 등록할 수 있습니다.

시스템 그룹 코드를 먼저 등록 후 '시스템 코드 추가' 버튼을 눌러 하위 시스템 코드를 추가 입력하여 저장합니다.
그룹 코드에 따른 상세 시스템 코드 정보를 입력합니다.

입력하는 상세 정보는 아래와 같습니다.
시스템 코드 상세 정보를 보거나 수정이 가능합니다.

수정하는 상세 정보는 2를 참조하시기 바랍니다.
그룹 코드에 따른 상세 코드 정보를 삭제합니다.

그룹 코드에 등록된 상세 코드를 선택합니다.
삭제하고자 하는 상세 코드를 선택한 후, 삭제 버튼을 눌러서 선택된 상세 코드를 삭제할 수 있습니다.
삭제된 코드는 복구할 수 없기 때문에, 삭제할 때 주의하시기 바랍니다.
등록된 그룹 코드를 선택하여 삭제합니다.
선택된 그룹 코드를 일괄로 삭제할 수 있습니다.

시스템 관리자는 세렝게티 시스템에서 사용하는 설정 값을 변경하거나 새로운 값을 추가할 수 있습니다.



시스템 관리자는 세렝게티 시스템 내부에서 사용되는 메일 서버 정보와 계정 및 첨부파일 저장 위치 값을 확인할 수 있습니다















이 섹션의 문서를 선택하세요.
시스템 관리자는 작업 템플릿 정보를 검색하고 새로운 작업 템플릿 등록을 위한 등록 화면으로 이동할 수 있다.

작업 템플릿 상세 정보는 사용자가 스케줄러에서 실행하기 위한 개별 작업에 대한 설정을 할 수 있는 템플릿을 설정할 수 있도록 관련 정보를 정의하고 설정하기 위한 기본 정보를 생성/관리합니다. 기본적으로 작업은 시스템에서 제공하는 작업주소를 실행하여 사용자에게 필요한 작업을 수행할 수 있도록 하는 기능으로, 이러한 작업을 효율적으로 하기 위해서는 작업주소 호출에 필요한 각종 정보를 사용자가 쉽게 설정할 수 있는 기능을 제공해야 한다.
이러한 기능을 제공하기 위해서 작업 템플릿 관리 화면에서는 작업주소 호출에 필요한 정보와 호출에 필요한 변수 값을 추가/삭제할 수 있도록 하고, 각 개별 변수에 대한 값을 설정하기 위한 기능들을 제공합니다.

작업 템플릿에 사용되는 주요 필드들에 대한 설명은 아래와 같습니다.
변수 설정은 작업 템플릿에서 활용되는 변수 값을 설정하는 기능을 제공합니다. 2 작업 템플릿 상세 화면에서는 작업 템플릿에 따른 변수 목록을 아래 화면과 같이 제공합니다.


시스템 관리자를 통해서 관리되는 변수는 개별 변수의 활성화 상태 및 사용자의 권한(Role)에 따라서 사용 범위를 제한할 수 있습니다. 물론 관리자에 의해서 필요에 따라서 추가적인 작업 템플릿용 변수를 생성/삭제할 수 있습니다.

변수 상세 정보는 다음과 같은 같이 두 부분으로 구성이 되어져 있습니다.
변수 기본 정보는 변수의 이름 및 타입에 대한 설명 정보를 관리합니다.

변수 상세 설정 정보는 변수 타입이 사용자 정의 타입인 경우, 해당하는 변수 값에 대한 처리를 위해서 필요한 정보를 설정합니다.

{
"columns": [{
"name": "id",
"key": "id",
"id": true
}, {
"name": "Name",
"key": "name",
"text": true
}, {
"name": "Version",
"key": "catalog.version"
}]
}
시스템에서 실행되는 테스크에서 호출되는 실행 작업주소 및 실행 완료에 따른 콜백 작업주소에 대한 설정 기능을 제공합니다. 리소스 테스크에 대한 설정 기능을 활용해서 리소스 카탈로그 및 인스턴스의 생성에 대한 기능을 워크플로우 기반으로 수행하도록 기능을 제공합니다.
해당하는 기능은 플랫폼 내부의 기능과 관련이 있기 때문에 플랫폼의 업그레이드 및 기능 변경에 따라서 개발사의 가이드에 따라서 정보를 변경해야 합니다.
시스템에 설정된 리소스 테스크 설정 목록을 검색하여 제공합니다. 검색 기능은 리소스 타입과 실행 타입을 기반으로 선택하여 목록으로 제공합니다.

리소스 테스크 설정에 대한 상세 정보를 설정합니다. 리소스 테스크는 3개 부분으로 정보 관리가 이루어지며 각각의 의미는 아래와 같습니다.

호출 작업주소에 대한 상세 정보를 설정합니다. 설정하는 정보는 아래와 같습니다.
호출 작업주소는 별도의 Body 정보 없이 실행이 이루어지며 정보에 대한 변경은 개발사의 가이드에 따라야 합니다.

콜백 작업주소에 대한 상세 정보를 설정합니다. 설정하는 정보는 아래와 같습니다.
콜백 작업주소는 별도의 Body 정보 없이 실행이 이루어지며 정보에 대한 변경은 개발사의 가이드에 따라야 합니다.

변수 관리 기능을 제공합니다. 개별 변수에서 설정하는 정보는 아래와 같습니다.
변수 이름은 호출 작업주소 및 콜백 작업주소의 작업주소에 설정된 값을 참조하여 설정되어야 하며, 변수 적용 타입이 "직접 입력"인 경우에는 반드시 변수 값을 입력해야 합니다. 변수 명이 설정되거나 변수 값이 입력되지 않으면 화면에서 밝은 붉은색으로 표시가 됩니다.(아래 화면 하단 참조)

빌링 단가 정보는 클라우드 사업자 또는 자체 클라우드(Private Cloud)에서 설정한 가격 정보에 대한 검색 및 관리를 위한 기능을 제공합니다.
다양한 클라우드의 가격을 비교할 수 있을 뿐만 아니라 자체 클라우드의 경우, 초기에 등록한 클라우드 가격에 대한 관리 기능을 제공합니다.
자체 클라우드는 JDC에서 사용하는 VMware 및 Kubernetes(K8s) 환경을 사용하여 세렝게티 플랫폼을 통해서 제공되는 클라우드 자원에 대한 가격 정보를 관리할 수 있습니다.
클라우드 가격 정보를 조회할 수 있는 클라우드 목록 정보를 제공합니다.
클라우드 목록은 사용자가 클라우드 자원 관리에서 등록한 클라우드 정보를 기준으로 등록할 수 있습니다.

클라우드 목록을 선택하면 빌링 상세 정보화면으로 이동할 수 있습니다.
클라우드 빌링 상세 정보는 선택한 클라우드에서 제공하는 클라우드 자원의 스펙(Offering)에 따른 가격 정보를 제공합니다.
클라우드 빌링 정보는 제공되는 클라우드 서비스의 리전 정보에 따라서 가격이 다를 수 있기 때문에, 클라우드별 리전을 선택해서 가격 정보를 조회할 수 있습니다.

클라우드 자원에 대한 가격 비교를 위해서는 화면 상단에 제공하는 클라우드 서비스를 선택하고 비교하고자 하는 리전을 선택하여 검색합니다.

위에서 선택한 결과에 따른 검색 결과를 보여줍니다.
검색을 위해서 CPU, 메모리 및 GPU 갯수에 따른 검색 기능을 활용할 수 있으며 마우스를 통해서 검색 기준에 해당하는 값을 선택하거나 구체적인 검색 조건을 입력할 수 있습니다.

자체 클라우드에 대해서는 가격 정보 검색을 통해서 가격 정보를 관리할 수 있습니다.
자체 클라우드 서비스에 대한 검색을 통해서 아래 화면과 같이 검색을 하면 검색된 목록의 마지막 항목에 가격 정보를 편집할 수 있는 편집 버튼을 제공합니다.


편집 버튼을 통해서 아래의 화면과 같이 가격 편집 창이 팝업으로 제공됩니다.

입력되는 가격 정보는 클라우드 자원 관리의 인스턴스 생성 시에 제공이 되며, 추후 해당하는 정보를 활용하여 마켓플레이스에서의 빌링 및 가격 시뮬레이션을 기초 데이터로 활용됩니다.
사용자가 등록한 클라우드 정보를 활용하여 클라우드 가격 정보를 초기화합니다.

클라우드 가격 정보는 각각의 클라우드 사업자에서 제공하는 정보와 세렝게티 플랫폼에서 초기에 설정한 자체 클라우드의 가격 정보를 초기 데이터로 활용합니다.
빌링 정보를 토대로 사용할 자원을 선택하여 예상되는 가격을 계산할 수 있습니다.


계산기를 사용하기 위해서는 첫 번째로 검색할 클라우드를 선택합니다. 전체 선택으로 전체에 대한 자원을 검색하실 수 있습니다.

다음으로 사용하실 오퍼링의 스펙을 적은 다음 검색 버튼을 누릅니다.

검색을 하게 되면 조건에 맞는 항목들이 나열하게 되고 리스트의 항목을 클릭하여 총 예상 요금을 확인합니다.
기간을 설정하여 현재 사용된 요금을 확인하실 수 있습니다.
