프로그래밍 OpenPages 방식으로 서비스 인스턴스 생성
설치 OpenPages 후에는 최소한 하나의 OpenPages 서비스 인스턴스를 생성해야 합니다. 각 서비스 인스턴스는 서로 다른 Red Hat®
OpenShift® Container Platform 프로젝트에 있어야 합니다. 서비스 인스턴스는 operands 프로젝트 내에서 또는 operands 프로젝트에 연결된 프로젝트에서 생성할 수 있습니다. 사용자라면 IBM® Software
Hub REST /v3/service_instances API 호출을 사용하여 프로그래밍 방식으로 서비스 인스턴스를 생성할 수 있습니다.
- 누가 이 작업을 완료해야 합니까?
- REST API
/v3/service_instances호출을 사용하여 프로그래밍 방식으로 서비스 인스턴스를 생성하려면, 에서 '서비스 인스턴스 생성 (can_provision) IBM Software Hub' 권한이 있어야 합니다.
- 이 작업을 언제까지 완료해야 합니까?
- 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 사용합니다. 이 항목에는 의 각 업데이트 버전을 OpenPages 보여주는 IBM Software Hub 표가 포함되어 있습니다. 설치된 IBM Software Hub 버전에 따라 올바른 버전을 찾으려면 이 표를 사용하십시오.
- 환경 변수
이 작업의 명령어는 환경 변수를 사용하므로, 작성된 그대로 정확히 실행할 수 있습니다.
- 환경 변수를 정의하는 스크립트가 없는 경우, 설치 환경 변수 설정을 참조하십시오.
- 스크립트에서 환경 변수를 사용하려면, 이 작업의 명령어를 실행하기 전에 환경 변수를 소스 처리해야 합니다. 예를 들면, 다음을 실행하십시오.
source ./cpd_vars.sh
시작하기 전에
이 작업은 다음의 전제 조건이 충족된다는 것을 가정합니다:
| 필수 소프트웨어 | 자세한 정보를 찾을 위치 |
|---|---|
| OpenPages 설치되어 있습니다. | 이 작업이 완료되지 않은 경우, ' OpenPages 설치'를 참조하십시오. |
| API 키를 생성했습니다. API 키는 에서 서비스 인스턴스 생성 ( |
이 작업이 완료되지 않은 경우, 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>- 서비스 인스턴스를 와 통합하도록 trueCognos Analytics 지정하십시오.
- 서비스 인스턴스를 통합하지 않으려면 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변수를 설정하십시오.
오퍼랜즈 프로젝트에서 서비스 인스턴스를 생성하십시오
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}
- 워크스테이션에서 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_KEY변수를 생성한 API 키로 설정하십시오:export API_KEY=<your_api_key>
- 환경
- 페이로드 파일로부터 서비스 인스턴스를 생성합니다.
서비스 인스턴스를 생성하려는 IBM Software Hub 인스턴스가 자체 서명된 인증서를 사용하는지, 신뢰할 수 있는 인증 기관에서 서명한 인증서를 사용하는지에 따라 실행하는 명령이 달라집니다.
해당 인스턴스는 신뢰할 수 있는 인증 기관이 서명한 인증서를 사용합니다
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 코드를 사용하여 원인을 확인하십시오.
서비스 인스턴스가 생성되었는지 확인
서비스 인스턴스가 생성되었는지 확인하려면:
- 환경
INSTANCE_ID변수를 명령어가POSTcURL 반환한 ID로 설정하십시오:export INSTANCE_ID=<ID-from-response> - 서비스 인스턴스의 상태를 확인합니다.
서비스 인스턴스를 생성하려는 IBM Software Hub 인스턴스가 자체 서명된 인증서를 사용하는지, 신뢰할 수 있는 인증 기관에서 서명한 인증서를 사용하는지에 따라 실행하는 명령이 달라집니다.
해당 인스턴스는 신뢰할 수 있는 인증 기관이 서명한 인증서를 사용합니다
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 응답 코드를 반환합니다: 200JSON 응답에서
provision_status매개변수를 찾으십시오.- 값이 인 경우
PROVISIONED, 서비스 인스턴스가 성공적으로 생성되었습니다. - 값이 인 경우
PROVISION_IN_PROGRESS, 몇 분간 기다린 후 명령어를 다시 실행하십시오. - 값이 인 경우
FAILED, 및zen-watcherzen-core-api포드의 로그를 검토하여 가능한 원인을 확인하십시오.
- 값이 인 경우
- 요청이 성공하지 못한 경우, 응답 HTTP 코드를 사용하여 원인을 확인하십시오.
- 요청이 성공한 경우, 명령어는 다음 HTTP 응답 코드를 반환합니다: 200
다음에 수행할 작업
인스턴스를 프로비저닝한 후에는 사용자가 사용하기 전에 몇 가지 설치 후 OpenPages 작업을 수행해야 합니다.