2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【指摘事項あり:対応中の為、作業内容は公式ドキュメントをご参考ください】Cloud Pak for Data License Service をインストールしてみた。(Version.4.0.9)

Last updated at Posted at 2022-12-29

Cloud Pak for Data License Service をインストールしてみる

この記事の位置づけ

  • データプラットフォームであるCloud Pak for Data(CP4D)のライセンス監査に必要なLicense Service をインストールした手順を記載します。
  • こちらの公式ドキュメントに則って実施したものですが、もし実際にインストールされる際は、リンク先の公式ドキュメントを参考にしてください。

前提事項

  • CP4D4.0.9 でのインストール手順を実施したものを記載します。
  • IBMCloud上のManaged Openshift(ROKS)環境で、ストレージとしてはODF(Openshift Data Foundation)(少し前まではOCS(Openshift Container Storage)と言われていた)を使用しています。
  • コマンドを打つ環境としては、Openshiftに対してネットワークで疎通可能なRed Hat Enterprise Linux を使用しています。
  • また監査スナップショットを取得する手元の端末としてはMACを使用しています。

1.インストール

1.1.環境変数の準備

読み込ませた変数はこちら。なおURLやトークン、エンタイトルメントキーなどは適宜マスキングしています。

$ cat ./cpd_vars.sh
export OCP_URL=https://XXXXXX.XXXXX.containers.cloud.ibm.com:9999
export OCSERVER=$OCP_URL
export OCTOKEN=sha256~XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export PROJECT_CPFS_OPS=ibm-common-services
export PROJECT_CPD_OPS=ibm-common-services
export PROJECT_CATSRC=openshift-marketplace
export PROJECT_CPD_INSTANCE=cpd-instance
export STG_CLASS_BLOCK=ocs-storagecluster-ceph-rbd
export STG_CLASS_FILE=ocs-storagecluster-cephfs
export IBM_ENTITLEMENT_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export VERSION=4.0.9
export OCLOGIN=“oc login --token=$OCTOKEN --server=$OCSERVER”
export CPDOCLOGIN=“cpd-cli manage login-to-ocp --token=$OCTOKEN --server=$OCSERVER”
export PATH=/home/itzuser/.local/bin:/home/itzuser/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/itzuser/cpd/cpd-cli-linux-EE-12.0.0-16
$

1.2.コマンドによるインストール

以下コマンドでインストールします。

$ cat <<EOF |oc apply -f -
> apiVersion: operator.ibm.com/v1alpha1
> kind: OperandRequest
> metadata:
> name: common-service-license
> namespace: ${PROJECT_CPD_INSTANCE}
> spec:
> requests:
> - operands:
>   - name: ibm-licensing-operator
>    bindings:
>     public-api-upload:
>      secret: ibm-licensing-upload-token
>      configmap: ibm-licensing-upload-config
>  registry: common-service
>  registryNamespace: ${PROJECT_CPFS_OPS}
> EOF
operandrequest.operator.ibm.com/common-service-license created
$

1.3.インストール確認

以下コマンドでインストール状況を確認します。「Installing」と出ているので、この時点ではまだインストール中です。

$ oc get opreq common-service-license -n ${PROJECT_CPD_INSTANCE} -o jsonpath=‘{.status.phase} {“\n”}’
Installing 

数分待って再度確認します。「Running」と出力されたため、インストールできた事を確認できました。

$ oc get opreq common-service-license -n ${PROJECT_CPD_INSTANCE} -o jsonpath=‘{.status.phase} {“\n”}’
Running 

Podも以下コマンドで稼働を確認しますが、「Running」と出力されたため、インストールできた事を確認できました。

$ oc get pod -n ${PROJECT_CPFS_OPS} -l app.kubernetes.io/name=ibm-licensing -o jsonpath=‘{.items[0].status.phase} {“\n”}’
Running
$

2.監査スナップショット確認

2.1. CP4D にログイン

以下コマンド(環境変数にて設定)を使用してCP4Dにログインします。

