LoginSignup
0

More than 3 years have passed since last update.

IKS + Db2 on IBM Cloud で DBアクセスアプリを動かしてみた(2.IBM Cloud CLI準備)

Last updated at Posted at 2020-08-16

はじめに

IKS + Db2 on IBM Cloud で DBアクセスアプリを動かしてみた」 の 第2回です。
ここでは、 IBM Cloud の CLI のセットアップについて記載します。
図でいう赤枠、自宅側の Linux 環境上の話です。
Linux を利用せず、クラウドのコンソールだけでためしてみる場合は第2回は不要です。

04.png

実施内容は以下の通りです。

  • IBM Cloud CLI のインストール
  • containerd、Docker のインストール (CentOS 8 のみ)
  • AutoComplete 設定
  • IBM Cloud ログイン

IBM Cloud CLI のインストール

これに関しては、IBM Cloud のドキュメントや他の Qiita の記事などがあり、
割愛しようかと思いましたが、Cent OS 8 を利用した時にはエラーが発生したため
その記録の意味も含めて記載しておきます。

IBM Cloud CLI の概説 に記載がある通り
curl で導入します。
(余談ですが、今回 IBM Cloud のドキュメントを見ましたが結構しっかりしている印象でした。)

CLI導入
# curl -sL https://ibm.biz/idt-installer | bash

[main] --==[ IBM Cloud Developer Tools for Linux/MacOS - Installer, v1.2.3 ]==--
which: no ibmcloud in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[install] Starting Update...
which: no ibmcloud in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[install_deps_with_yum] Checking for and updating 'yum' support on Linux
[install_deps_with_yum] Installing/updating external dependency: curl

=======================================================================================================================================
 パッケージ                             アーキテクチャー         バージョン                          リポジトリー                サイズ
=======================================================================================================================================
インストール:
 git                                    x86_64                   2.18.4-2.el8_2                      AppStream                   186 k
依存関係のインストール:
 git-core                               x86_64                   2.18.4-2.el8_2                      AppStream                   4.0 M
 git-core-doc                           noarch                   2.18.4-2.el8_2                      AppStream                   2.3 M

...(略)...

Docker CE Stable - x86_64                                                                              118 kB/s |  25 kB     00:00
メタデータキャッシュを作成しました。
+ '[' -n '' ']'
+ sh -c 'yum install -y -q docker-ce'
エラー:
 問題: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.13-3.1.el7.x86_64 is filtered out by modular filtering

...(略)...

[install_plugins] Running 'ibmcloud plugin list'...
インストール済みプラグインをリストしています...

プラグイン名                           バージョン   状況
cloud-functions/wsk/functions/fn       1.0.45
cloud-object-storage                   1.1.3
container-registry                     0.1.485
container-service/kubernetes-service   1.0.143

[install_plugins] Finished installing/updating plugins
[env_setup] WARN: Please restart your shell to enable 'ic' alias for ibmcloud!
[install] Install finished.
[main] --==[ Total time: 95 seconds ]==--

CentOS 8 の場合、真ん中あたりで docker-ce のインストールエラーが発生します。
これは、CentOS 8 からは Red Hat Enterprise Linux 8 と同様に、
コンテナ環境の管理は docker ではなく podman で実施することに変わっているためです。

containerd、docker のインストール

containerd、docker については手動で導入します。
( CentOS 8 以外の人はスキップで構いません)

docker をいきなり入れようとすると、 containerd との依存関係エラーが表示されます。

依存関係エラー
# dnf install docker-ce
メタデータの期限切れの最終確認: 1:18:26 時間前の 2020年08月15日 13時14分38秒 に実施しました。
エラー:
 問題: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering
...(略)...

containerd ですが、 docker-ce のリポジトリにある containerd では古く、
containerd をダウンロードしてきて、それを入れる、という必要があるようです。
(ここではダウンロードしてから入れましたがネット上の URL を直接指定して入れてもよいです)

containerdダウンロード
# curl -o containerd.io-1.2.13-3.2.el7.x86_64.rpm  https://download.docker.com/linux/centos/7/x86_64/stable/Pac
kages/containerd.io-1.2.13-3.2.el7.x86_64.rpm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 25.4M  100 25.4M    0     0  76.3M      0 --:--:-- --:--:-- --:--:-- 76.1M

# ls
containerd.io-1.2.13-3.2.el7.x86_64.rpm

次に、dnf で containerd を入れます。

containerdインストール
# dnf -y install containerd.io-1.2.13-3.2.el7.x86_64.rpm

メタデータの期限切れの最終確認: 1:20:10 時間前の 2020年08月15日 13時14分38秒 に実施しました。
依存関係が解決しました。
=======================================================================================================================================
 パッケージ                            Arch            バージョン                                          リポジトリー          サイズ
=======================================================================================================================================
インストール中:
 containerd.io                         x86_64          1.2.13-3.2.el7                                      @commandline           25 M
依存関係のインストール中:

...(略)...

完了しました!

次に docker-ce を導入します。

docker-ceインストール
# dnf -y install docker-ce

