操作ectd 刪除資源

最近在開發容器平臺項目時需要調tke對集羣進行CRUD操作,總是偶現調接口刪除集羣后,出現在tke界面顯示集羣處於Terminating。基於需求,寫下本篇文章。

獲取集羣中的etcd pod 列表

# ctl get po -n kube-system | grep etcd
etcd-192.168.xxx.45                      1/1     Running   45         25d
etcd-192.168.xxx.46                      1/1     Running   2          23d
etcd-192.168.xxx.47                      1/1     Running   2          397d

進入etcd 容器並配置環境

# ctl exec -it etcd-192.168.xxx.46 -n kube-system -- /bin/sh
# etcd --version
etcd Version: 3.4.7
Git SHA: e694b7bb0
Go Version: go1.12.17
Go OS/Arch: linux/amd64
# alias etcdctl='etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key'

檢索etcd中的所有目錄和子目錄

# etcdctl get /  --prefix --keys-only

檢索單個資源的詳細信息

輸出格式有四種,但是protobuf和simple會亂碼,這裏使用json格式。

# etcdctl get /tke/platform/clusters/cls-g5xxxtql -w json
{"header":{"cluster_id":16977795579664915518,"member_id":5537999761451951234,"revision":201808958,"raft_term":3778}}

etcdctl 刪除數據

以特殊數據爲例:tke的集羣刪除處於Terminating , 無法通過常規命令等刪除

# ctl get cls | grep Terminating
cls-vwxxx2cz   Baremetal   1.18.3    Terminating   22d
cls-wc8xxxms   Baremetal   1.18.3    Terminating   5d20h
cls-wflnxxx8   Baremetal   1.18.3    Terminating   5d11h

# etcdctl get /  --prefix --keys-only | grep clusters
/tke/platform/clusters/cls-g5xxxtql
/tke/platform/clusters/cls-vwxxx2cz
/tke/platform/clusters/cls-wc8xxxms
/tke/platform/clusters/cls-wflnxxx8
/tke/platform/clusters/zisefeizhu

# etcdctl del /tke/platform/clusters/cls-vwxxx2cz
1

# ctl get cls | grep Terminating
cls-wc8xxxms   Baremetal   1.18.3    Terminating   5d20h
cls-wflnxxx8   Baremetal   1.18.3    Terminating   5d11h

更多的etcd操作請查看:https://etcd.io/docs/v3.5/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章