[บันทึกกันลืม] Virtualization ด้วย KVM และ Cockpit

จุดประสงค์: เพื่อให้ใช้งาน physical server ได้เต็มประสิทธิภาพ พอดีใช้ Kubernetes จนถึง ลิมิต 110 pods / node ทำไงดี CPU/Ram เหลือ เลยคิดจะทำ Virtualization ขึ้นไปอีกชั้น จากนั้นก็เอามา join เข้า cluster อีกเครื่อง ทำให้สร้าง 220 pods / nodes เอาว่า เป็นเพื่อการทดลอง แต่ใครมี server ใช้งานไม่เต็มประสิทธิภาพ จะใช้ vmware ก็เกรงจะต้องเสียตังค์ หรือ ไม่อยากไปใช้ promox ve ซึ่งไม่รู้เมื่อไหร่จะต้องเสียตังค์ ก็ลองดูวิธีนี้ได้ ติดตั้ง KVM บน Ubuntu 22.04 ติดตั้ง Cockpit สร้าง VM ใช้งาน cockpit http://server-ip-address:9090

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

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

[บันทึกกันลืม] ปัญหา 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

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

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

[บันทึกกันลืม] แก้ปัญหา rejoin node rke2 ไม่ได้

ปัญหา node หนึ่งใน Rancher ใช้งานได้ตามปรกติ แต่ไป sudo apt update; sudo apt upgrade แล้วเกิดเหตุให้ ต้อง restart node ปัญหาที่เกิดขึ้นคือ pod ที่มาสร้างบน node นี้ไม่สามารถติดต่อกับระบบได้เลย อาการ pod จะ CrashLoopBackOff ตลอด หรือถ้าดู event จะเห็น timeout ตลอดครับ วิธีแก้ไข ได้ลอง format เครื่องก็แล้ว ทำหลายอย่างแล้วก็ไม่หาย ขอบคุณ คุณธนกร กิจศรีนภดล (เทียน) ได้ไปค้นหาวิธีการแก้ไขมาให้ โดยเหตุมาจาก Kernel ของ Ubuntu 20.04 กับ kernel ของ rke2 รุ่นที่ใช้งานอยู่ มี Bug เรื่อง UDP … Read more