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

#手順メモ
##1. BluemixのカタログからContainer Registryを選択します。
カタログから検索します。

<img width="1266" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/63451/8bea4e8a-50b9-e801-4a49-516d0fcdca71.png">

IBM Public Repositoriesを選択します。

<img width="1271" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/63451/1a293422-cd4f-7fab-75d5-ba7c3969ab0d.png">

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

<img width="1264" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/63451/1af7beb8-577d-6b73-3103-e353f8611fbc.png">

##3. コンテナ・イメージのセキュリティ・レポートを確認します。
Container Registryには、Vulnerability Advisor によるイメージ・セキュリティー・コンプライアンス機能があります。

<img width="1271" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/63451/e32c71e3-c023-7346-4750-9c942dc7d1c7.png">

##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がデプロイされていることが確認できます。

<img width="1263" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/63451/8222ca05-c642-dbd4-d58c-80c83c525730.png">

##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ダッシュボードでサービスが稼働していることを確認できます。

<img width="1251" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/63451/c12b964b-1d90-cb57-732c-bc48f362ac34.png">

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

<img width="776" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/63451/38910883-db22-4ea5-c829-791d9937dc38.png">