$ $CPDOCLOGIN
[INFO] 2022-12-23T03:33:50.096399Z Checking architecture: amd64
[INFO] 2022-12-23T03:33:50.096473Z Checking podman or docker
[INFO] 2022-12-23T03:33:50.185531Z Dockerexe: podman
[INFO] 2022-12-23T03:33:50.617339Z Attempting pull container image icr.io/cpopen/cpd/olm-utils:latest
[INFO] 2022-12-23T03:33:56.381969Z Pulling image output: Trying to pull icr.io/cpopen/cpd/olm-utils:latest...
Getting image source signatures
Copying blob sha256:83d998733f83db0660679a9fb555f323ebbb524a9e78024a1d540fb7f5659965
Copying blob sha256:f74bc27dbae06cb58fa7702f3a4e01dbac0369bc76451d0125ea93b28cde9176
Copying blob sha256:8abc860612807800afc77e8631e844c183642c3fd7bf28098329a9a471c51bfa
Copying blob sha256:316692923cf4186703f4822a74e8f95ad046eedd199f12dbc338f668d2236223
Copying blob sha256:0751019658fb1b0335f735a2a3c9858c0d24c286b8e10a71558fc496cafc2822
Copying blob sha256:7dcb9eae8d15826db548a812f5f9b4c0200b2dc70ab396c3d6b31fa856d9c5a6
Copying blob sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef
Copying blob sha256:a45628e3934e07d8bf544c73cd0ab5d9348a36ed7b3f97afeb259bd7ab2ac1e1
Copying blob sha256:e594db1a537b64fb57f4a7b238d851bc64bb3d26a38dbce40276e66c625acf83
Copying blob sha256:206f2f121aef2864956ebab6a7dc01525403e199aff32aaab2a855430e78bba1
Copying blob sha256:7496e1a65b55e7d4d9d8c1dff810ff6b644388dcdf4c225ba0d4b8d0d4f8644b
Copying blob sha256:0e23b3fd0e88bc578d905c3348b080370d574edeb950f9fc09a564ebb2211371
Copying blob sha256:92280228ba11b90a73833edbacdce3e2704ac315aef86a89a563711d59f97ad9
Copying blob sha256:5142e3cece1e41f99e4ea01803ca753c0f86fc43674883246f4128913f626300
Copying blob sha256:e92ca20ec7d658221f16718376ccaf6cc8317c0e127a8d63fe83bc6b666e769a
Copying blob sha256:4e2386fd44f1cc562dc4751c0d1884fae768f585019379cf8419df4ea6fc958f
Copying blob sha256:17a618c36210242c178c5fc8f29b18ec35389e2ae02a41bbbf730ff6d8ad68ea
Copying blob sha256:7d036d2c13decf7587ed2bb7aceac049b2eab6ae5a8af2911dd84687637823ac
Copying blob sha256:8124774be3657eefd13cd7703a91b33b21e4fb8952c6bd74f41194be5ae9aea0
Copying blob sha256:929c76668b3740b4cab1be806382424fbedb942f037866f3845808afdd695c11
Copying blob sha256:fc9f13f6891fc36b6205388df3bd0f784a3b928881bfd1b19109e94c703cec93
Copying blob sha256:55de37c04245d9ab768e59e21213bfb6af6f747ab0856f537fe257a54206bead
Copying blob sha256:02db60fa3b2c1483a42192d374ce4b4a6a19dd11675b79d77fe7d62e72ce39e9
Copying blob sha256:e67e83a38253408947490e8c50dcca6dbc806f77f399ad2ca45d5487f2953e6e
Copying blob sha256:e0ef093f68e1f1603b04fa10dc1eb6d8a5bb1687768473d3e5f0c5ff1d9ab550
Copying config sha256:bca002b0b2ce12cd9747209a86fd845fae7d4a196744a4dc8ce47d4e31d2ba53
Writing manifest to image destination
Storing signatures
bca002b0b2ce12cd9747209a86fd845fae7d4a196744a4dc8ce47d4e31d2ba53
[SUCCESS] 2022-12-23T03:33:56.382145Z Successfully pulled the container image icr.io/cpopen/cpd/olm-utils:latest
[INFO] 2022-12-23T03:33:56.382286Z Delete any existing olm-utils-play container
[INFO] 2022-12-23T03:33:56.697861Z Checking SELinux configuration
[INFO] 2022-12-23T03:33:56.701234Z Start the olm-utils-play container
[INFO] 2022-12-23T03:33:57.322486Z Run command: podman run -d --name olm-utils-play --env CMD_PREFIX=manage -v /home/itzuser/cpd-cli-workspace/olm-utils-workspace/work:/tmp/work icr.io/cpopen/cpd/olm-utils:latest
[INFO] 2022-12-23T03:33:57.323113Z Container is fully ready now
[SUCCESS] 2022-12-23T03:33:57.323170Z Successfully started the container olm-utils-play
[INFO] 2022-12-23T03:33:57.607694Z Processing subcommand login-to-ocp
KUBECONFIG is /opt/ansible/.kubeconfig
W1223 09:33:58.486077  32 loader.go:221] Config not found: /opt/ansible/.kubeconfig
Logged into “https://c100-e.eu-gb.containers.cloud.ibm.com:32403” as “IAM#shumpei.kubo@ibm.com” using the token provided.You have access to 68 projects, the list has been suppressed. You can list all projects with ’oc projects’Using project “default”.
Using project “default” on server “https://c100-e.eu-gb.containers.cloud.ibm.com:32403”.
[SUCCESS] 2022-12-23T03:34:02.955642Z You may find output and logs in the /home/itzuser/cpd-cli-workspace/olm-utils-workspace/work directory.
[SUCCESS] 2022-12-23T03:34:02.955741Z The login-to-ocp command ran successfully.
$

