1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Db2 11.5.4 on OpenShift をアンインストールする

Last updated at Posted at 2020-08-04

とりあえず入れてみたけれどやっぱり違う名前で入れなおしたい、ストレージオプションを間違えていてPodが起動しない、などなど、一度導入したミドルウェアをアンインストールしたくなる事だってたまにはあります。
そんな時のための備忘録として、Db2 11.5.4 on Openshift をアンインストールした時の作業記録を残します。

  • Db2 Community Edition 11.5.4.0 インストール時の手順・ログはこちらにまとめています
    Db2 11.5.4 on OpenShift をデプロイしてみた

  • Db2 11.5.4 on OpenShift は、Helm V2 を前提としていることから、このアンインストール手順も Helm V2 を前提に作成しています

参考資料

ここから先、記述する手順は、2020年7月時点のGitHubの手順をベースとしています。

Db2 Community Edition 11.5.4.0
https://github.com/IBM/charts/tree/master/stable/ibm-db2

Db2 on OpenShift アンインストールの流れ

  1. インストール済みのリリースを削除
  2. セキュリティ関連の構成オブジェクトの削除
  3. PVC/PVの削除

Step1. インストール済みのリリースを削除

リリース名を確認する ( → db2u-oltp-0 )

$ helm list 
"NAME      	      REVISION	          UPDATED                            STATUS           CHART              APP VERSION       NAMESPACE"
db2u-oltp-0      1                 Sun Jul 12 21:33:20 2020           DEPLOYED        ibm-db2-3.0.1        11.5.4.0         db2u-oltp0

helm delete コマンドでリリースを削除する

$ helm delete --purge db2u-oltp-0
release "db2u-oltp-0" deleted

削除できたことを確認する
(--namespaceオプションは指定しなくてもOK / この例ではdb2u-oltp0ネームスペース内のリリースを一覧表示)

$ helm list --namespace db2u-oltp0
(空白)

正常に削除できていれば、Pod/Jobなどもすべて削除される

$ oc get all | grep -i db2
No resources found in db2u-oltp0 namespace.

Step2. セキュリティ関連の構成オブジェクトの削除

db2u-install 前に作成した ServiceAccount, Role, Secret 等を削除する。
インストーラ同梱のスクリプトを用いてServiceAccount, Role , Rolebinding , SCCとRoleの紐づけを削除する。

$ cd <Db2u-installer_Extracted_Dir>/ibm_cloud_pak/pak_extensions/post-delete/namespaceAdministration/deleteSecurityNamespacePrereqs.sh

$ ./deleteSecurityNamespacePrereqs.sh
Removing all namespace users from SCC...
serviceaccount "db2u" deleted
role.rbac.authorization.k8s.io "ibm-db2-role" deleted
rolebinding.rbac.authorization.k8s.io "ibm-db2-rolebinding" deleted
securitycontextconstraints.security.openshift.io/db2oltp-scc removed from: ["system:serviceaccount:db2u-oltp0:db2u"]

Secret削除

$ oc delete -n <PROJECT> secret/<RELEASE-NAME>-db2u-ldap-bluadmin secret/<RELEASE-NAME>-db2u-instance

Step3. PVC/PVの削除

OCP版Db2公式のGitHubでは、下記コマンドによる削除方法が紹介される。

# kubectl delete pvc -l release=my-release

もしくは、下記のように個別に手動で削除する

① PVC削除

ここでは、「pvc00-nfsdb2」という名前のPVCを削除する

$ oc delete pvc pvc00-nfsdb2
persistentvolumeclaim "pvc00-nfsdb2" deleted

PVCが削除されたことを確認

oc get pvc
NAME           STATUS   VOLUME        CAPACITY   ACCESS MODES   STORAGECLASS   AGE
(該当のPVCが存在しない)

② PV削除

RelaimPolicy = Retain で作成されたPVは、PVCを削除してもPVは残り続けるため、不要であればディスクを占有させないよう明示的に削除する。

「pv00-nfsdb2」という名前のPVを削除する

oc delete pv pv00-nfsdb2
persistentvolume "pv00-nfsdb2" deleted

PVが削除されたことを確認

oc get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS     CLAIM                       STORAGECLASS      REASON   AGE
(該当のPVが存在しない)

③ NFSディレクトリのクリーンアップ

正常アンインストールができた場合も、NFSディレクトリーにDb2関連のディレクトリ・ファイルが残ることがある(etcd用のディレクトリ等)
また同じNFSディレクトリを再利用する場合には、手動で削除する。

(以下は、削除の一例)

# ls -la
total 0
drwxr-xr-x. 3 root root 18 Jun 10 01:56 .
drwxr-xr-x. 6 root root 57 Jul  4 02:12 ..
drwxr-xr-x. 5 root root 87 Jun 10 01:56 etcd

# rm -rf ./etcd

# ls -la
total 0
drwxr-xr-x. 2 root root  6 Jul 14 02:55 .
drwxr-xr-x. 6 root root 57 Jul  4 02:12 ..
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?