2020年11月

13

【やってみた】IBM Cloud Pak for Applications 導入してみた:Cloud Pak for Applications 導入編

IBM Cloud Pak for Applicationsの新規販売は終了いたしました。
今後のアプリケーションランタイムソリューションは、2021年1月15日に発表されたWebSphere Hybrid Editionとなります。


こんにちは。
てくさぽ BLOG メンバーの岡田です。

第1回第2回に続いて、今回は AWS 上に構築した Openshift 環境に Cloud Pak for Applications(以下、CP4A)をインストールします。
手順は Knowledge Center 内「Installing」の内容に基づいていますのでこちらもご参照ください。

【環境】

  • Openshift 4.3.22 (AWS 上に CloudFormation を用いて構築)
  • CP4A 4.0.1

 

目次

  1. 事前準備
  2. インストール実行

2-1.Entitlement Key の入手
2-2.インストール構成ファイルをインストーライメージから取り出す
2-3.インストーラの実行
2-4.インストール後の確認

  1. つまづいたポイント
  2. 最後に

 

 

1.事前準備

  • IBM id を用意します。
  • Docker コマンド 17.05 以上の実行環境を用意します。
  • 構築した Openshift 環境に ocコマンドでログインできることを確認します。

 

2.インストール実行

2-1.Entitlement Key の入手

< “MyIBM Container Software Library” にアクセスし Entitlement Key をコピー>

※アクセスすると IBM id でのログインが求められるので ID・パスワードを入力してログインし、以下の画面に遷移したら「キーのコピー」をクリックします。

 

2-2.インストール構成ファイルをインストーライメージから取り出す

<以下のコマンドを、docker をインストールした端末から実行>


# export ENTITLED_REGISTRY=cp.icr.io
# export ENTITLED_REGISTRY_USER=cp
# export ENTITLED_REGISTRY_KEY=<apikey> ※apikeyは2-1.でコピーしたライセンス・キーです。


<entitled registry にログイン>


# docker login “$ENTITLED_REGISTRY” -u “$ENTITLED_REGISTRY_USER” -p “$ENTITLED_REGISTRY_KEY”
WARNING! Using –password via the CLI is insecure. Use –password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded


<dataディレクトリを作成し、そこに configurationファイルを展開>


# mkdir data
# docker run -v $PWD/data:/data:z -u 0 -e LICENSE=accept “$ENTIITLED_REGISTRY/cp/icpa/icpa-installer:4.0.1” cp -r “data/*” /data
Unable to find image ‘cp.icr.io/cp/icpa/icpa-installer:4.0.1’ locally
4.0.1: Pulling from cp/icpa/icpa-installer

964d57e311cc: Pulling fs layer
6d1814359c74: Pulling fs layer
77181019ed4d: Pulling fs layer
60aa381192cc: Pulling fs layer
(途中省略)
2.602kB/2.602kB7d09be603f64: Extracting 2.602kB/2.602kB7d09be603f64: Pull complete df8e82fdbe08: Extracting 32.77kB/925.6kBdf8e82fdbe08: Extracting 925.6kB/925.6kBdf8e82fdbe08: Pull complete b0cda391a0db: Extracting 32.77kB/973kBb0cda391a0db: Extracting 973kB/973kBb0cda391a0db: Extracting 973kB/973kBb0cda391a0db: Pull complete Digest: sha256:a1c6c478dfb4d2039df385f8a75ecf3e6d358e35f8d662afc506b6bbc5d308af
Status: Downloaded newer image for cp.icr.io/cp/icpa/icpa-installer:4.0.1
#


<dataディレクトリに4つの yamlファイルが作成されたことを確認>

※config.yaml, kabanero.yaml, servicemesh.yaml, transadv.yaml が作成されます。


# ls -la data
合計 20
drwxr-xr-x. 2 root root 91 4月 21 10:44 .
dr-xr-xr-x. 21 root root 4096 4月 21 10:40 ..
-rw-r–r–. 1 root root 704 4月 21 10:44 config.yaml
-rw-r–r–. 1 root root 539 4月 21 10:44 kabanero.yaml
-rw-r–r–. 1 root root 1299 4月 21 10:44 servicemesh.yaml
-rw-r–r–. 1 root root 3792 4月 21 10:44 transadv.yaml


 