2.2. 監査スナップショット出力

$ cpd-cli manage apply-entitlement \
> --cpd_instance_ns=${PROJECT_CPD_INSTANCE} \
> --entitlement=cpd-enterprise
[INFO] 2022-12-23T03:34:18.219351Z Checking architecture: amd64
[INFO] 2022-12-23T03:34:18.219468Z Checking podman or docker
[INFO] 2022-12-23T03:34:18.309228Z Dockerexe: podman
[INFO] 2022-12-23T03:34:18.536149Z Container olm-utils-play is running already. Image: icr.io/cpopen/cpd/olm-utils:latest
[INFO] 2022-12-23T03:34:18.745729Z Processing subcommand apply-entitlement
--------------------------------------------------
CPD Instance Namespace: cpd-instance
NAME       DATA AGE
product-configmap 49  28d
CPD Instance Id: cfbe4ea0-09bb-4965-8607-260490df2ade
Entitlement: cpd-enterprise
--------------------------------------------------
Applying IBMLicensingDefinition CR’s in Namespace: cpd-instance
ibmlicensingdefinition.operator.ibm.com/service-volumes created
ibmlicensingdefinition.operator.ibm.com/service-ccs created
ibmlicensingdefinition.operator.ibm.com/service-databases created
ibmlicensingdefinition.operator.ibm.com/service-scheduler created
ibmlicensingdefinition.operator.ibm.com/service-cp-open created
ibmlicensingdefinition.operator.ibm.com/service-dmc created
ibmlicensingdefinition.operator.ibm.com/service-bigsql created
ibmlicensingdefinition.operator.ibm.com/service-db2z created
ibmlicensingdefinition.operator.ibm.com/service-dg created
ibmlicensingdefinition.operator.ibm.com/service-hadoop created
ibmlicensingdefinition.operator.ibm.com/service-dv created
ibmlicensingdefinition.operator.ibm.com/service-cde created
ibmlicensingdefinition.operator.ibm.com/service-rshaper created
ibmlicensingdefinition.operator.ibm.com/service-do created
ibmlicensingdefinition.operator.ibm.com/service-spss-modeler created
ibmlicensingdefinition.operator.ibm.com/service-wml created
ibmlicensingdefinition.operator.ibm.com/service-wml-accelerator created
ibmlicensingdefinition.operator.ibm.com/service-aios created
ibmlicensingdefinition.operator.ibm.com/service-ws created
ibmlicensingdefinition.operator.ibm.com/service-wsp created
ibmlicensingdefinition.operator.ibm.com/service-rstudio created
ibmlicensingdefinition.operator.ibm.com/service-spark created
ibmlicensingdefinition.operator.ibm.com/service-dprivacy created
ibmlicensingdefinition.operator.ibm.com/service-wkc created
ibmlicensingdefinition.operator.ibm.com/service-wkc-fact-sheet created
ibmlicensingdefinition.operator.ibm.com/service-mdm created
ibmlicensingdefinition.operator.ibm.com/service-db2wh created
ibmlicensingdefinition.operator.ibm.com/service-db2oltp created
ibmlicensingdefinition.operator.ibm.com/service-datastage created
ibmlicensingdefinition.operator.ibm.com/service-datastage-plus created
ibmlicensingdefinition.operator.ibm.com/service-openpages created
ibmlicensingdefinition.operator.ibm.com/service-pa created
ibmlicensingdefinition.operator.ibm.com/service-cognos-analytics-app created
ibmlicensingdefinition.operator.ibm.com/service-information-server created
ibmlicensingdefinition.operator.ibm.com/service-informix created
ibmlicensingdefinition.operator.ibm.com/service-wd created
ibmlicensingdefinition.operator.ibm.com/service-wa created
ibmlicensingdefinition.operator.ibm.com/service-wapi created
ibmlicensingdefinition.operator.ibm.com/service-wfci created
ibmlicensingdefinition.operator.ibm.com/service-test-data-mgmt created
ibmlicensingdefinition.operator.ibm.com/service-anaconda-rep created
ibmlicensingdefinition.operator.ibm.com/service-fsw created
ibmlicensingdefinition.operator.ibm.com/service-dmp-mongo created
ibmlicensingdefinition.operator.ibm.com/service-dvp created
ibmlicensingdefinition.operator.ibm.com/service-open-data created
--------------------------------------------------
[SUCCESS] 2022-12-23T03:35:05.177060Z You may find output and logs in the /home/itzuser/cpd-cli-workspace/olm-utils-workspace/work directory.
[SUCCESS] 2022-12-23T03:35:05.177240Z The apply-entitlement command ran successfully.
$

