覚書-OpenShift内部の使用リソースの除去(Pruning)

パッとわかりにくかったので、備忘録として。

OpenShiftには、不要になったリソースを除去するためのCLIのコマンドがあります。対象となるリソースは、builds, deploymentsとimagesです。

builds - Docker Build, S2I Build, Custom Buildを実行するために生成されるオブジェクト。ビルドの度に生成されるので、何度もビルドをしていると溜まっていきいます。

deployments - デプロイを実行するためにに生成されるオブジェクト。

images - ビルドの結果生成さ、OpenShift内部に保存されるDocker Image。

builds, deployments はマニュアルに記載の通り system:admin というシステムアカウントで実行すれば、除去することができます。

$ oadm prune builds
$ oadm prune deployments

ですが、images の除去はちょっと違います。

$ oadm prune images
error: You must use a client config with a token

OpenShiftのユーザとしてログインしてから実行する必要がありますが、ここで準備が必要になります。通常のユーザには、system:image-prunerの権限がありません。 まず、OpenShiftの管理者でユーザ(ここではjoe)に system:image-pruner の権限を付与します。

$ oadm policy add-cluster-role-to-user system:image-pruner joe
$ oc login --username joe
$ oadm prune images
Dry run enabled - no modifications will be made. Add --confirm to remove images

Deleting registry layer blobs ...
BLOB
sha256:ddf7338aedaa23ecb45fe7adc222ee367bf822a8fe576e1ef02566a75ba07c2d
sha256:51352e3baedfe18f25986f24992fd79b403885301477ba28d293bb9ea1b177d9
sha256:1986487abec7fd451a1247e4ff522103b37d3f184758fb701518e44d8ef619a8
sha256:162699bb928f7acb06ece7a699006cc71aa18c08045d7bcc7075381a36c2962d
sha256:ae823ba6c0be979b400879198a21b8c629a7933d1c24c166ff4f546a214063c5

Deleting images from OpenShift ...
IMAGE
sha256:4d3785ddc85f1c53105b54792a23ee4c4ccf6e27cf4f1dcb597094d8d182a345

詳細は、Administrator Guide[1]をご参照ください。

[1]https://access.redhat.com/documentation/en/openshift-enterprise/version-3.0/openshift-enterprise-30-administrator-guide#pruning-resources