#はじめに
「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 に設定します。 (※これはクラスター作成完了後しかできないようです)
# 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
をやってみます。
# 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
を行うと、今回のクラスターが選択されていることがわかります。
# kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
kubernetes-the-hard-way kubernetes-the-hard-way admin
* mycluster-free01/bss9xxxxxxxxxe61qdg mycluster-free01/bss9xxxxxxxxxe61qdg shimauma@xx.xxx.com/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 の準備)