Container RegistryからWAS LibertyをKubernetes Clusterにデプロイしてみた


手順メモ

1. BluemixのカタログからContainer Registryを選択します。

カタログから検索します。

IBM Public Repositoriesを選択します。

2. パブリック・リポジトリーに登録されているイメージから「ibmliberty」を選択します。

3. コンテナ・イメージのセキュリティ・レポートを確認します。

Container Registryには、Vulnerability Advisor によるイメージ・セキュリティー・コンプライアンス機能があります。

4. ローカル・マシンにイメージをダウンロード

次に、$ docker pull <イメージ名>コマンドを使ってローカル・マシンに IBM パブリック・イメージをプルします。

$ docker pull registry.ng.bluemix.net/ibmliberty
Using default tag: latest
latest: Pulling from ibmliberty

23a6960fe4a9: Pull complete
e9e104b0e69d: Pull complete
cd33d2ea7970: Pull complete
534ff7b7d120: Pull complete
7d352ac0c7f5: Pull complete
00ea380f4a2b: Pull complete
d57bd07d40be: Pull complete
52ce3f081b43: Pull complete
e74208543a5d: Pull complete
f242c506d487: Pull complete
c5e34b989108: Pull complete
b8e17ae42d42: Pull complete
ea4e983b53a3: Pull complete
c7275ef04ef2: Pull complete
c4fca8bb5fdb: Pull complete
0a325c6777e1: Pull complete
6cd97030ff5c: Pull complete
bececf98c619: Pull complete
bd8cb9401262: Pull complete
5458b5befe5d: Pull complete
Digest: sha256:d54e746b6057c5cb488d885f23e5388559ba3b3a78f7344ec9c773b69ceb7805
Status: Downloaded newer image for registry.ng.bluemix.net/ibmliberty:latest

5. Kubernetes Clusterにデプロイ

kubectl run <サービス名>コマンドを使って、Kubernetesクラスターにデプロイします。

$ kubectl run ibmliberty --image=registry.ng.bluemix.net/ibmliberty
deployment "ibmliberty" created

6. ポッドの確認

ibmlibertyのポッドがデプロイされたことを確認します。

$ kubectl get pods -o wide
NAME                               READY     STATUS    RESTARTS   AGE       IP             NODE
ibmliberty-3382093745-rfpkc        1/1       Running   0          5m        172.30.53.93   50.23.39.106

Kubernetesダッシュボードからもibmlibertyがデプロイされていることが確認できます。

7. NodePortサービスの公開

デプロイメントをNodePortサービスとして公開し、インターネットからアプリにアクセスできるようにします。このクラスターにはワーカー・ノードが 1 つしかないので、ワーカー・ノード間のロード・バランシングは不要です。

$ kubectl expose deployment/ibmliberty --type=NodePort --port=9080 --name=ibmliberty --target-port=9080
service "ibmliberty" exposed

NodePort番号を確認するために、次のコマンドを実行します。

$ kubectl get svc ibmliberty
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)          AGE
ibmliberty   10.10.10.2   <nodes>       9080:32097/TCP   27s

Kubernetesダッシュボードでサービスが稼働していることを確認できます。

8. ibmlibertyの稼働確認

ブラウザから、URL(ここでは http://50.23.39.106:32097 )にアクセスするとibmlibertyが稼働していることが確認できます。