프로그래밍 Cognos Analytics 방식으로 서비스 인스턴스 생성

설치 Cognos Analytics 후에는 최소한 하나의 Cognos Analytics 서비스 인스턴스를 생성해야 합니다. 각 서비스 인스턴스는 서로 다른 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 호출을 사용하여 프로그래밍 방식으로 서비스 인스턴스를 생성하려는 경우에만 이 작업을 완료하십시오.
서비스 인스턴스 생성 대체 방법

이 태스크를 완료하는 데 필요한 정보

다음 정보를 검토한 후 서비스 인스턴스를 생성하십시오 Cognos Analytics :

버전 요구사항

의 인스턴스와 연관된 모든 구성 요소는 동일한 IBM Software Hub 릴리스에서 설치되거나 생성되어야 합니다. 예를 들어, 가 버전 으로 Cognos Analytics 5.3.1 설치된 경우, 서비스 인스턴스를 버전 으로 5.3.1 생성해야 합니다.

중요: 는 다른 버전 Cognos Analytics 번호를 IBM Software Hub 사용합니다. 이 항목에는 의 각 업데이트 버전을 Cognos Analytics 보여주는 IBM Software Hub 표가 포함되어 있습니다. 설치된 IBM Software Hub 버전에 따라 올바른 버전을 찾으려면 이 표를 사용하십시오.
환경 변수

이 작업의 명령어는 환경 변수를 사용하므로, 작성된 그대로 정확히 실행할 수 있습니다.

  • 환경 변수를 정의하는 스크립트가 없는 경우, 설치 환경 변수 설정을 참조하십시오.
  • 스크립트에서 환경 변수를 사용하려면, 이 작업의 명령어를 실행하기 전에 환경 변수를 소스 처리해야 합니다. 예를 들면, 다음을 실행하십시오.
    source ./cpd_vars.sh

시작하기 전에

이 작업은 다음의 전제 조건이 충족된다는 것을 가정합니다:

필수 소프트웨어 자세한 정보를 찾을 위치
Cognos Analytics 설치되어 있습니다. 이 작업이 완료되지 않은 경우, 설치를 참조하십시오 Cognos Analytics.
명령줄 cpd-cli 인터페이스는 서비스 인스턴스를 생성할 워크스테이션에 설치됩니다. 이 작업이 완료되지 않은 경우, 클라이언트 워크스테이션 설정을 참조하십시오.
API 키 또는 인증 토큰을 생성했습니다

API 키 또는 토큰은 에서 '서비스 Cloud Pak for Data인스턴스 생성(can_provision)' 권한을 가진 사용자와 연결되어야 합니다.

이 작업이 완료되지 않은 경우, API 인증 토큰 생성을 참조하십시오.
콘텐츠 저장소가 구성되었습니다. 감사 콘텐츠를 위해 콘텐츠 저장소를 사용할 수도 있습니다.
중요: 인스턴스를 프로비저닝할 때 콘텐츠 저장소와 동일한 IAM 모드를 사용해야 합니다.
이 작업이 완료되지 않은 경우, Cognos Analytics 용 콘텐츠 저장소 구성을 참조하십시오.

선택한 계획 크기에 대해 충분한 자원이 있어야 합니다. 충분한 자원이 없는 경우 인스턴스를 작성할 수 없습니다.

다음 표를 사용하여 인스턴스를 작성할 때 사용할 크기를 결정하십시오. 테이블의 정보는 Cognos Analytics 인스턴스를 구성하는 모든 팟(Pod)에 필요한 총 자원을 나타냅니다. 자원은 클러스터의 노드에 분배될 수 있습니다. 그러나 노드에는 팟(Pod)을 실행할 수 있는 충분한 용량이 있어야 합니다.
참고: 메모리 및 저장 공간 요구 사항은 기가바이트(Gi)와 기가바이트(GB) 단위로 모두 제공됩니다. GB 단위의 값은 다음 정수로 올림 처리됩니다.
플랜 크기 최소 필수 자원 최대 필수 자원 가장 큰 팟(Pod)
고정된 최소 클러스터 전체에서 최소한 다음과 같은 작업을 수행해야 합니다.
  • 코어: 10
  • 메모리: 40 기가바이트 (약 42 GB)
  • 스토리지: 2.2Gi(대략 2.4GB)
  • 일시 저장 공간: 26 기가바이트 (약 28 기가바이트)
