IBM Cloud Kubernetes Serviceには、Docker Private RegistoryであるContainer-Registoryというサービスがあります。
このサービスでは無料で512MBまで利用が可能なのですが、ビルドが重なっていくとすでに使用しなくなったタグのイメージが残って、上限に達してビルドできないときなどもあります。
この上限は無料での利用範囲を示しているだけで、
有料プランへアップグレードすることで容量に合わせた従量課金に切り替えることが可能となっています。
プラン名 | 価格 |
---|---|
Lite | 512MBまでのコンテナイメージ保管 5GBまでのコンテナダウンロード |
Standard | Lite(無料)プランの範囲+ 超過した場合は |
コンテナイメージ保管: 1GBあたりの従量課金$0.05/GB月 |
|
コンテナダウンロード: 1GBあたりの従量課金$0.08/GB |
基礎知識: Container-Registoryの使用状況とプランの確認
Container Registoryの使用容量を確認する
英語環境(LANG=C)での実行イメージ
$ ibmcloud cr quota
Getting quotas and usage for the current month, for account 'Shoichiro Sakaigawa's Account'...
QUOTA LIMIT USED
Pull traffic Unlimited 0 B
Storage Unlimited 1.3 GB
OK
日本語環境(LANG=ja_JP.UTF8)での実行イメージ
$ ibmcloud cr quota
アカウント「Shoichiro Sakaigawa's Account」の今月の割り当て量と使用量を取得しています...
割り当て量 制限 使用済み
プル・トラフィック 無制限 0 B
ストレージ 無制限 0 B
OK
プランの確認
既に手元のアカウントがStandard版へアップグレード済みのため参考までですが、
無料版の場合は「Lite」と表示されます。
$ ibmcloud cr plan
アカウント「Shoichiro Sakaigawa's Account」の価格設定プランを取得しています...
「Standard」価格設定プランを使用しています。
OK
プランのアップグレード
既に手元のアカウントがStandard版へアップグレード済みのため参考までですが、
無料版の場合は「Lite」と表示されます。
yを押すとアップグレードが可能となります。
$ ibmcloud cr plan-upgrade
アップグレードすると、お客様は「Standard」価格設定プランのご使用条件に同意したものとみなされます。https://www.ibm.com/software/sla/sladb.nsf/sla/bm-7670-03
この操作は元に戻せません。
価格設定プランのアップグレードを続行しますか? [y/N]>
イメージの一覧確認と削除
イメージ一覧の取得
DevOps ToolChainで白熱してビルドし続けるとあっという間にContainer-Registoryがいっぱいになります。
今回はこれらを削除して整理していきます。
$ ibmcloud cr images
REPOSITORY TAG DIGEST NAMESPACE CREATED SIZE SECURITY STATUS
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180226145700117 1 b7038a18e86d gb_pumpkinheads 3 months ago 242 MB 29 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180226145700117 2 b7038a18e86d gb_pumpkinheads 3 months ago 242 MB 29 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180226145700117 3 b7038a18e86d gb_pumpkinheads 3 months ago 242 MB 29 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180226145700117 4 3fe3c4a7cbfa gb_pumpkinheads 3 months ago 242 MB 29 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180226145700117 5 b7038a18e86d gb_pumpkinheads 3 months ago 242 MB 29 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180312134038171 1 3e755832745f gb_pumpkinheads 2 months ago 246 MB 27 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180312134038171 10 cc33d7d3b3ef gb_pumpkinheads 2 months ago 246 MB 27 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180312134038171 11 1db12d3a79a0 gb_pumpkinheads 2 months ago 246 MB 27 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180312134038171 12 f42d44aed932 gb_pumpkinheads 2 months ago 246 MB 27 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180312134038171 13 23619485e0eb gb_pumpkinheads 2 months ago 246 MB 27 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180312134038171 14 31c0c9fef831 gb_pumpkinheads 2 months ago 246 MB 27 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180312134038171 15 fad89aa69b47 gb_pumpkinheads 2 months ago 246 MB 27 Issues
registry.eu-gb.bluemix.net/gb_pumpkinheads/ch07-app-20180312134038171 16 32b834da4ce0 gb_pumpkinheads 2 months ago 246 MB 27 Issues
不要イメージの削除
不要イメージを個別に削除するには以下のコマンドで実施します。
$ ibmcloud cr image-rm {REPOSITORY}:{TAG}
番外編)空になるまですべて削除するワンライナー
すでに50個くらいのタグ付きビルドで溢れていたので一気に削除をする方法が無いか試してみました。
$ for str in `ibmcloud cr images | grep registry | awk '{print $1":"$2}'`; do ibmcloud cr image-rm $str; done
まとめ
DevOps ToolChainでLiveコーディングしながらGitPushする度にビルドできるのは便利な反面、コンテナイメージが肥大化するとあっという間に消費してしまう。コンテナ自体の軽量化の見直しはもちろんのこと、Container-Registoryの定期的なメンテナンスは必要ですね。