เคยเจอปัญหาทำการลบ project ใน OpenShift แล้วค้างสถานะ Terminating กันมั้ยครับ
วันนี้ผมวิธีแก้มาฝากครับ โดยถ้าเราทำการลบ project หรือ namespace แล้วค้างสถานะ Terminating นานเกินปกติเราสามารถสั่งลบผ่าน API ได้ตามขั้นตอนนี้ครับ
- get configuration ของ project (PR) ออกมาในรูปแบบของ Json เช่นในที่นี่ผมจะลบ project ชื่อ pacman
oc get namespace pacman -o json > pacman.json
2. ลบ kubernetes ออกจากส่วนของ finalizer
ให้เหลือแค่นี้
3. สร้าง proxy สำหรับเข้าถึง OpenShift API
oc proxy &
4. ส่งค่า configuration กลับไป update ใหม่ผ่านทาง API
curl -k -H “Content-Type: application/json” -X PUT — data-binary @pacman.json http://127.0.0.1:8001/api/v1/namespaces/pacman/finalize
โดย format จะเป็น
curl -k -H “Content-Type: application/json” -X PUT — data-binary @ชื่อไฟล์.json http://127.0.0.1:8001/api/v1/namespaces/ชื่อ project/finalize
เท่านี้ก็เรียบร้อย project หายไปแล้ว
5. kill proxy ที่สร้างไว้ทิ้งซะ
kill -9 %%