※IBM Cloud Pak for Applications の新規販売は終了いたしました。
今後のアプリケーションランタイムソリューションは、2021年1月15日に発表された「WebSphere Hybrid Edition」となります。
* * * * * *
こんにちは。
てくさぽBLOGメンバーの岡田です。
第1回、第2回に続き、今回は AWS上に構築した Openshift環境に Cloud Pak for Applications(以下 CP4A)をインストールします。
目次 |
---|
|
1.事前準備
環境
- Openshift 4.3.22(AWS上にCloudFormationを用いて構築)
※構築したOpenshift環境にocコマンドでログインできることを確認 - CP4A 4.0.1
用意するもの
- IBMid
- Dockerコマンド 17.05以上の実行環境
2.インストール実行
2-1.Entitlement Keyの入手
- “MyIBM Container Software Library”にアクセスし、Entitlement Keyをコピー
※アクセスすると IBMid でのログインが求められるので 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にアクセス
※Cloud Pak Console には OpenShift Webコンソールからもアクセスできます。
画面右上の四角形のアイコンをクリックすると “Cloud Pak for Applications – Cloud Pak Console” が確認できます。
以上で CP4A のインストールは完了です!
3.つまづいたポイント
インストールがエラーで完了しない…
作業当初は、OpenShift4.2.23 上にてインストールを開始しました。
「チェックコマンドの実行」までは正常に完了しましたが、次の「インストールの実行」でエラーとなりました。
# 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-Mail:nicp_support@NIandC.co.jp