昨年、ブログを使ってこのような夏休み企画(休んでないけど)を実施しました:
「30 日後に死ぬ k8s」
IBM Cloud から提供されている k8s 環境は(ワーカーノード1つなどの条件の下で)30 日間無料で使えます。この環境を使って 30 日間で毎日1つずつ、計 30 種類のコンテナをデプロイして動かす、というものでした。後に追加で動作確認できたり、動作確認はできなかったがデプロイできてるっぽいものもあったのですが、その際も IBM Db2 は公式イメージを docker で動かすことはできたのですが、この k8s 環境ではうまくデプロイできずにいました。
が、最近になって改めて挑戦し、今度は同環境で IBM Db2 コンテナを動かすことができました。Db2 クライアントからの接続も確認できました。以前できなくて今回できた理由ははっきりとはわかっていませんが、自分の腕が上がったのか、イメージ側の更新と関係があるのか、あるいはその両方か・・・ ともあれ、遅ればせながら IBM Db2 コンテナイメージを IBM Cloud の 30 日間無料 k8s クラスタにデプロイして動かす方法を紹介します。
【30 日間無料の k8s クラスタを用意】
こちらの記事を参照して、IBM Cloud の 30 日間無料 k8s クラスタをセットアップしてください。また具体的な操作をする際に必要な ibmcloud CLI や kubectl CLI といったコマンドツール類のインストール手順も含まれています(リンク先最後の "$ kubectl get all" コマンドが正しく実行できる状態にしてください):
http://dotnsf.blog.jp/archives/1079287640.html
なおリンク先でも触れられていますが、この k8s クラスタ環境はシングルワーカーノードです。イメージをデプロイした後に "type = NodePort" を指定することでサービスを公開できます(Ingress などが提供されていないため、他の方法でサービス公開はできません)。
【IBM Db2 コンテナイメージ】
公式な IBM Db2 コミュニティ版のコンテナイメージはこちらから無料で提供されています:
https://hub.docker.com/r/ibmcom/db2
同ページ内の説明文によると、この無料コミュニティ版コンテナイメージを動かす前提条件として、「CPU: 4コア以下、メモリ: 16GB 以下」が挙げられています:

一方で IBM Cloud の 30 日間無料 k8s クラスタのワーカーノードは「CPU: 2 コア、メモリ: 4GB」であることがわかっています:

一応、条件を満たした環境で使う、ということになります。なおコンテナイメージのリンク先情報によると、2022/01/18 時点で特にバージョンを指定せずにこのコンテナを利用しようとすると、最新版である v11.5.7.0 が使われるようです(以下の内容はこのバージョンで動作確認しています):

