#はじめに
「IKS + Db2 on IBM Cloud で DBアクセスアプリを動かしてみた」 の 第2回です。
ここでは、 IBM Cloud の CLI のセットアップについて記載します。
図でいう赤枠、自宅側の Linux 環境上の話です。
Linux を利用せず、クラウドのコンソールだけでためしてみる場合は第2回は不要です。
実施内容は以下の通りです。
- 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 のドキュメントを見ましたが結構しっかりしている印象でした。)
# 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 を直接指定して入れてもよいです)
# 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 を入れます。
# 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 を導入します。
# 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 の自動起動設定を行い、起動します。
# 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 設定を行います。
# 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 します。
# source /usr/local/ibmcloud/autocomplete/bash_autocomplete
できれば、 .bash_profile 等に上記のコマンドを入れておきましょう。
#IBM Cloud ログイン
IBM Cloud にログインします。
今回は --sso
オプションでログインしていますが、通常は --sso
無しでのログインを行ってください。
その際、e-mail アドレス等を入力する必要があります。
# 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) の準備)