코드를 통해 OpenPages 서비스 인스턴스 생성하기
OpenPages 를 설치한 후에는 최소한 하나의 OpenPages 서비스 인스턴스를 생성해야 합니다. 각 서비스 인스턴스는 서로 다른 Red Hat®
OpenShift® Container Platform 프로젝트에 속해야 합니다. 서비스 인스턴스는 operands 프로젝트 내에서 또는 operands 프로젝트와 연결된 프로젝트에서 생성할 수 있습니다. 사용자라면 IBM® Software
Hub REST /v3/service_instances API 호출을 통해 프로그래밍 방식으로 서비스 인스턴스를 생성할 수 있습니다.
- 누가 이 작업을 완료해야 합니까?
- REST API
/v3/service_instances호출을 사용하여 프로그래밍 방식으로 서비스 인스턴스를 생성하려면, 에서 Create service instances IBM Software Hub (can_provision) 권한이 있어야 합니다.
- 이 작업을 언제까지 완료해야 하나요?
- REST API
/v3/service_instances호출을 사용하여 프로그래밍 방식으로 서비스 인스턴스를 생성하려는 경우에만 이 작업을 수행하십시오.
서비스 인스턴스를 생성하는 다른 방법
- 웹 클라이언트에서. 자세한 내용은 웹 클라이언트에서 ‘ OpenPages ’ 서비스 인스턴스 만들기를 참조하십시오.
- 명령을
cpd-cli service-instance create사용하여. 자세한 내용은 cpd-cli service-instance create 명령어를 사용하여 OpenPages 용 서비스 인스턴스를 생성하는 방법을 참조하십시오.
이 태스크를 완료하는 데 필요한 정보
OpenPages 용 서비스 인스턴스를 생성하기 전에 다음 정보를 확인하십시오:
- 버전 요구사항
인스턴스와 관련된 모든 구성 요소는 동일한 IBM Software Hub 릴리스에서 설치되거나 생성되어야 합니다. 예를 들어, OpenPages 가 버전 5.3.1 으로 설치된 경우, 서비스 인스턴스는 버전 5.3.1 으로 생성해야 합니다.
중요: OpenPages 는. IBM Software Hub와 다른 버전 번호를 사용합니다. 이 항목에는 각 갱신 시의 IBM Software Hub. OpenPages 버전을 보여주는 표가 포함되어 있습니다. 이 표를 참고하여 설치된 IBM Software Hub 버전에 맞는 올바른 버전을 확인하십시오.
- 환경 변수
이 작업에 포함된 명령어는 환경 변수를 사용하므로, 명령어를 작성된 그대로 실행할 수 있습니다.
- 환경 변수를 정의하는 스크립트가 없다면, ‘설치 환경 변수 설정’을 참조하십시오.
- 스크립트의 환경 변수를 사용하려면, 이 작업의 명령을 실행하기 전에 환경 변수를 불러와야 합니다. 예를 들면, 다음을 실행하십시오.
source ./cpd_vars.sh
시작하기 전에
이 작업은 다음의 전제 조건이 충족된다고 가정합니다:
| 필수 소프트웨어 | 자세한 정보를 찾을 위치 |
|---|---|
| OpenPages 설치되어 있습니다. | 이 작업이 완료되지 않았다면, ‘ OpenPages 설치’를 참조하십시오. |
| API 키를 생성하셨습니다. API 키는 에서 '서비스 IBM Software
Hub인스턴스 생성 ( |
이 작업이 완료되지 않았다면, ‘API 인증 토큰 생성’을 참조하십시오. |
| 임베디드 Db2 데이터베이스를 사용 중이며 제한된 권한으로 Db2 실행하려면 다음을 구성하십시오 Db2. | “ Db2U 의 실행 권한 지정”을 참조하십시오. |
| 배치에서 외부 데이터베이스를 사용 중인 경우 데이터베이스가 준비되었는지 확인하십시오. | 다음 작업들을 확인해 주세요.
|
| 클러스터 관리자에게 필요한 정보가 있는지 확인하십시오. | “ OpenPages 인스턴스 프로비저닝 준비”를 참조하십시오. |
| OpenPages 를 [대상 시스템]과 통합하려면 Cognos
Analytics, [ Cognos
Analytics 인스턴스]가 프로비저닝되어 실행 중인지 확인하십시오. 참고: OpenPages 의 프로비저닝 과정에서 가 다시 Cognos
Analytics 시작됩니다.
|
Cognos Analytics 용 서비스 인스턴스 생성 |
프로시저
서비스 인스턴스를 생성하려면 다음 작업을 완료하십시오:
서비스 인스턴스 작성
서비스 인스턴스를 작성하려면 다음을 수행하십시오.
- 서비스 인스턴스 페이로드를 정의하는 JSON 파일을 생성할 워크스테이션의 디렉터리로 이동하십시오.
- 서비스 인스턴스의 JSON 페이로드를 구성하는 데 사용되는 환경 변수를 설정합니다:
- 서비스 인스턴스의 표시 이름으로 사용할 고유한 이름을 환경
INSTANCE_NAME변수에 설정하십시오:export INSTANCE_NAME="<display-name>"이 이름은 웹 IBM Software Hub 클라이언트의 ‘인스턴스’ 페이지에 표시됩니다.
표시 이름은
string이며, 영문자와 숫자(a-z, A-Z, 0-9), 공백( ), 하이픈(-), 밑줄(_), 마침표(.)를 포함할 수 있습니다. 앞의export명령어에서 보여준 것처럼 표시 이름을 반드시 따옴표로 묶어야 합니다. - 클러스터에 IBM Software
Hub 설치된 의 버전과 일치하는 버전으로 환경
INSTANCE_VERSION변수를 설정하십시오:export INSTANCE_VERSION=<version>다음 표를 참고하여 적절한 값을 결정하십시오:
IBM Software Hub버전 서비스 인스턴스 버전 5.3.1 9.7.0 5.3.0 9.6.0 - 환경
INSTANCE_SIZE변수를 설정하십시오. 크기에 따라 서비스 인스턴스에 할당되는 리소스가 결정됩니다.export INSTANCE_SIZE=<size>유효값은 다음과 같습니다.small_mincpureqxsmallsmallmediumlarge
각 크기와 관련된 리소스에 대한 자세한 내용은 구성 요소 크기 조정 가이드 PDF 를 참조하십시오. IBM Entitled Registry이 문서는 에서 다운로드할 수 있습니다.
- 서비스 인스턴스를 전역 검색과 통합할지 여부에 따라 환경
GLOBAL_SEARCH변수를 설정하십시오.전역 검색은 고급 텍스트 처리 기술과 분석 기법을 활용하여 모든 객체 유형을 대상으로 검색어를 포함한 관련 레코드를 찾아냅니다.
export GLOBAL_SEARCH=<boolean>- 서비스 인스턴스를 전체 검색과 연동하려면 true 다음을 지정하십시오.
- 서비스 인스턴스의 전역 검색을 통합하지 않으려면 이 false 옵션을 지정하십시오.
- 서비스 인스턴스를 해당 Cognos
Analytics 서비스와 통합할지 여부에 따라 환경
COGNOS_INTEGRATION변수를 설정하십시오:export COGNOS_INTEGRATION=<boolean>- 서비스 인스턴스를 와 통합하려면 Cognos Analytics 을 true 지정하십시오.
- 서비스 인스턴스를 와 통합하지 않으려면 이 Cognos Analytics 옵션을 false 지정하십시오.
- 외부 데이터베이스를 사용할지, 아니면 자동으로 프로비저닝된 데이터베이스를 사용할지에 따라 적절한 환경 변수를 지정하십시오:
- 외부 데이터베이스를 사용하십시오
- 연결하려는 데이터베이스의 유형에 따라 환경
DATABASE_PROVIDER변수를 적절한 값으로 설정하십시오:- Db2
export DATABASE_PROVIDER=Db2- Oracle
export DATABASE_PROVIDER=Oracle
- 데이터베이스 자격 증명이 포함된 시크릿의 이름을 환경
DATABASE_SECRET_NAME변수로 설정하십시오:export DATABASE_SECRET_NAME=<secret_name> - 서비스 인스턴스를 생성하려는 프로젝트의 환경
INSTANCE_PROJECT변수를 설정하십시오.
operands 프로젝트에 서비스 인스턴스를 생성합니다
export INSTANCE_PROJECT=${PROJECT_CPD_INST_OPERANDS}
테더링된 프로젝트에서 서비스 인스턴스를 생성합니다
중요: 이 인스턴스에 여러 개의 테더링된 IBM Software Hub프로젝트가 연결되어 있는 경우,export명령어를 실행하기 전에 환경${PROJECT_CPD_INSTANCE_TETHERED}변수가 올바른 프로젝트 이름으로 설정되어 있는지 확인하십시오:echo $PROJECT_CPD_INSTANCE_TETHEREDexport INSTANCE_PROJECT=${PROJECT_CPD_INSTANCE_TETHERED}
참고: 각 프로젝트에서는 서비스 인스턴스를 하나만 생성할 수 있습니다.
- 연결하려는 데이터베이스의 유형에 따라 환경
- 자동으로 프로비저닝된 데이터베이스를 사용하세요
- 데이터베이스를 전용 노드에서 실행할지 여부에 따라 환경
DEDICATED_NODE변수를 설정하십시오.export DEDICATED_NODE=<boolean>- 데이터베이스를 전용 노드에서 실행하도록 true 지정합니다.
- 다른 파드가 실행 중인 노드에서 데이터베이스를 실행하도록 false 지정합니다.
- 사용 중인 환경에 적합한 값으로 환경
NODE_LABEL변수를 설정하십시오:- 환경
NODE_LABEL변수를 로 설정하면 다음을 false 설정하십시오:export NODE_LABEL="" - 환경
NODE_LABEL변수를 로 true 설정했지만 노드 레이블을 사용하지 않는 경우, 다음을 설정하십시오:export NODE_LABEL=""이 데이터베이스는 사용 가능한 모든 노드에서 실행됩니다.
- 환경
NODE_LABEL변수를 로 true 설정하고 특정 노드에서 데이터베이스를 실행하려면 다음을 설정하십시오:export NODE_LABEL=<node-label>동일한 레이블을 가진 노드가 여러 개 있는 경우, 데이터베이스는 지정된 레이블을 가진 노드 중 하나에서 실행됩니다.
- 환경
- 보안 컨텍스트 제약
restricted-v2조건(SCC)을 적용하여 자동 프로비저닝된 데이터베이스를 실행할지 여부에 따라 환경RESTRICTED_V2_SCC변수를 설정하십시오.- SCC를
restricted-v2사용하려면 다음을 설정하십시오:export RESTRICTED_V2_SCC=true중요: 이 옵션은 테더링된 프로젝트에서 서비스 인스턴스를 생성하고 클러스터 관리자가 프로젝트에 필요한 어노테이션을 추가한 경우에만 사용할 수 있습니다.클러스터에 접속할 수 있다면 다음 명령을 실행하여 테더링된 프로젝트의 어노테이션을 확인할 수 있습니다:oc describe project ${INSTANCE_PROJECT}이 프로젝트에는 다음 주석이 포함되어야 합니다:
openshift.io/sa.scc.supplemental-groups=1001000000/10000 openshift.io/sa.scc.uid-range=1001000000/10000 openshift.io/sa.scc.mcs=s0:c27,c512 - 기본 SCC를 사용하려면 다음을 설정하십시오:
export RESTRICTED_V2_SCC=false
- SCC를
- 데이터베이스를 전용 노드에서 실행할지 여부에 따라 환경
- 서비스 인스턴스의 표시 이름으로 사용할 고유한 이름을 환경
- 페이로드
openpages-instance.json파일을 생성합니다.실행할 명령어는 외부 데이터베이스를 사용할지 내부 데이터베이스를 사용할지에 따라 달라집니다.
외부 데이터베이스를 사용하십시오
cat << EOF > ./openpages-instance.json{ "display_name": "${INSTANCE_NAME}", "namespace": "${INSTANCE_PROJECT}", "addon_version": "${INSTANCE_VERSION}", "addon_type": "openpages", "create_arguments": { "metadata": { "databaseType": "external", "database": "${DATABASE_PROVIDER}", "dbSecretName": "${DATABASE_SECRET_NAME}", "blockStorageClass": "", "fileStorageClass": "${STG_CLASS_FILE}", "enableGlobalSearch": ${GLOBAL_SEARCH}, "enableIntegrationWithCognos": ${COGNOS_INTEGRATION}, "scaleConfig": "${INSTANCE_SIZE}" } }, } EOF다음 환경 변수들은 설치 환경 변수 스크립트에 이미 정의된 값을 사용합니다:${STG_CLASS_FILE}
자동으로 프로비저닝되고 통합된 데이터베이스를 사용하세요
클러스터의 스토리지 유형에 따라 적절한 명령어를 실행하십시오.
- 다음 항목을 제외한 모든 저장 공간 Portworx
cat << EOF > ./openpages-instance.json{ "display_name": "${INSTANCE_NAME}", "namespace": "${PROJECT_CPD_INST_OPERANDS}", "addon_version": "${INSTANCE_VERSION}", "addon_type": "openpages", "create_arguments": { "metadata": { "databaseType": "internal", "database": "Db2", "enableRestrictedV2SCCForDb2": ${RESTRICTED_V2_SCC}, "dedicatedDbNodes": ${DEDICATED_NODE}, "dbNodeLabelValue": "${NODE_LABEL}", "dbDataStorageClass": "${STG_CLASS_BLOCK}", "dbMetaStorageClass": "${STG_CLASS_FILE}", "dbBackupStorageClass": "${STG_CLASS_FILE}", "appStorageClass": "${STG_CLASS_FILE}",, "enableGlobalSearch": ${GLOBAL_SEARCH}, "enableIntegrationWithCognos": ${COGNOS_INTEGRATION}, "scaleConfig": "${INSTANCE_SIZE}" } } } EOF다음 환경 변수들은 설치 환경 변수 스크립트에 이미 정의된 값을 사용합니다:${PROJECT_CPD_INST_OPERANDS}${STG_CLASS_BLOCK}${STG_CLASS_FILE}
- Portworx 스토리지
cat << EOF > ./openpages-instance.json{ "display_name": "${INSTANCE_NAME}", "namespace": "${PROJECT_CPD_INST_OPERANDS}", "addon_version": "${INSTANCE_VERSION}", "addon_type": "openpages", "create_arguments": { "metadata": { "databaseType": "internal", "database": "Db2", "enableRestrictedV2SCCForDb2": ${RESTRICTED_V2_SCC}, "dedicatedDbNodes": ${DEDICATED_NODE}, "dbNodeLabelValue": "${NODE_LABEL}", "dbDataStorageClass": "portworx-db2-rwo-sc", "dbMetaStorageClass": "portworx-db2-rwx-sc", "dbBackupStorageClass": "portworx-db2-rwx-sc", "appStorageClass": "portworx-shared-gp3",, "enableGlobalSearch": ${GLOBAL_SEARCH}, "enableIntegrationWithCognos": ${COGNOS_INTEGRATION}, "scaleConfig": "${INSTANCE_SIZE}" } } } EOF다음 환경 변수들은 설치 환경 변수 스크립트에 이미 정의된 값을 사용합니다:${PROJECT_CPD_INST_OPERANDS}
다음 환경 변수들은 설치 환경 변수 스크립트에 이미 정의된 값을 사용합니다:${PROJECT_CPD_INST_OPERANDS}${STG_CLASS_FILE}
- 작업station에 있는 JSON 페이로드 파일의 전체 경로를 환경
PAYLOAD_FILE변수에 설정하십시오:export PAYLOAD_FILE=<fully-qualified-JSON-file-name> - 서비스 인스턴스를 생성하려는 IBM Software
Hub 인스턴스에 연결하는 데 사용되는 환경 변수를 설정하십시오:
- 다음 환경
CPD_ROUTE변수를 설정하십시오:export CPD_ROUTE=$(oc get route cpd -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath={".spec.host"})이 명령어는 설치 환경 변수 스크립트에 이미 정의되어 있는 변수를
PROJECT_CPD_INST_OPERANDS사용합니다. - 생성한 API 키를 환경
API_KEY변수에 설정하세요:export API_KEY=<your_api_key>
- 다음 환경
- 페이로드 파일을 사용하여 서비스 인스턴스를 생성합니다.
실행할 명령어는 서비스 인스턴스를 생성하려는 IBM Software Hub 인스턴스가 자체 서명된 인증서를 사용하는지, 아니면 신뢰할 수 있는 인증 기관(CA)에서 서명한 인증서를 사용하는지에 따라 달라집니다.
이 인스턴스는 신뢰할 수 있는 인증 기관에서 서명한 인증서를 사용합니다
curl --request POST \ --url "https://${CPD_ROUTE}/zen-data/v3/service_instances" \ --header "Authorization: ZenApiKey ${API_KEY}" \ --header 'Content-Type: application/json' \ --data @${PAYLOAD_FILE}
이 인스턴스는 자체 서명된 인증서를 사용합니다(기본값)
curl -k --request POST \ --url "https://${CPD_ROUTE}/zen-data/v3/service_instances" \ --header "Authorization: ZenApiKey ${API_KEY}" \ --header 'Content-Type: application/json' \ --data @${PAYLOAD_FILE}
요청이 성공하면, 이 명령은 다음 중 하나의 응답 코드 HTTP 를 반환합니다:- 200 - 요청이 성공적으로 완료되었으며 서비스 인스턴스가 프로비저닝되었습니다.
- 202 - 요청이 성공적으로 전송되었습니다. 서비스 인스턴스가 프로비저닝 중입니다.
요청이 성공하지 못한 경우, HTTP 응답 코드를 사용하여 원인을 확인하십시오.
서비스 인스턴스가 생성되었는지 확인
서비스 인스턴스가 생성되었는지 확인하려면:
- cURL
POST명령어가 반환한 ID로 환경INSTANCE_ID변수를 설정하십시오:export INSTANCE_ID=<ID-from-response> - 서비스 인스턴스의 상태를 확인합니다.
실행할 명령어는 서비스 인스턴스를 생성하려는 IBM Software Hub 인스턴스가 자체 서명된 인증서를 사용하는지, 아니면 신뢰할 수 있는 인증 기관(CA)에서 서명한 인증서를 사용하는지에 따라 달라집니다.
이 인스턴스는 신뢰할 수 있는 인증 기관에서 서명한 인증서를 사용합니다
curl --request GET \ --url "https://${CPD_ROUTE}/zen-data/v3/service_instances/${INSTANCE_ID}" \ --header "Authorization: ZenApiKey ${API_KEY}" \ --header 'Content-Type: application/json'
이 인스턴스는 자체 서명된 인증서를 사용합니다(기본값)
curl -k --request GET \ --url "https://${CPD_ROUTE}/zen-data/v3/service_instances/${INSTANCE_ID}" \ --header "Authorization: ZenApiKey ${API_KEY}" \ --header 'Content-Type: application/json'
- 요청이 성공하면, 이 명령어는 다음의 HTTP 응답 코드( 200 )를 반환합니다JSON 응답에서 해당
provision_status매개변수를 찾으세요.- 값이 인 경우
PROVISIONED, 서비스 인스턴스가 성공적으로 생성되었습니다. - 값이 이라면
PROVISION_IN_PROGRESS, 몇 분 정도 기다렸다가 명령을 다시 실행하십시오. - 값이 인 경우
FAILED, 및zen-watcherzen-core-api포드의 로그를 검토하여 원인을 파악하십시오.
- 값이 인 경우
- 요청이 성공하지 못한 경우, HTTP 응답 코드를 사용하여 원인을 확인하십시오.
- 요청이 성공하면, 이 명령어는 다음의 HTTP 응답 코드( 200 )를 반환합니다
다음에 수행할 작업
인스턴스를 프로비저닝한 후에는 사용자가 OpenPages 을 사용하기 전에 몇 가지 설치 후 작업을 수행해야 합니다.