IBM Cloud Kubernetes / Red Hat OpenShift on IBM Cloud のクラスター、誰が作ったの？

IBM Cloud KubernetesサービスやRed Hat OpenShift on IBM Cloudサービスをチームで使っていると、およそ3ヶ月に一度提供されるKubernetesのマイナーバージョンアップへの対応、OpenShiftやKubernetesのワーカーノードへのパッチの適用、クラスターの状態が"Critical"/"unknown"となっていて対応を促す場合をはじめ、クラスターの所有者による対応が必要な場合があります。
しかしIBM Cloudコンソールにはクラスターの作成者を表示する機能がなく、アカウント所有者であっても誰が作ったのか簡単に知る方法がありません。CLIを使うと簡単に表示できるのですが、"あるオプション"をつけないと表示できないので、その方法をご紹介します。

# 前提条件
以下の条件を満たすクライアントPC環境
- IBM Cloud CLIが導入済
- IBM Cloud Kubernetes Service CLI plug-in (ibmcloud ks) が導入済み
- IBM Cloud CLIにログイン済 (ibmcloud login)

# 確認手順
IBM Cloud KubernetesサービスのKubernetesクラスター、まずはクラスターの一覧を取得してみましょう。

バージョンが 1.1x となっているのがIKSのクラスタ、 3.11, 4.x となっているのがOpenShiftのクラスターです。IKSとOpenShift on IBM Cloudはもともと同じサービスなので、CLIではこのように同じように表示されています。

```
 % ibmcloud ks clusters
OK
Name                         ID                                 State     Created        Workers   Location   Version                   Resource Group Name   Provider   
xxxxxxxx-cluster             bq5xxxxxxxxxxxxxx9jg               normal    1 month ago    1         Tokyo      1.16.9_1529               Default               classic   
xxx-mycluster                bq6xxxxxxxxxxxxxxa40               normal    1 month ago    1         Tokyo      1.16.9_1529               Default               classic   
mycluster                    boexxxxxxxxxxxxxxcr0               warning   3 months ago   2         Tokyo      1.16.9_1529               Default               classic   
myrokscluster43              bqfxxxxxxxxxxxxxxos0               normal    2 weeks ago    6         Tokyo      4.3.12_1520_openshift     Common                classic   
xxxcluster                   bqbxxxxxxxxxxxxxxjh0               normal    3 weeks ago    4         Tokyo      3.11.200_1548_openshift   Common                classic   
xxxxxxxx-cluster             blpxxxxxxxxxxxxxxo70               normal    8 months ago   4         Tokyo      1.17.5_1522               Default               classic   
xxxxxxcluster                bq9xxxxxxxxxxxxxxkqg               normal    4 weeks ago    4         Tokyo      3.11.200_1548_openshift   Default               classic   
xxxx0917                     bm0xxxxxxxxxxxxxxgs0               normal    7 months ago   1         Tokyo      1.16.9_1529               Default               classic   
```

一覧には作成者に関する情報は含まれません。表示されなかったので、次に個々のクラスターの詳細情報を取得してみます。"xxx-mycluster"の情報を取得してみます。

```
% ibmcloud ks cluster get --cluster xxx-mycluster
Retrieving cluster xxx-mycluster...
OK
                                   
Name:                           xxx-mycluster   
ID:                             bq6xxxxxxxxxxxxxxa40   
State:                          normal   
Created:                        2020-04-07T07:26:34+0000   
Location:                       tok02   
Master URL:                     https://c1.jp-tok.containers.cloud.ibm.com:30000   
Public Service Endpoint URL:    https://c1.jp-tok.containers.cloud.ibm.com:30000   
Private Service Endpoint URL:   https://c1.private.jp-tok.containers.cloud.ibm.com:30000   
Master Location:                Tokyo   
Master Status:                  Ready (2 weeks ago)   
Master State:                   deployed   
Master Health:                  normal   
Ingress Subdomain:              xxx-mycluster-c82xxxxxxxxxxxxxxxxxxxxxxxxxx9a8-0000.jp-tok.containers.appdomain.cloud   
Ingress Secret:                 xxx-mycluster-c82xxxxxxxxxxxxxxxxxxxxxxxxxx9a8-0000   
Workers:                        1   
Worker Zones:                   tok02   
Version:                        1.16.9_1529   
Creator:                        -   
Monitoring Dashboard:           -   
Resource Group ID:              d07xxxxxxxxxxxxxxxxxxxxxxxxxxxfc5   
Resource Group Name:            Default   
```

取得した詳細情報でも Creater(作成者) は `-` と表示されていますね。残念ながらここでもそれと思われるフィールドは出てきましたが、表示されませんでした。

個々で作成したクラスターの詳細情報を取得するためのコマンド`ibmcloud ks cluster get`には`--show-resources`というオプションがあり、それをつけるともう少し詳細な情報を取得できます。

```
% ibmcloud ks cluster get --cluster xxx-mycluster --show-resources
Retrieving cluster xxx-mycluster and all its resources...
OK
                                   
Name:                           xxx-mycluster   
ID:                             bq6xxxxxxxxxxxxxxa40   
State:                          normal   
Created:                        2020-04-07T07:26:57+0000   
Location:                       tok02   
Master URL:                     https://c1.jp-tok.containers.cloud.ibm.com:30000   
Public Service Endpoint URL:    https://c1.jp-tok.containers.cloud.ibm.com:30000   
Private Service Endpoint URL:   https://c1.private.jp-tok.containers.cloud.ibm.com:30000   
Master Location:                Tokyo   
Master Status:                  Ready (2 weeks ago)   
Master State:                   deployed   
Master Health:                  normal   
Ingress Subdomain:              xxx-mycluster-c82xxxxxxxxxxxxxxxxxxxxxxxxxx9a8-0000.jp-tok.containers.appdomain.cloud   
Ingress Secret:                 xxx-mycluster-c82xxxxxxxxxxxxxxxxxxxxxxxxxx9a8-0000   
Workers:                        1   
Worker Zones:                   tok02   
Version:                        1.16.9_1529   
Creator:                        XXXXX@jp.ibm.com   
Monitoring Dashboard:           -   
Resource Group ID:              d07xxxxxxxxxxxxxxxxxxxxxxxxxxxfc5   
Resource Group Name:            Default   
```

`Creator: XXXXX@jp.ibm.com`という部分に作成者のIBMid(メールアドレス)が表示されましたね。このIBMidこそ、クラスターを作成した方です。

ということで、IBM Cloud Kubernetes/Red Hat OpenShift on IBM Cloudクラスターの作成者を突き止める方法をご紹介しました。

# まとめ

`ibmcloud ks cluster get --cluster <CLUSTER-NAME> --show-resources`をつかうことでクラスターの作成者を取得することができました。

# 参考

[クラスターの詳細情報の表示](https://cloud.ibm.com/docs/containers?topic=containers-cli-plugin-kubernetes-service-cli#cs_cluster_get)