2.3. 監査スナップショット取得

  • こちらの公式ドキュメントの手順に則り、監査用のスナップショットを取得します。

  • OCPの「Administrator」コンソールから、ネットワーク ⇛ ルート、と辿り、lisence で検索。ibm-licensing-service-instance をクリックしたのが以下の画面です。

  • その右側の「場所」と書かれているところのURLをクリックします。
    image.png

  • クリックすると以下画面が出力されます。
    image.png

  • 今回は「Snapshot(last 30 days)」を取得してみます。そのリンクをクリックすると、トークンを入力するポップアップが出てきます。
    image.png

  • API TOKENの取得は、こちらのCLIで行います。

  • kubectl get secret ibm-licensing-token -o jsonpath={.data.token} -n ibm-common-services | base64 -d

  • Tokenを入力すると、zipファイル形式でダウンロードされてきます。
    image.png

  • DLされたzipファイルを解凍すると、以下のような感じになります。

  • 「audit-ibm」というMACのフォルダ上で以下コマンドを実施しています。

 audit_ibm % tar xvf ./audit_snapshot_2022-11-23_2022-12-23_10.242.64.141.zip
x bundled_products_2022-11-23_2022-12-23_10.242.64.141.csv
x products_2022-11-23_2022-12-23_10.242.64.141.csv
x bundled_products_daily_2022-11-23_2022-12-23_10.242.64.141.csv
x products_daily_2022-11-23_2022-12-23_10.242.64.141.csv
x data_condition.txt
x unrecognized-apps-2022-11-23-2022-12-23.csv
x signature.rsa
x pub_key.pem
x checksum.txt
  • ダウンロードされた内容を確認します。このようなファイル類が入手できるようです。
audit_ibm % ls -ltra
total 80
-rw-r--r--@ 1 aa408104 staff  70 12 23 11:23 unrecognized-apps-2022-11-23-2022-12-23.csv
-rw-r--r--@ 1 aa408104 staff 256 12 23 11:23 signature.rsa
-rw-r--r--@ 1 aa408104 staff 445 12 23 11:23 pub_key.pem
-rw-r--r--@ 1 aa408104 staff 286 12 23 11:23 products_daily_2022-11-23_2022-12-23_10.242.64.141.csv
-rw-r--r--@ 1 aa408104 staff 258 12 23 11:23 products_2022-11-23_2022-12-23_10.242.64.141.csv
-rw-r--r--@ 1 aa408104 staff 2441 12 23 11:23 data_condition.txt
-rw-r--r--@ 1 aa408104 staff 682 12 23 11:23 checksum.txt
-rw-r--r--@ 1 aa408104 staff 591 12 23 11:23 bundled_products_daily_2022-11-23_2022-12-23_10.242.64.141.csv
-rw-r--r--@ 1 aa408104 staff 481 12 23 11:23 bundled_products_2022-11-23_2022-12-23_10.242.64.141.csv
-rw-r--r--@ 1 aa408104 staff 3985 12 23 20:23 audit_snapshot_2022-11-23_2022-12-23_10.242.64.141.zip
drwx------@ 815 aa408104 staff 26080 12 23 20:31 ..
drwxr-xr-x 12 aa408104 staff 384 12 23 20:32 .
audit_ibm %
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?