2-3.インストーラの実行

<Openshift 環境へログイン>


# oc login https://api.nicptestcluster.example.com:66443 -u kubeadmin -p 〈kubeadminのパスワード〉
Login successful.

You have access to 51 projects, the list has been suppressed. You can list all projects with ‘oc projects’

Using project “default”.


<チェックコマンドの実行>

※最後に “Check successful” と表示されることを確認します。


# docker run -v ~/.kube:/root/.kube:z -u 0 -t -v $PWD/data:/installer/data:z -e LICENSE=accept -e ENTITLED_REGISTRY -e ENTITLED_REGISTRY_USER -e ENTITLED_REGISTRY_KEY “$ENTITLED_REGISTRY/cp/icpa/icpa-installer:4.0.1” check

Starting Check *****************************************************************

Login To Cluster…
ok

stdout:
Using environment variables to log-in to cluster.
Login successful.

You have access to 57 projects, the list has been suppressed. You can list all projects with ‘oc projects’

Using project “openshift-marketplace”.

Get Cluster Server Address…
ok

(途中省略)

Check Existing OpenShift Serverless Subscription…
skipped

Check Existing OpenShift Pipelines Subscription…
skipped

Check Existing Appsody Subscription…
skipped

Check successful ***************************************************************


<インストールの実行>

※チェックコマンドで問題がなければ実行します。チェックコマンドとは最後のパラメータが “check” か “install” かの違いです。
最後に “Installation complete” と表示されることを確認します。


# docker run -v ~/.kube:/root/.kube:z -u 0 -t -v $PWD/data:/installer/data:z -e LICENSE=accept -e ENTITLED_REGISTRY -e ENTITLED_REGISTRY_USER -e ENTITLED_REGISTRY_KEY “$ENTITLED_REGISTRY/cp/icpa/icpa-installer:4.0.1” install

Starting Install ***************************************************************

Login To Cluster…
ok

stdout:
Using environment variables to log-in to cluster.
Login successful.

You have access to 57 projects, the list has been suppressed. You can list all projects with ‘oc projects’

Using project “openshift-marketplace”.

Get Cluster Server Address…
ok

(途中省略)

Mark Installation Complete…
done

Install successful *************************************************************

Installation complete.

Please see https://ibm-cp-applications.apps.nicptestcluster.example.com to get started and learn more about IBM Cloud Pak for Applications.

The Tekton Dashboard is available at: https://tekton-dashboard-tekton-pipelines.apps.nicptestcluster.example.com.

The IBM Transformation Advisor UI is available at: https://ta-apps.apps.nicptestcluster.example.com.

The IBM Application Navigator UI is available at: https://kappnav-ui-service-kappnav.apps.nicptestcluster.example.com.


 

2-4.インストール後の確認

<インストール画面に表示された Cloud Pak Console の URL にアクセス>

https://ibm-cp-applications.apps.nicptestcluster.example.com/

※Cloud Pak Console には OpenShift Webコンソールからもアクセスできます。
画面右上の四角形のアイコンをクリックすると “Cloud Pak for Applications – Cloud Pak Console” が確認できます。

以上で CP4A のインストールは完了です!

 

3.つまづいたポイント

インストールがエラーで完了しない

作業当初は、以下のシステム要件ページに記載の “Cloud Pak for Applications 4.0.1 only runs on x86 Intel on Red Hat OpenShift Container Platform (OCP) versions 4.3 and 4.2. ” より OpenShift4.2.23 上にてインストールを開始しました。

https://www.ibm.com/support/knowledgecenter/en/SSCSJL_4.0.x/install-prerequisites.html

上記 <チェックコマンドの実行> までは正常に完了しましたが、次の <インストールの実行> でエラーとなりました。