해당 인스턴스는 최대:
  • 코어: 10
  • 메모리: 40 기가바이트 (약 42 GB)
  • 스토리지: 2.2Gi(대략 2.4GB)
  • 일시 저장 공간: 26 기가바이트 (약 28 기가바이트)
가장 큰 팟(Pod)은 다음을 수행해야 합니다.
  • 코어: 2.6
  • 메모리: 13 기가바이트 (약 14 GB)
xsmall 클러스터 전체에서 최소한 다음과 같은 작업을 수행해야 합니다.
  • 코어: 9.4
  • 메모리: 38.5 Gi (약 41 GB)
  • 스토리지: 2.2Gi(대략 2.4GB)
  • 일시적 저장소: 26.6 기 (약 28.6 GB)
해당 인스턴스는 최대:
  • 코어: 16
  • 메모리: 72.9 Gi (약 78 GB)
  • 스토리지: 2.2Gi(대략 2.4GB)
  • 일시적 저장소: 42.2 기 (약 45.3 GB)
가장 큰 팟(Pod)은 다음을 수행해야 합니다.
  • 코어: 2.6
  • 메모리: 13 기가바이트 (약 14 GB)
소형 또는 최소한의 예약된 CPU 리소스를 가진 소형 클러스터 전체에서 최소한 다음과 같은 작업을 수행해야 합니다.
  • 코어: 9.4
  • 메모리: 40.5 Gi (약 43 GB)
  • 스토리지: 2.2Gi(대략 2.4GB)
  • 일시적 저장소: 26.6 기 (약 28.6 GB)
해당 인스턴스는 최대:
  • 코어: 16
  • 메모리: 76.9 Gi (약 82.5 GB)
  • 스토리지: 2.2Gi(대략 2.4GB)
  • 일시적 저장소: 42.2 기 (약 45.3 GB)
가장 큰 팟(Pod)은 다음을 수행해야 합니다.
  • 코어: 2.6
  • 메모리: 13 기가바이트 (약 14 GB)
중간 클러스터 전체에서 최소한 다음과 같은 작업을 수행해야 합니다.
  • 코어: 24
  • 메모리: 78.9 Gi (약 84.7 GB)
  • 스토리지: 4.2Gi(대략 4.5GB)
  • 일시적 저장소: 21.6 기 (약 23GB)
해당 인스턴스는 최대:
  • 코어: 31.4
  • 메모리: 103.2 Gi (약 110.8 GB)
  • 스토리지: 4.2Gi(대략 4.5GB)
  • 일시적 저장소: 52.6 기 (약 56.5 GB)
가장 큰 팟(Pod)은 다음을 수행해야 합니다.
  • 코어: 3.6
  • 메모리: 13 기가바이트 (약 14 GB)
대형 클러스터 전체에서 최소한 다음과 같은 작업을 수행해야 합니다.
  • 코어: 30
  • 메모리: 80.4 Gi (약 86.3 GB)
  • 스토리지: 8.2Gi(대략 8.8GB)
  • 일시적 저장소: 72.2 기 (약 77.5 GB)
해당 인스턴스는 최대:
  • 코어: 53
  • 메모리: 141.6 Gi (약 152 GB)
  • 스토리지: 8.2Gi(대략 8.8GB)
  • 일시적 저장소: 118.2 기 (약 126.9 GB)
가장 큰 팟(Pod)은 다음을 수행해야 합니다.
  • 코어: 4.6
  • 메모리: 13 기가바이트 (약 14 GB)