【IBM Db2 を k8s にデプロイするための yaml ファイル】
色々試行錯誤してできあがった IBM Cloud の 30 日間無料 k8s クラスタにデプロイできるよう調整した yaml ファイルはこちらです:
https://github.com/dotnsf/yamls_for_iks/blob/main/db2_deployment_nodeport.yaml
このファイルを指定して、
とすることでデプロイできます(その場合は db2inst1 ユーザーのパスワードは db2inst1 、サンプル(SAMPLE)データベースは作成、それとは別に db2inst1 ユーザーから使える mydb という空のデータベースも作成する、というオプションが初期設定されています)。
あるいは以下のように一度 wget コマンドでローカルにダウンロードしてから内容をカスタマイズして、その後に改めて kubectl コマンドでデプロイすることも可能です:
例えば db2inst1 ユーザーのパスワードを変えたい場合は 38 行目を変更、サンプルデータベースを作る必要がなければ 39, 40 行目を削除、mydb データベースもこの時点で作る必要がなければ 41, 42 行目を削除、といった具合です。
なお後者のカスタマイズをする場合に指定可能なオプション内容については公式ページ内の "Advanced Configuration Options" 欄を参考に編集してください。
"kubectl get all" コマンドでデプロイ後のクラスタの様子を確認してみます:
↑のように Db2 関連の pod, service, deployment, replicaset が1つずつ追加されていればコマンドは成功しています。 また service を見ると 50000 番ポート(Db2 の標準動作ポート)が 30500 番で公開されていることも確認できます。つまり Db2 は
(ワーカーノードのIPアドレス※):30500
で公開されて動いていることがわかります(※ワーカーノードの IP アドレス確認方法はこちらを参照してください)。
【動作確認】
では実際に Db2 サーバーが正しく動作していることを動作確認してます。。。 と、実はここが大きな問題でした。Db2 サーバーは正しくデプロイされて動作しているのですが、Db2 サーバーに接続試験を行おうとすると、その環境準備がちょっと面倒だったりするのです。
Db2 サーバーに CLI でアクセスしようとすると Db2 クライアントライブラリのダウンロード&インストールが必要です。Node.js などのプログラムから接続するにもクライアントライブラリが必要になります。この Db2 クライアントライブラリをインストールするには、無料版の Db2 Community Edition をダウンロードしてインストールする必要があり、ここで急にハードルが上がってしまいます。
そこでこれらの手間を省くために別の動作確認方法を考えました。それは「Db2 のコンテナインスタンスをもう1つ作って、そこからリモートサーバーにアクセスする」という方法です。マネージドサービスと異なり、Db2 サーバーのコンテナイメージからはライブラリセットアップ済みの CLI も使えるのです。そのための Db2 コンテナをもう1つ追加で作ってクライアントとして使うことで(手間という意味では)比較的容易に動作確認用クライアント環境が用意できると思いました。
というわけで、先程の yaml ファイルを少し変更(サンプルDB 作らず、mydb DBも作らず、ポート番号は 30501 に変更、コンテナの名称も db2 から db2cli に変更)した yaml ファイルを使って、(機能的にはサーバー機能もインストール済みですが)新しい Db2 クライアントコンテナを作成します:
作成後にクラスタ内の様子を kubectl コマンドで確認すると、新しい db2cli インスタンスが起動しているはずです:
ここからは db2cli コンテナからの作業となります。まずは db2cli コンテナ上のシェルにログインする必要があります。まずは IBM Cloud の k8s サービスからダッシュボードにアクセスします:

ダッシュボード画面左メニューから「ポッド」を選び、ポッド一覧から "db2cli" で始まる名前のポッドを探し、画面右のメニューから「実行」を選択します:

これで該当 Pod のシェルをブラウザからリモート操作できるようになります:

