[บันทึกกันลืม] K8S เอา node เดิม join กลับเข้ามาไม่ได้ เป็นปัญหาเพราะ CNI

ปัญหา: ในบางกรณี เราต้อง delete node ออกไป แต่บางที join กลับได้ แต่ ไม่สามารถ allocate pod ไปได้ แล้วพบว่า ให้ทำดังต่อไปนี้ กับ nodeX ที่มีปัญหา (ดูจาก subnet ที่ปรากฏ) ด้วยคำสั่งต่อไปนี้ เริ่มจากไปที่ control plane แล้ว delete nodeX ออกไป แล้ว copy คำสั่งที่ได้มา หน้าตาประมาณนี้ จากนั้นไปที่ nodeX ก็จะใช้งานได้แล้ว

[บันทึกกันลืม] ปัญหา Kubernetes มี Disk Pressure แล้วทำให้ pods อยู่ในสถานะ Evicted ค้างจำนวนมาก

ปัญหา: เมื่อใช้คำสั่ง kubectl get pod -A แล้ว พบว่า มี pod แสดงสถานะ Evicted เป็นจำนวนมาก (จริง ๆ แล้วมีสถานะอื่นที่ไม่ใช่ Running จำนวนมาก) ตรวจสอบ: สันนิษฐานว่า Disk เต็ม ใช้คำสั่ง kubectl describe node | grep -i DiskPressure พบว่า KubeletHasDiskPressure แสดงว่า มีปัญหาอะไรสักอย่างกับ Storage และเมื่อดูด้วย kubectl logs -f pod/thepodname -n thenamespace พบว่า “attempting to reclaim ephemeral-storage” แนวทางการแก้ปัญหา: แต่ละ node ติดตั้งแบบแบ่ง Partition ให้ OS เป็น … Read more

วิธีซ่อนเวอร์ชัน Apache และ Linux (Ubuntu/Debian) OS จากส่วนหัว HTTP Headers

How to Hide Your Apache Version and Linux (Ubuntu/Debian) OS From HTTP Headers ด้วย (ร่าง) มาตรฐานเว็บไซต์มหาวิทยาลัยสงขลานครินทร์ พ.ศ. 2567 และแนวปฏิบัติการรักษาความมั่นคงปลอดภัยเว็บไซต์ (Website Security Guideline) สำนักงานคณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติ (สกมช.) สำหรับการใช้งาน HTTP Response headers* ถูกใช้เพื่อส่งต่อนโยบายความปลอดภัยไปยังเบราเซอร์  ทำให้การเปิดเว็บไซต์ของเรามีความปลอดภัยเพิ่มมากขึ้น ซึ่งการกำหนดให้ Server Type ไม่แสดงข้อมูล เกี่ยวกับระบบปฏิบัติการและรุ่นของโปรแกรมเว็บไซต์ ที่ส่งผ่าน HTTP Response headers ที่ใช้งานผ่าน Apache2 เวอร์ที่สูงกว่า 2.4.8 มีวิธีซ่อนเวอร์ชัน Apache และ Linux (Ubuntu/Debian) OS จากส่วนหัว HTTP Headers ดังนี้ ขั้นตอนที่ 1 … Read more

[บันทึกกันลืม] วิธีหาไฟล์ที่มีคำที่ต้องการ โดยแสดงเฉพาะ ชื่อไฟล์เท่านั้น

โจทย์ ต้องการหาไฟล์ที่มีคำว่า text_pattern จากทุกไฟล์ในไดเรคทอรี่ /path/to/ ที่มีนามสกุล .ipynb แต่ต้องไม่มีคำว่า checkpoint ใน path หรือชื่อไฟล์