프로시저

서비스 인스턴스를 생성하려면 다음 작업을 완료하십시오:

  1. 서비스 인스턴스 생성
  2. 서비스 인스턴스가 생성되었는지 확인
  3. 다음에 무엇을 해야 할까

서비스 인스턴스 작성

서비스 인스턴스를 작성하려면 다음을 수행하십시오.

  1. 서비스 인스턴스 페이로드를 정의하는 JSON 파일을 생성하려는 워크스테이션의 디렉터리로 이동하십시오.
  2. 서비스 인스턴스의 JSON 페이로드에 사용될 환경 변수를 설정합니다:
    1. 서비스 인스턴스의 표시 이름으로 사용할 고유한 이름을 환경 INSTANCE_NAME 변수로 설정하십시오:
      export INSTANCE_NAME="<display-name>"

      이 이름은 웹 IBM Software Hub 클라이언트의 인스턴스 페이지에 표시됩니다.

      표시 이름은 string 이며 영숫자(a-z, A-Z, 0-9), 공백( ), 대시(-), 밑줄(_), 마침표(.)를 포함할 수 있습니다. 앞서 보여준 export 명령어에서와 같이 표시 이름을 따옴표로 묶어야 합니다.

    2. 서비스 인스턴스에 사용할 설명으로 환경 INSTANCE_DESCRIPTION 변수를 설정하십시오:
      export INSTANCE_DESCRIPTION="<description>"

      이 설명은 웹 IBM Software Hub 클라이언트의 인스턴스 페이지에 표시됩니다.

      설명은 string 이며 영숫자, 공백, 대시, 밑줄, 마침표를 포함할 수 있습니다. 디스플레이 이름을 따옴표로 묶어야 합니다. 앞의 export 명령어에서 보여준 대로입니다.

    3. 클러스터의 IBM Software Hub 버전과 일치하는 버전으로 환경 INSTANCE_VERSION 변수를 설정하십시오:
      export INSTANCE_VERSION=<version>

      다음 표를 사용하여 적절한 값을 결정하십시오:

      IBM Software Hub버전 서비스 인스턴스 버전
      5.3.1 29.1.0
      5.3.0 29.0.0
    4. 서비스 인스턴스를 생성하려는 프로젝트를 선택하십시오 INSTANCE_PROJECT :
      오퍼랜즈 프로젝트에서 서비스 인스턴스를 생성하십시오
      export INSTANCE_PROJECT=${PROJECT_CPD_INST_OPERANDS}

      이 명령어는 설치 환경 변수 스크립트에 이미 정의된 변수를 PROJECT_CPD_INST_OPERANDS 사용합니다.


      테더링된 프로젝트에서 서비스 인스턴스를 생성합니다
      중요: 이 인스턴스에 연결된 프로젝트가 IBM Software Hub 여러 개인 경우, 명령어를 export 실행하기 전에 환경 ${PROJECT_CPD_INSTANCE_TETHERED} 변수가 올바른 프로젝트 이름으로 설정되어 있는지 확인하십시오:
      echo $PROJECT_CPD_INSTANCE_TETHERED
      export INSTANCE_PROJECT=${PROJECT_CPD_INSTANCE_TETHERED}

      기억하세요: 각 프로젝트에는 하나의 서비스 인스턴스만 생성할 수 있습니다.
    5. 서비스 인스턴스의 콘텐츠 저장소에 연결하기 위해 생성한 플랫폼 연결의 이름으로 환경 CONTENT_STORE_CONNECTION_NAME 변수를 설정하십시오.
      export CONTENT_STORE_CONNECTION_NAME=<connection-display-name>
    6. 콘텐츠 저장소에 연결하기 위해 추가 속성을 지정해야 하는지 여부에 JDBC 따라 환경 CONTENT_STORE_CONNECTION_PROPS 변수를 설정하십시오:
      • 추가 연결 속성을 지정할 필요가 없다면 다음을 설정하십시오:
        export CONTENT_STORE_CONNECTION_PROPS=""
      • 추가 연결 속성을 지정해야 하는 경우, 세미콜론으로 구분된 키-값 쌍 목록을 지정하십시오:
        export CONTENT_STORE_CONNECTION_PROPS=<key1=value1;key2=value2;...>
    7. 서비스 인스턴스의 감사 데이터베이스에 연결하기 위해 생성한 플랫폼 연결의 이름으로 환경 AUDIT_DB_CONNECTION_NAME 변수를 설정하십시오.
      export AUDIT_DB_CONNECTION_NAME=<connection-display-name>
    8. 추가 속성을 지정하여 감사 데이터베이스에 연결해야 하는지 여부에 따라 환경 AUDIT_DB_CONNECTION_PROPS 변수를 JDBC 설정하십시오:
      • 추가 연결 속성을 지정할 필요가 없다면 다음을 설정하십시오:
        export AUDIT_DB_CONNECTION_PROPS=""
      • 추가 연결 속성을 지정해야 하는 경우, 세미콜론으로 구분된 키-값 쌍 목록을 지정하십시오:
        export AUDIT_DB_CONNECTION_PROPS=<key1=value1;key2=value2;...>
    9. 환경 INSTANCE_SIZE 변수를 설정하십시오. 크기는 서비스 인스턴스에 할당되는 리소스를 결정합니다.
      export INSTANCE_SIZE=<size>
      유효값은 다음과 같습니다.
      • small_mincpureq
      • fixedminimum
      • xsmall
      • small
      • medium
      • large

      각 크기와 관련된 리소스에 대한 자세한 내용은 구성 요소 크기 조정 가이드 PDF를 참조하십시오. 해당 IBM Entitled Registry문서는 에서 다운로드할 수 있습니다.

    10. 클러스터에서 FIPS가 활성화되었는지 여부에 따라 및 FIPS_MODE_LABEL 환경 FIPS_MODE 변수를 설정하십시오:
      • 클러스터에서 FIPS가 활성화되지 않은 경우 다음을 설정하십시오:
        export FIPS_MODE=""
        export FIPS_MODE_LABEL=""
      • 클러스터에서 FIPS가 활성화된 경우 다음을 설정하십시오:
        export FIPS_MODE=FIPS_140
        export FIPS_MODE_LABEL="FIPS 140-2"
    11. 이메일을 통해 보고서를 전달하려면 SMTP 서버에 연결하기 위해 다음 환경 변수를 설정하십시오.

      SMTP IBM Software Hub 서버 또는 별도의 SMTP 서버를 사용할 수 있습니다.

      1. 환경 SMTP_ADDRESS 변수를 SMTP 서버의 IP 주소 또는 완전히 자격을 갖춘 도메인 이름으로 설정하십시오:
        export SMTP_ADDRESS=<server-address>
      2. 환경 SMTP_PORT 변수를 SMTP 서버의 포트 번호로 설정하십시오.
        중요: 보안 포트를 지정하는 경우, 환경 변수를 SMTP_TLS_CHECKtrue 설정하고 SMTP 서버의 TLS 인증서로 환경 SMTP_CERT 변수를 설정해야 합니다.
        export SMTP_PORT=<port-number>
      3. SMTP 서버의 보안 포트에 연결하는지 여부에 따라 환경 SMTP_TLS_CHECK 변수를 설정하십시오:
        • 보안 포트에 연결하는 경우 다음을 설정하십시오:
          export SMTP_TLS_CHECK=true
        • 비보안 포트에 연결하는 경우 다음을 설정하십시오:
          export SMTP_TLS_CHECK=false
      4. SMTP 서버의 보안 포트에 연결하는지 여부에 따라 환경 SMTP_TLS_CERT 변수를 설정하십시오:
        • 보안 포트에 연결하는 경우, 환경 SMTP_TLS_CERT 변수를 TLS 인증서의 내용으로 설정하십시오.
          export SMTP_TLS_CERT="-----BEGIN CERTIFICATE-----
          <certificate-content>
          -----END CERTIFICATE-----"
        • 비보안 포트에 연결하는 경우 다음을 설정하십시오:
          export SMTP_TLS_CERT=""
      5. SMTP 서버가 인증을 요구하는지 여부에 따라 환경 SMTP_USERNAME 변수를 설정하십시오:
        • SMTP 서버에 인증이 필요한 경우, 환경 SMTP_USERNAME 변수를 SMTP 서버 사용자의 사용자 이름으로 설정하십시오:
          export SMTP_USERNAME=<username>
        • SMTP 서버가 인증을 요구하지 않는 경우 다음을 설정하십시오:
          export SMTP_USERNAME=""
      6. SMTP 서버가 인증을 요구하는지 여부에 따라 환경 SMTP_PASSWORD 변수를 설정하십시오:
        • SMTP 서버에 인증이 필요한 경우, 이전 단계에서 지정한 SMTP 서버 사용자의 비밀번호를 환경 SMTP_PASSWORD 변수에 설정하십시오:
          export SMTP_PASSWORD=<password>
        • SMTP 서버가 인증을 요구하지 않는 경우 다음을 설정하십시오:
          export SMTP_PASSWORD=""
      7. SMTP 서버가 통신 전송에 메일러 데몬을 사용하는지 여부에 따라 환경 SMTP_DEFAULT_SENDER 변수를 설정하십시오:
        • SMTP 서버가 통신 전송에 메일러 데몬을 사용하지 않는 경우, 통신을 발송할 이메일 주소로 SMTP_DEFAULT_SENDER 다음을 설정하십시오:
          export SMTP_DEFAULT_SENDER=<email-address>
        • SMTP 서버가 메일러 데몬을 사용하여 통신을 전송하지만 기본 발신자를 재정의하려면, 통신을 발송할 이메일 주소로 SMTP_DEFAULT_SENDER 다음을 설정하십시오:
          export SMTP_DEFAULT_SENDER=<email-address>
        • SMTP 서버가 메일러 데몬을 사용하고 메일러 데몬에서 통신을 전송하려면 다음을 설정하십시오:
          export SMTP_DEFAULT_SENDER=""
  3. 페이로드 cognos-analytics-instance.json 파일을 생성하십시오.

    실행할 명령은 보고서를 이메일로 전달하기 위해 SMTP 서버에 연결할지 여부에 따라 달라집니다:

    SMTP 매개변수를 포함한 페이로드
    cat << EOF
    {
        "addon_type": "cognos-analytics-app",
        "display_name": "${INSTANCE_NAME}",
        "namespace": "${TETHERED_NAMESPAE}",
        "addon_version": "${ADDON_VERSION}",
        "create_arguments": {
            "deployment_id": "",
            "parameters": {
                "fileStorageClass": "${STG_CLASS_FILE}",
                "blockStorageClass": "${STG_CLASS_BLOCK}",
                "fips": "${FIPS_MODE_LABEL}",
                "planSize": "${PLAN_SIZE}",
                "audit": "${AUDIT_CONNECTION_NAME}",
                "auditProperty": "${AUDIT_DB_CONNECTION_PROPS}",
                "cs": "${CONTENT_STORE_CONNECTION_NAME}",
                "csProperty": "${CONTENT_STORE_CONNECTION_PROPS}",
                "smtp_address": "${SMTP_ADDRESS}",
                "smtp_port": "${SMTP_PORT}",
                "smtp_defaultSender": "${SMTP_DEFAULT_SENDER}",
                "smtp_name": "${SMTP_USERNAME}",
                "smtp_password": "${SMTP_PASSWORD}",
                "smtp_tlsCheck": "${SMTP_TLS_CHECK}",
                "smtp_tlsEnabledCert": "${SMTP_TLS_CERT}"
            },
            "resources": {},
            "description": "${INSTANCE_DESCRIPTION}",
            "owner_username": ""
        },
        "transient_fields": {}
    }
    EOF
    SMTP 매개변수가 없는 페이로드
    cat << EOF
    {
        "addon_type": "cognos-analytics-app",
        "display_name": "${INSTANCE_NAME}",
        "namespace": "${TETHERED_NAMESPAE}",
        "addon_version": "${ADDON_VERSION}",
        "create_arguments": {
            "deployment_id": "",
            "parameters": {
                "fileStorageClass": "${STG_CLASS_FILE}",
                "blockStorageClass": "${STG_CLASS_BLOCK}",
                "fips": "${FIPS_MODE_LABEL}",
                 "planSize": "${PLAN_SIZE}",
                 "audit": "${AUDIT_CONNECTION_NAME}",
                 "auditProperty": "${AUDIT_DB_CONNECTION_PROPS}",
                 "cs": "${CONTENT_STORE_CONNECTION_NAME}",
                 "csProperty": "${CONTENT_STORE_CONNECTION_PROPS}"
            },
            "resources": {},
            "description": "${INSTANCE_DESCRIPTION}",
            "owner_username": ""
        },
        "transient_fields": {}
    }
    EOF
    다음 환경 변수는 설치 환경 변수 스크립트에 이미 정의된 값을 사용합니다:
    • ${STG_CLASS_BLOCK}
    • ${STG_CLASS_FILE}
  4. 워크스테이션에서 JSON 페이로드 파일의 완전한 경로 이름을 환경 PAYLOAD_FILE 변수로 설정하십시오:
    export PAYLOAD_FILE=<fully-qualified-JSON-file-name>
  5. 서비스 인스턴스를 생성하려는 IBM Software Hub 인스턴스에 연결하는 데 사용되는 환경 변수를 설정하십시오:
    1. 환경 API_KEY 변수를 생성한 API 키로 설정하십시오:
      export API_KEY=<your_api_key>
  6. 페이로드 파일로부터 서비스 인스턴스를 생성합니다.

    서비스 인스턴스를 생성하려는 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 코드를 사용하여 원인을 확인하십시오.