# docker run -v ~/.kube:/root/.kube:z -u 0 -t -v $PWD/data:/installer/data:z -e LICENSE=accept -e ENTITLED_REGISTRY -e ENTITLED_REGISTRY_USER -e ENTITLED_REGISTRY_KEY “$ENTITLED_REGISTRY/cp/icpa/icpa-installer:4.0.1” check

Starting Check *****************************************************************

Login To Cluster…
ok

(途中省略)

Retrying… (39 of 41)
Retrying… (40 of 41)
failed

msg:
non-zero return code

stdout:
The kappnav-ui pods are not created. Check logs for details.

Install failed *****************************************************************


このログをみる限り、kappnav-uiポッドが立ち上がってこない状況で止まっていますので、続いて、pod のログを確認しました。


# oc describe kappnav.kappnav.io/instance -n kappnav
Name: instance
Namespace: kappnav
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{“apiVersion”:”kappnav.io/v1alpha1″,”kind”:”KAppNav”,”metadata”:{“annotations”:{},”name”:”instance”,”namespace”:”kappnav”},”spec”:{“appNav…
API Version: kappnav.io/v1alpha1
Kind: KAppNav

(途中省略)

Status:
Conditions:
Last Transition Time: 2020-05-12T07:50:44Z
Status: True
Type: Initialized
Last Transition Time: 2020-05-12T07:50:48Z
Message: failed to install release: chart requires kubeVersion: >=1.11.0 which is incompatible with Kubernetes v1.14.6-152-g117ba1f
Reason: InstallError
Status: True
Type: ReleaseFailed
Events: <none>
#


続いて Openshiftクラスターの Kubernetesバージョンを確認します。”v1.14.6+8fc50dea9″ でした。


# oc get nodes

NAME STATUS ROLES AGE VERSION
ip-10-0-48-228.ap-northeast-1.compute.internal Ready worker 51d v1.14.6+8fc50dea9
ip-10-0-49-10.ap-northeast-1.compute.internal Ready worker 51d v1.14.6+8fc50dea9
ip-10-0-50-165.ap-northeast-1.compute.internal Ready master 52d v1.14.6+8fc50dea9
ip-10-0-58-201.ap-northeast-1.compute.internal Ready master 52d v1.14.6+8fc50dea9
ip-10-0-59-142.ap-northeast-1.compute.internal Ready master 52d v1.14.6+8fc50dea9


その後、いろいろと調査をしたのですが原因が特定できなかったため、4.0.1 がサポートしている Openshift の最新バージョン 4.3.22 にアップデートをして再度 CP4A のインストールを実施したところ、無事完了しました。

4.3.22 にバージョンアップ後の oc get nodes 結果です。4.2.23 のときについていた “+xxx” という文字列は無くなり “v1.16.2” となっています。


$ oc get node
NAME STATUS ROLES AGE VERSION
ip-10-0-48-228.ap-northeast-1.compute.internal Ready worker 213d v1.16.2
ip-10-0-49-10.ap-northeast-1.compute.internal Ready worker 213d v1.16.2
ip-10-0-50-165.ap-northeast-1.compute.internal Ready master 213d v1.16.2
ip-10-0-58-201.ap-northeast-1.compute.internal Ready master 213d v1.16.2
ip-10-0-59-142.ap-northeast-1.compute.internal Ready master 213d v1.16.2


原因を特定できなかったのは残念でしたが、つまづいたら一旦環境を最新にしてエラーが再現するかを確認する、という問題解決の基本を改めて実感しました。

 

最後に

いかがでしたでしょうか。
一部の dockerコマンドが長くて難しく感じましたが、手順そのものは前回ブログでの Openshift 構築と比べると工程数は非常に少ないので、それほど CP4A のインストールは難しくないと、実際に検証してみて感じました。

皆様の CP4A 構築にこの記事が参考になれば幸いです。

 

 


この記事に関するご質問は下記までご連絡ください。

エヌアイシー・パートナーズ株式会社
技術支援本部
E-Mailnicp_support@NIandC.co.jp

back to top