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


はじめに

IKS + Db2 on IBM Cloud で DBアクセスアプリを動かしてみた」の 第3回です。
ここでは、 IBM Cloud kubernetes service (IKS) のセットアップについて記載します。
図の赤枠の部分です。

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

  • IKS のオーダー
  • kubernetes Config 設定
  • kubernetes dashboard へのアクセス(オプション)
  • kubernetes terminal へのアクセス(オプション)
  • クラスターのバージョンアップ(オプション)

IKS のオーダー

IKS の無料プランをオーダーするためには 「IBM Cloud 従量課金アカウント」が必要になります。
従量課金アカウントになれば 無料の IKS プランが選べるという少し変わった体系ですね。
(ライトアカウントではライトプラン(無料)が使えますが、
ライトプランではない無料プランは 従量課金アカウントがいるようです。
 なお、初回従量課金アカウントにアップグレードした際、 $200 のクレジットが受け取れるようです。(2020/08時点))

アカウントが準備できれば、「IBM Cloud Login 画面」からログインしてください。

ダッシュボードが表示されます。

上部の 「カタログ」または、右上の 「リソースの作成」 を押します。
カタログが表示されます。
表示されたカタログの検索画面で 「kubernetes」と入力して検索してください。

表示された「Kubernetes Service」を選択します。
作成画面が表示されるため、 下図のように選択を行います。

プランの選択          : 無料
オーケストレーション・サービス : kubernetes
クラスター名          : なんでも可
リソース・グループ       : デフォルト

その後、右下の 「合計月額」が 無料 であることを確認し、
「作成」ボタンを押します。

kubernetes Config 設定

クラスターの作成ボタンを押すと、作成中の状態ですが、クラスター画面が表示されます。
「Accessing your cluster」に表示されているコマンドをコピー&ペーストで実行していくことになります。
(※ ブラウザの IKS Console を利用する方はスキップしてください)

IBMCloud CLI を導入したサーバーで、画像のログインコマンドを入力してログインします。
(詳細は 第2回 参照)

その後、クラスターのコンフィグを CLI に設定します。 (※これはクラスター作成完了後しかできないようです)

config設定
# ibmcloud ks cluster config --cluster bss9xxxxxxxxxe61qdg

Kubernetes removed deprecated APIs, which impacts clusters that run Kubernetes version 1.16, OpenShift version 4.4, or later. For more information, see <http://ibm.biz/k8s-1-16-apis>

OK
bss9xxxxxxxxxe61qdg の構成は正常にダウンロードされました。

bss9xxxxxxxxxe61qdg のコンテキストを現在の kubeconfig ファイルに追加しました。
これで、クラスターに対して「kubectl」コマンドを実行できます。 例えば、「kubectl get nodes」を実行します。

せっかくなので kubectl get nodes をやってみます。

get_nodes
# kubectl get nodes -o wide

NAME            STATUS   ROLES    AGE     VERSION       INTERNAL-IP     EXTERNAL-IP      OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
10.144.183.22   Ready    <none>   5m38s   v1.17.9+IKS   10.144.183.22   16x.xx.xx.xxx   Ubuntu 16.04.6 LTS   4.4.0-186-generic   containerd://1.3.4

また、 kubectl config get-context を行うと、今回のクラスターが選択されていることがわかります。

選択済みcluster
# kubectl config get-contexts
CURRENT   NAME                                    CLUSTER                                 AUTHINFO                                                                          NAMESPACE
          kubernetes-the-hard-way                 kubernetes-the-hard-way                 admin                                        
*         mycluster-free01/bss9xxxxxxxxxe61qdg   mycluster-free01/bss9xxxxxxxxxe61qdg   [email protected]/ac3faxxxxxxxxxxxxxx120831/iam.cloud.ibm.com-identity   default

なお、 kubernetes-the-hard-way はオンプレ(自宅)クラスターです。(よって大多数の人には表示されません)
自宅クラスターと IKS クラスターを選択できるようになっています。

kubernetes dashboard へのアクセス(オプション)

kubernetes クラスターの Web コンソールの右上に、「kubernetes dashboard」というボタンがあるので、
それを押します。

すると、新しいタブで kubernetes dashboard が表示されます。

上の図は、Deployment や Pod 等作成後の画面ですが、同様の画面が表示されるため、
通常の kubernetes dashboard と同じように使用できます。
ただ、この一連の記事の中では基本的に CLI で実施するため、 kubernetes dashboard の説明は割愛します。

kubernetes terminal へのアクセス(オプション)

ブラウザで kubernetes の CLI コンソールを使えるようにします。
一旦インストール後、再度アクセスするとコンソールが開きます。

kubernetes クラスターの Web コンソールの右上に、「アクション...」というボタンがあるので、
それを押し、「Web端末」ます。

kubernetes Terminal のインストール画面が表示されるため、「インストール」を押します。

何事もなかったかのように元の画面に戻るのですが、もう一度 「アクション...」>「Web端末」を選択すると
ブラウザ下部に Terminal が表示され、コマンド入力ができるようになります。
なお、英語メッセージにもある通り、このコンソール上で作成した yaml ファイル等はセッション終了すると
消えてしまう可能性があるようなので注意が必要です。

クラスターのバージョンアップ(オプション)

オプションですが、 興味があったのでやってみました。
クラスターのバージョンアップです。別に実施しなくても全く問題ないです。

2020/08 時点では、 1.17.9_1534 でプロビジョニングされますが、
下記の手順を実施することにより、 1.18.6_1522 にバージョンアップできます。

kubernetes クラスター画面の右上のボタンから、 「アクション...」>「バージョンの更新」を選択します。

クラスターのバージョン選択画面が表示されるため、バージョンを選択し、「更新」ボタンを押します。

バージョンの更新メッセージが出るため、×を押して閉じます。

クラスターのコンソール上では、 ワーカー・ノードも更新するようにとのメッセージとともに、
バージョン欄では 1.17.9_1534 --> 1.18.6_1522 (Pending) と表示されています。
メッセージでは1時間後とありましたが、実際には30~40分程度という印象でした。

上図のバージョン部分が、 1.18.6_1522 だけになったら Controller ノードの更新は完了です。

次に左側のメニューから、「ワーカー・ノード」を選択します。
表示されたワーカー・ノードにチェックを入れると、 青い帯のメニューが表示されるため、
「更新」ボタンを押します。

ワーカー・ノードのバージョンの更新画面が表示されるため、「更新」ボタンを押します。

右上に、ポップアップで開始された旨のメッセージが表示されます。

また、ワーカー・ノード画面のバージョンの部分が、Pending になります。

この部分が、 新しいバージョンのみの表記になれば完了です。


お疲れ様でした。
今回はここまでとし、次回は 4. IBM Cloud Container Registry の準備 を実施します。

←:IKS + Db2 on IBM Cloud で DBアクセスアプリを動かしてみた(2.IBM Cloud CLI準備)
↑:IKS + Db2 on IBM Cloud で DBアクセスアプリを動かしてみた(1.概要)
→:IKS + Db2 on IBM Cloud で DBアクセスアプリを動かしてみた(4. IBM Cloud Container Registry の準備)