以下の手順で(最初に作った方の)Db2 サーバーに接続して SQL を実行する、という動作確認をします。
まずは Db2 を利用可能なユーザー(db2inst1)にスイッチします(プロンプトが # から $ へ切り替わります):
次に Db2 コマンドをインタラクティブに実行できるシェルに切り替えます(プロンプトが $ から db2 => に切り替わります):
この状態から Db2 サーバーに接続したり、ログインしたり、SQL を実行したりできます。まずは Db2 サーバーへの接続が必要です。Db2 ではリモートサーバーやデータベースを「カタログ」という単位で管理するので、まず最初にリモート Db21 サーバーを db2onk8s という名前でカタログに登録します。以下のコマンドを実行します(1.2.3.4 部分はワーカーノードの IP アドレスに置き換えてください):
次にこのサーバー上の SAMPLE データベースをカタログに登録します:
これで Db2 クライアントから Db2 サーバー上の SAMPLE データベースに接続するためのカタログができました。
ではこのデータベースカタログを使って Db2 サーバー上の SAMPLE データベースに接続します。このコマンドを入力した後に db2inst1 ユーザーのパスワードを聞かれるので、Db2 サーバーのコンテナを作成した時に指定した db2inst1 ユーザーのパスワード(変更していない場合は db2inst1)を入力してください:
正しいパスワードを入力すると目的のデータベースに接続します。この状態で Db2 クライアントから Db2 サーバーに接続しています:
SQL を使って Db2 サーバーの SAMPLE データベースのテーブルからレコードを取り出したり、追加・変更・削除といった操作が可能です:
この時点で k8s ダッシュボード画面はこのようになっています。必要に応じて続けてコマンドを実行することもできます:

操作を終了して接続を切るには quit コマンドを実行します:
改めて k8s 上にデプロイした Db2 サーバーコンテナ(とクライアントコンテナ)が期待通りに動いていることが確認できました。
「30 日後に死ぬ k8s」
IBM Cloud から提供されている k8s 環境は(ワーカーノード1つなどの条件の下で)30 日間無料で使えます。この環境を使って 30 日間で毎日1つずつ、計 30 種類のコンテナをデプロイして動かす、というものでした。後に追加で動作確認できたり、動作確認はできなかったがデプロイできてるっぽいものもあったのですが、その際も IBM Db2 は公式イメージを docker で動かすことはできたのですが、この k8s 環境ではうまくデプロイできずにいました。
が、最近になって改めて挑戦し、今度は同環境で IBM Db2 コンテナを動かすことができました。Db2 クライアントからの接続も確認できました。以前できなくて今回できた理由ははっきりとはわかっていませんが、自分の腕が上がったのか、イメージ側の更新と関係があるのか、あるいはその両方か・・・ ともあれ、遅ればせながら IBM Db2 コンテナイメージを IBM Cloud の 30 日間無料 k8s クラスタにデプロイして動かす方法を紹介します。
【30 日間無料の k8s クラスタを用意】
こちらの記事を参照して、IBM Cloud の 30 日間無料 k8s クラスタをセットアップしてください。また具体的な操作をする際に必要な ibmcloud CLI や kubectl CLI といったコマンドツール類のインストール手順も含まれています(リンク先最後の "$ kubectl get all" コマンドが正しく実行できる状態にしてください):
http://dotnsf.blog.jp/archives/1079287640.html
なおリンク先でも触れられていますが、この k8s クラスタ環境はシングルワーカーノードです。イメージをデプロイした後に "type = NodePort" を指定することでサービスを公開できます(Ingress などが提供されていないため、他の方法でサービス公開はできません)。
【IBM Db2 コンテナイメージ】
公式な IBM Db2 コミュニティ版のコンテナイメージはこちらから無料で提供されています:
https://hub.docker.com/r/ibmcom/db2
同ページ内の説明文によると、この無料コミュニティ版コンテナイメージを動かす前提条件として、「CPU: 4コア以下、メモリ: 16GB 以下」が挙げられています:

一方で IBM Cloud の 30 日間無料 k8s クラスタのワーカーノードは「CPU: 2 コア、メモリ: 4GB」であることがわかっています:

一応、条件を満たした環境で使う、ということになります。なおコンテナイメージのリンク先情報によると、2022/01/18 時点で特にバージョンを指定せずにこのコンテナを利用しようとすると、最新版である v11.5.7.0 が使われるようです(以下の内容はこのバージョンで動作確認しています):

【IBM Db2 を k8s にデプロイするための yaml ファイル】
色々試行錯誤してできあがった IBM Cloud の 30 日間無料 k8s クラスタにデプロイできるよう調整した yaml ファイルはこちらです:
https://github.com/dotnsf/yamls_for_iks/blob/main/db2_deployment_nodeport.yaml
このファイルを指定して、
$ kubectl apply -f https://raw.githubusercontent.com/dotnsf/yamls_for_iks/main/db2_deployment_nodeport.yaml
とすることでデプロイできます(その場合は db2inst1 ユーザーのパスワードは db2inst1 、サンプル(SAMPLE)データベースは作成、それとは別に db2inst1 ユーザーから使える mydb という空のデータベースも作成する、というオプションが初期設定されています)。
あるいは以下のように一度 wget コマンドでローカルにダウンロードしてから内容をカスタマイズして、その後に改めて kubectl コマンドでデプロイすることも可能です:
$ wget https://raw.githubusercontent.com/dotnsf/yamls_for_iks/main/db2_deployment_nodeport.yaml (ダウンロードした db2_deployment_nodeport.yaml ファイルをカスタマイズ) $ kubectl apply db2_deployment_nodeport.yaml
例えば db2inst1 ユーザーのパスワードを変えたい場合は 38 行目を変更、サンプルデータベースを作る必要がなければ 39, 40 行目を削除、mydb データベースもこの時点で作る必要がなければ 41, 42 行目を削除、といった具合です。
なお後者のカスタマイズをする場合に指定可能なオプション内容については公式ページ内の "Advanced Configuration Options" 欄を参考に編集してください。
"kubectl get all" コマンドでデプロイ後のクラスタの様子を確認してみます:
$ kubectl get all NAME READY STATUS RESTARTS AGE pod/db2-54ff649944-w7d24 1/1 Running 0 2d14h pod/hostname-7b4f76fd59-c8b2l 1/1 Running 0 8d NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/db2 NodePort 172.21.54.21150000:30500/TCP 2d14h service/hostname NodePort 172.21.105.49 8080:30080/TCP 8d service/kubernetes ClusterIP 172.21.0.1 443/TCP 8d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/db2 1/1 1 1 2d14h deployment.apps/hostname 1/1 1 1 8d NAME DESIRED CURRENT READY AGE replicaset.apps/db2-54ff649944 1 1 1 2d14h replicaset.apps/hostname-7b4f76fd59 1 1 1 8d
↑のように Db2 関連の pod, service, deployment, replicaset が1つずつ追加されていればコマンドは成功しています。 また service を見ると 50000 番ポート(Db2 の標準動作ポート)が 30500 番で公開されていることも確認できます。つまり Db2 は
(ワーカーノードのIPアドレス※):30500
で公開されて動いていることがわかります(※ワーカーノードの IP アドレス確認方法はこちらを参照してください)。
【動作確認】
では実際に Db2 サーバーが正しく動作していることを動作確認してます。。。 と、実はここが大きな問題でした。Db2 サーバーは正しくデプロイされて動作しているのですが、Db2 サーバーに接続試験を行おうとすると、その環境準備がちょっと面倒だったりするのです。
Db2 サーバーに CLI でアクセスしようとすると Db2 クライアントライブラリのダウンロード&インストールが必要です。Node.js などのプログラムから接続するにもクライアントライブラリが必要になります。この Db2 クライアントライブラリをインストールするには、無料版の Db2 Community Edition をダウンロードしてインストールする必要があり、ここで急にハードルが上がってしまいます。
そこでこれらの手間を省くために別の動作確認方法を考えました。それは「Db2 のコンテナインスタンスをもう1つ作って、そこからリモートサーバーにアクセスする」という方法です。マネージドサービスと異なり、Db2 サーバーのコンテナイメージからはライブラリセットアップ済みの CLI も使えるのです。そのための Db2 コンテナをもう1つ追加で作ってクライアントとして使うことで(手間という意味では)比較的容易に動作確認用クライアント環境が用意できると思いました。
というわけで、先程の yaml ファイルを少し変更(サンプルDB 作らず、mydb DBも作らず、ポート番号は 30501 に変更、コンテナの名称も db2 から db2cli に変更)した yaml ファイルを使って、(機能的にはサーバー機能もインストール済みですが)新しい Db2 クライアントコンテナを作成します:
$ kubectl apply -f https://raw.githubusercontent.com/dotnsf/yamls_for_iks/main/db2cli_deployment_nodeport.yaml
作成後にクラスタ内の様子を kubectl コマンドで確認すると、新しい db2cli インスタンスが起動しているはずです:
$ kubectl get all NAME READY STATUS RESTARTS AGE pod/db2-54ff649944-w7d24 1/1 Running 0 2d14h pod/db2cli-86d476659d-m7c6d 1/1 Running 0 9s pod/hostname-7b4f76fd59-c8b2l 1/1 Running 0 8d NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/db2 NodePort 172.21.54.21150000:30500/TCP 2d14h service/db2cli NodePort 172.21.112.13 50000:30501/TCP 11s service/hostname NodePort 172.21.105.49 8080:30080/TCP 8d service/kubernetes ClusterIP 172.21.0.1 443/TCP 8d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/db2 1/1 1 1 2d14h deployment.apps/db2cli 1/1 1 1 11s deployment.apps/hostname 1/1 1 1 8d NAME DESIRED CURRENT READY AGE replicaset.apps/db2-54ff649944 1 1 1 2d14h replicaset.apps/db2cli-86d476659d 1 1 1 11s replicaset.apps/hostname-7b4f76fd59 1 1 1 8d
ここからは db2cli コンテナからの作業となります。まずは db2cli コンテナ上のシェルにログインする必要があります。まずは IBM Cloud の k8s サービスからダッシュボードにアクセスします:

ダッシュボード画面左メニューから「ポッド」を選び、ポッド一覧から "db2cli" で始まる名前のポッドを探し、画面右のメニューから「実行」を選択します:

これで該当 Pod のシェルをブラウザからリモート操作できるようになります:

以下の手順で(最初に作った方の)Db2 サーバーに接続して SQL を実行する、という動作確認をします。
まずは Db2 を利用可能なユーザー(db2inst1)にスイッチします(プロンプトが # から $ へ切り替わります):
# su - db2inst1 $
次に Db2 コマンドをインタラクティブに実行できるシェルに切り替えます(プロンプトが $ から db2 => に切り替わります):
$ db2 db2 =>
この状態から Db2 サーバーに接続したり、ログインしたり、SQL を実行したりできます。まずは Db2 サーバーへの接続が必要です。Db2 ではリモートサーバーやデータベースを「カタログ」という単位で管理するので、まず最初にリモート Db21 サーバーを db2onk8s という名前でカタログに登録します。以下のコマンドを実行します(1.2.3.4 部分はワーカーノードの IP アドレスに置き換えてください):
db2 => catalog tcpip node db2onk8s remote 1.2.3.4 server 30500
次にこのサーバー上の SAMPLE データベースをカタログに登録します:
db2 => catalog database sample at node db2onk8s
これで Db2 クライアントから Db2 サーバー上の SAMPLE データベースに接続するためのカタログができました。
ではこのデータベースカタログを使って Db2 サーバー上の SAMPLE データベースに接続します。このコマンドを入力した後に db2inst1 ユーザーのパスワードを聞かれるので、Db2 サーバーのコンテナを作成した時に指定した db2inst1 ユーザーのパスワード(変更していない場合は db2inst1)を入力してください:
db2 => connect to sample user db2inst1 Enter current password for db2inst1:
正しいパスワードを入力すると目的のデータベースに接続します。この状態で Db2 クライアントから Db2 サーバーに接続しています:
db2 => connect to sample user db2inst1 Enter current password for db2inst1: Database Connection Information Database server = DB2/LINUXX8664 11.5.7.0 SQL authorization ID = DB2INST1 Local database alias = SAMPLE db2 =>
SQL を使って Db2 サーバーの SAMPLE データベースのテーブルからレコードを取り出したり、追加・変更・削除といった操作が可能です:
db2 => select * from employee; EMPNO FIRSTNME MIDINIT LASTNAME WORKDEPT PHONENO HIREDATE JOB EDLEVEL SEX BIRTHDATE SALARY BONUS COMM ------ ------------ ------- --------------- -------- ------- ---------- -------- ------- --- ---------- ----------- ----------- ----------- 000010 CHRISTINE I HAAS A00 3978 01/01/1995 PRES 18 F 08/24/1963 152750.00 1000.00 4220.00 000020 MICHAEL L THOMPSON B01 3476 10/10/2003 MANAGER 18 M 02/02/1978 94250.00 800.00 3300.00 000030 SALLY A KWAN C01 4738 04/05/2005 MANAGER 20 F 05/11/1971 98250.00 800.00 3060.00 000050 JOHN B GEYER E01 6789 08/17/1979 MANAGER 16 M 09/15/1955 80175.00 800.00 3214.00 000060 IRVING F STERN D11 6423 09/14/2003 MANAGER 16 M 07/07/1975 72250.00 500.00 2580.00 000070 EVA D PULASKI D21 7831 09/30/2005 MANAGER 16 F 05/26/2003 96170.00 700.00 2893.00 000090 EILEEN W HENDERSON E11 5498 08/15/2000 MANAGER 16 F 05/15/1971 89750.00 600.00 2380.00 000100 THEODORE Q SPENSER E21 0972 06/19/2000 MANAGER 14 M 12/18/1980 86150.00 500.00 2092.00 000110 VINCENZO G LUCCHESSI A00 3490 05/16/1988 SALESREP 19 M 11/05/1959 66500.00 900.00 3720.00 000120 SEAN O'CONNELL A00 2167 12/05/1993 CLERK 14 M 10/18/1972 49250.00 600.00 2340.00 000130 DELORES M QUINTANA C01 4578 07/28/2001 ANALYST 16 F 09/15/1955 73800.00 500.00 1904.00 000140 HEATHER A NICHOLLS C01 1793 12/15/2006 ANALYST 18 F 01/19/1976 68420.00 600.00 2274.00 000150 BRUCE ADAMSON D11 4510 02/12/2002 DESIGNER 16 M 05/17/1977 55280.00 500.00 2022.00 000160 ELIZABETH R PIANKA D11 3782 10/11/2006 DESIGNER 17 F 04/12/1980 62250.00 400.00 1780.00 000170 MASATOSHI J YOSHIMURA D11 2890 09/15/1999 DESIGNER 16 M 01/05/1981 44680.00 500.00 1974.00 000180 MARILYN S SCOUTTEN D11 1682 07/07/2003 DESIGNER 17 F 02/21/1979 51340.00 500.00 1707.00 000190 JAMES H WALKER D11 2986 07/26/2004 DESIGNER 16 M 06/25/1982 50450.00 400.00 1636.00 000200 DAVID BROWN D11 4501 03/03/2002 DESIGNER 16 M 05/29/1971 57740.00 600.00 2217.00 000210 WILLIAM T JONES D11 0942 04/11/1998 DESIGNER 17 M 02/23/2003 68270.00 400.00 1462.00 000220 JENNIFER K LUTZ D11 0672 08/29/1998 DESIGNER 18 F 03/19/1978 49840.00 600.00 2387.00 000230 JAMES J JEFFERSON D21 2094 11/21/1996 CLERK 14 M 05/30/1980 42180.00 400.00 1774.00 000240 SALVATORE M MARINO D21 3780 12/05/2004 CLERK 17 M 03/31/2002 48760.00 600.00 2301.00 000250 DANIEL S SMITH D21 0961 10/30/1999 CLERK 15 M 11/12/1969 49180.00 400.00 1534.00 000260 SYBIL P JOHNSON D21 8953 09/11/2005 CLERK 16 F 10/05/1976 47250.00 300.00 1380.00 000270 MARIA L PEREZ D21 9001 09/30/2006 CLERK 15 F 05/26/2003 37380.00 500.00 2190.00 000280 ETHEL R SCHNEIDER E11 8997 03/24/1997 OPERATOR 17 F 03/28/1976 36250.00 500.00 2100.00 000290 JOHN R PARKER E11 4502 05/30/2006 OPERATOR 12 M 07/09/1985 35340.00 300.00 1227.00 000300 PHILIP X SMITH E11 2095 06/19/2002 OPERATOR 14 M 10/27/1976 37750.00 400.00 1420.00 000310 MAUDE F SETRIGHT E11 3332 09/12/1994 OPERATOR 12 F 04/21/1961 35900.00 300.00 1272.00 000320 RAMLAL V MEHTA E21 9990 07/07/1995 FIELDREP 16 M 08/11/1962 39950.00 400.00 1596.00 000330 WING LEE E21 2103 02/23/2006 FIELDREP 14 M 07/18/1971 45370.00 500.00 2030.00 000340 JASON R GOUNOT E21 5698 05/05/1977 FIELDREP 16 M 05/17/1956 43840.00 500.00 1907.00 200010 DIAN J HEMMINGER A00 3978 01/01/1995 SALESREP 18 F 08/14/1973 46500.00 1000.00 4220.00 200120 GREG ORLANDO A00 2167 05/05/2002 CLERK 14 M 10/18/1972 39250.00 600.00 2340.00 200140 KIM N NATZ C01 1793 12/15/2006 ANALYST 18 F 01/19/1976 68420.00 600.00 2274.00 200170 KIYOSHI YAMAMOTO D11 2890 09/15/2005 DESIGNER 16 M 01/05/1981 64680.00 500.00 1974.00 200220 REBA K JOHN D11 0672 08/29/2005 DESIGNER 18 F 03/19/1978 69840.00 600.00 2387.00 200240 ROBERT M MONTEVERDE D21 3780 12/05/2004 CLERK 17 M 03/31/1984 37760.00 600.00 2301.00 200280 EILEEN R SCHWARTZ E11 8997 03/24/1997 OPERATOR 17 F 03/28/1966 46250.00 500.00 2100.00 200310 MICHELLE F SPRINGER E11 3332 09/12/1994 OPERATOR 12 F 04/21/1961 35900.00 300.00 1272.00 200330 HELENA WONG E21 2103 02/23/2006 FIELDREP 14 F 07/18/1971 35370.00 500.00 2030.00 200340 ROY R ALONZO E21 5698 07/05/1997 FIELDREP 16 M 05/17/1956 31840.00 500.00 1907.00 42 record(s) selected.
この時点で k8s ダッシュボード画面はこのようになっています。必要に応じて続けてコマンドを実行することもできます:

操作を終了して接続を切るには quit コマンドを実行します:
db2 => quit $ exit #
改めて k8s 上にデプロイした Db2 サーバーコンテナ(とクライアントコンテナ)が期待通りに動いていることが確認できました。