서비스 인스턴스가 생성되었는지 확인

서비스 인스턴스가 생성되었는지 확인하려면:

  1. 환경 INSTANCE_ID 변수를 명령어가 POSTcURL 반환한 ID로 설정하십시오:
    export INSTANCE_ID=<ID-from-response>
  2. 다음 명령어를 실행하여 서비스 인스턴스의 상태를 확인하십시오:
    curl --request GET \ 
      --url "https://${CPD_ROUTE}/zen-data/v3/service_instances/${INSTANCE_ID}" \ 
      --header "Authorization: ZenApiKey ${AUTH_TOKEN}" \ 
      --header 'Content-Type: application/json'
    • 요청이 성공한 경우, 명령어는 다음 HTTP 응답 코드를 반환합니다: 200
      JSON 응답에서 provision_status 매개변수를 찾으십시오.
      • 값이 인 경우 RUNNING, 서비스 인스턴스가 성공적으로 생성되었습니다.
      • 값이 인 경우 PROVISION_IN_PROGRESS, 몇 분간 기다린 후 명령어를 다시 실행하십시오.
      • 값이 인 경우 FAILED, ibm-ca-operator-controller-manager-*, zen-core-api,, ibm-cognos-addon-sp-deployment-*zen-watcher 포드의 포드 로그를 검토하여 가능한 원인을 확인하십시오.
    • 요청이 성공하지 못한 경우, 응답 HTTP 코드를 사용하여 원인을 확인하십시오.

다음에 수행할 작업

중요: 콘텐츠 저장소에 대한 사용자 접근을 제한하십시오. 보안 설정 업데이트를 참조하십시오.
사용자에게 서비스 인스턴스에 대한 접근 권한을 부여해야 합니다. 자세한 내용은 사용자 관리( Cognos Analytics ) 를 참조하십시오.