หลายวันก่อนได้ Always Free VM มาจาก Google Cloud และ Oracle Cloud รวมเป็น 3 VM เลยลองใช้ freelan VPN เพื่อสร้าง network layer ขึ้นมาอีกชั้นให้ทั้ง 3 VM มองเห็นกันได้เสมือนอยู่ในวง LAN เดียวกัน (เพื่อให้ access เครื่อง server ที่บ้าน ซึ่งเป็น dynamic NAT IPv4 ได้ด้วย)

  • ไหนๆ ก็มี 3 VM อยู่ในวงเดียวกันแล้ว ก็เลยลองติดตั้ง k3s ให้เป็น Kubernetes Cluster แบบ lightweight อีกที โดยใช้ k3sup

  • หลังจากลองผิดลองถูกอยู่ 2 วัน เปลี่ยน network จาก flannel ที่ติดมากับ k3s เป็น calico เพราะเหมือนว่า flannel บน k3s release ล่าสุดจะมี bug ทำให้ใช้งานบน Oracle Cloud ไม่ได้ คนอื่นเจอเหมือนกัน เห็นเปิดเป็น issue อยู่ใน GitHub

  • set MTU ให้ถูกต้อง VM บน GCP คุยกับคนอื่นนอก GCP ได้ MTU ไม่เกิน 1460 แต่บน freelan ต้องเสีย header ไปอีกทำให้ freelan ใช้ได้ไม่เกิน 1400 และ calico ต้องเสีย header ไปอีก 50 ทำให้เหลือใช้ได้แค่ 1348 ตามหลักการที่ MTU ควรจะหาร 4 ลงตัว เลยต้อง download calico.yaml มาแก้ MTU เอง

  • ลงเสร็จจะใช้ default storage class เป็น longhorn ปรากฏว่ามีปัญหาเพราะ default calico จะไม่ยอมให้ pod forward package เลยต้องแก้ calico.yaml อีกรอบ

  • สุดท้ายได้ k3s cluster + longhorn แต่เหลือ memory บน master node ให้ใช้ได้อีกแค่ 200M ฮ่าฮ่า เดี๋ยวคงต้อง set quota แต่ละ node ให้ pod ที่จะ deploy ไปวิ่งอยู่บน worker nodes แทน

Nov 07, 2019, 11:52:02 GMT+7 1 replies