メタデータの期限切れの最終確認: 1:21:44 時間前の 2020年08月15日 13時14分38秒 に実施しました。
依存関係が解決しました。
=======================================================================================================================================
 パッケージ                      アーキテクチャー         バージョン                          リポジトリー                       サイズ
=======================================================================================================================================
インストール中:
 docker-ce                       x86_64                   3:19.03.12-3.el7                    docker-ce-stable                    24 M
依存関係のインストール中:

...(略)...

完了しました!

docker の自動起動設定を行い、起動します。

docker自動起動・起動
# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

# systemctl start docker

# systemctl status docker

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-08-15 14:41:04 JST; 7s ago
     Docs: https://docs.docker.com
 Main PID: 17250 (dockerd)
    Tasks: 13
   Memory: 39.0M
   CGroup: /system.slice/docker.service
           mq17250 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

 8月 15 14:41:03 sakura dockerd[17250]: time="2020-08-15T14:41:03.913415219+09:00" level=info msg="ClientConn switching balancer to \">
 8月 15 14:41:03 sakura dockerd[17250]: time="2020-08-15T14:41:03.946613109+09:00" level=warning msg="Your kernel does not support cgr>
 8月 15 14:41:03 sakura dockerd[17250]: time="2020-08-15T14:41:03.946648895+09:00" level=warning msg="Your kernel does not support cgr>

AutoComplete 設定

docker も無事入ったため、 CLI の確認を行うとともに、 AutoComplete 設定を行います。

CLI確認
# which ibmcloud
/usr/local/bin/ibmcloud

# ibmcloud dev help
名前:
   ibmcloud dev - アプリケーションの作成、開発、デプロイ、およびモニターを行います

使用法:
   ibmcloud dev command [arguments...] [command options]

バージョン:
   2.4.8

...(略)...

ibmcloud コマンドですが、非常に多様なコマンド、オプションがあります。
それをうまく使いこなすために便利なのが autocomplete です。
bash_autocomplete を source します。

bash_autocomplete
# source /usr/local/ibmcloud/autocomplete/bash_autocomplete

できれば、 .bash_profile 等に上記のコマンドを入れておきましょう。

IBM Cloud ログイン

IBM Cloud にログインします。
今回は --sso オプションでログインしていますが、通常は --sso 無しでのログインを行ってください。
その際、e-mail アドレス等を入力する必要があります。

IBMCloud_login
# ibmcloud login --sso
API エンドポイント: https://cloud.ibm.com

https://identity-1.ap-north.iam.cloud.ibm.com/identity/passcode からワンタイム・コードを取得して、続行します。
デフォルトのブラウザーで URL を開きますか? [Y/n] > n
One Time Code >
認証中です...
OK

「One Time Code >」プロンプトが表示されたら、ブラウザを開いて該当の URL にアクセスしてください。
ワンタイムパスワードが表示されるため、 それをコピー&ペーストで プロンプトのところに入力して、
エンターを押せばよいです。
(なお、パスワード自体や *** などの文字列は表示されないため、うまくペーストされたのかはわかりにくいです)

自分の IBM ID を複数のアカウントに登録している場合は、選択画面が表示されます。

アカウント選択
アカウントを選択:
1. Nagao's Account (ac3facaxxxxxxxxxxxxxxxxxxxx)
2. aaa
3. bbb
数値を入力してください> 1
ターゲットのアカウント Nagao's Account (ac3facaxxxxxxxxxxxxxxxxxxxx)

初回のみ、続いて地域等の選択があります。

地域選択
地域を選択します (または Enter キーを押してスキップします):
1. au-syd
2. in-che
3. jp-osa
4. jp-tok
5. kr-seo
6. eu-de
7. eu-gb
8. us-south
9. us-south-test
10. us-east
数値を入力してください> 6
ターゲットの地域 eu-de


API エンドポイント:      https://cloud.ibm.com
地域:                    eu-de
ユーザー:                xxx@xx.xxx.com
アカウント:              Nagao's Account (ac3facaxxxxxxxxxxxxxxxxxxxxxxxxxx)
リソース・グループ:      リソース・グループがターゲットになっていません。'ibmcloud target -g RESOURCE_GROUP' を使用してください
CF API エンドポイント:
組織:
スペース:

IBM Cloud CLI の今後の改善のために、使用統計の収集にご協力ください。
このデータは、IBM 外には決して公開されません。
詳細については、IBM プライバシー・ステートメント: https://www.ibm.com/privacy/jp/ja/ を参照してください。
使用データの集計を有効または無効にするには、'ibmcloud config --usage-stats-collect [true | false]' を実行します

使用統計を IBM に送信しますか? [y/n]> n

これでログインが完了です。


お疲れ様でした。
今回はここまでとし、次回は [3. IBM Cloud kubernetes Service (IKS) の準備] について実施します。

←:IKS + Db2 on IBM Cloud で DBアクセスアプリを動かしてみた(1.概要)
→:IKS + Db2 on IBM Cloud で DBアクセスアプリを動かしてみた(3.IBM Cloud kubernetes Service (IKS) の準備)


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
0