เมื่อผมเรียน Kubernetes กับ acoshift

บทเรียน kubernetes

ก่อนจะเข้าเรื่องก็มารู้จักกับเจ้า Kubernetes หรือ k8s กันก่อน สำหรับ k8s นั้นเป็นเครื่องมือที่คอยทำหน้าที่จัดการกับ container ที่ทำงานอยู่บน cloud ซึ่ง open source ตัวนี้ถูกพัฒนาโดย google และ เติบโตเร็วมากเพราะ community ช่วยกันพัฒนาอย่างบ้าพลัง(เพราะของมันดี) และ เจ้า Kubernetes นี้ความสามารถไม่ว่าจะเป็นการ build, deploy และ scale ทำได้ง่ายมากๆ และ ใช้งานได้ดีที่สุดบน Google Container Engine ก็เพราะ google สร้างหนิเนาะสำหรับใครอยากรู้จักเพิ่มมากขึ้นลองอ่านอันนี้ก่อน


ด้วยโปรเจคที่ผมได้รับมอบหมายนั้นอยากได้อะไรที่ build, deploy และ scale ง่ายถ้าเกิดวันดีคืนดีไอ้ที่ไปบนศาลไว้ว่าขอให้รุ่งๆปังๆดันเกิดสัมฤทธิ์ผลเราควรจะกดปุ่ม scale ปั๊บใช้งานได้เลย..ก็เลยออกตามหาสิ่งที่น่าจะเหมาะสมกับงานนี่ และ โชคก็เข้าข้างเราเมื่อที่ปรึกษาของโปรเจคใช้ k8s พอดีหลังจากคุยไปคุยมาซักพักก็อ๋อทันทีว่า “กูไม่เข้าใจแน่ๆ” ก็เลยถาม acoshift ว่าเปิดคอร์ส k8s อีกครั้งรอบไหนก็ได้วันที่มาคือ 7–8 ตุลาคม 2017 เป็นรอบที่ 5 ของ acoshift พอดีเอาละเข้าเรื่องกันเกริ่นมาซะยาว

k8s course by acoshift

หลังจากลงทะเบียนเรียบร้อยก็ได้หน้าตาบทเรียนคร่าวๆสำหรับ 2 วัน ผ่าม!! ความคิดแรกในหัวนี่มันอะไรว่ะเนียแต่ก็พยายามทำใจร่มๆ และ แล้วก็มาถึงวันที่ 1 ของการเรียนเราเริ่มเรียนตั้งแต่แถวแรกไล่จากบนลงล่างความสนุกสนานยังอยู่ครบ และ แล้วก็พักเที่ยง acoshift บอกว่าที่เรียนมายังไม่ได้เอาแบบนี้ขึ้นของจริงนะมันต้องทำอย่างอื่นเพิ่มด้วย………อึ้งไปแบบนึงก็ได้คำตอบว่าเราต้องรู้จักตั้งแต่เริ่มว่า node, pod, services, Replica Sets มันคืออะไรเพราะตอนใช้จริงเราต้องเอาทุกอย่างมายำๆกันเกิดเป็น Deployments ….

วันที่ 2 เราก็เรียนอย่างบ้าพลังเพราะ acoshift ใส่ไม่ยั้งความรู้แน่นๆ ไล่รายละเอียดแบบถึงพริกถึงขิงจนต้องร้องขอเวลาพักเป็นระยะๆ และ แล้วก็จบวันที่ 2 แบบความรู้แทบระเบิด ที่เล่ามาเป็นประสบการณ์แบบคร่าวๆเพราะถ้าให้ร่ายยาวจริงๆคงไม่มีใครอ่านแน่นอนเรามาดูสิ่งที่ต้องเตรียมก่อนไปเรียนกันดีกว่า

ความรู้ และ สิ่งที่ต้องเตรียม

  1. รู้จักการใช้งาน Docker ตั้งแต่สร้าง container, dockerfile, pull images, push images, port, etc..
  2. อย่างน้อยเคยเล่น VM ลง LEMP หรือ LAMP ให้รัน PHP ได้ก็จะเข้าใจอะไรมากขึ้น
  3. รู้จัก syntax ของไฟล์ YAML ในระดับนึงเพราะสำคัญมากเวลาเขียน deployments และ อื่นๆใช้ YAML เป็นส่วนใหญ่
  4. รู้จัก nginx ค่าพื้นฐานการ config บ้างเพราะวันที่ 2 เราจะทำ loadbalance หรือ serve static file ด้วย nginx สำหรับ HTML ของเรา **อันนี้ดี
  5. เตรียมคำถาม หรือ ตัวอย่างโปรเจค หรือ structure ของ project มาถามเยอะๆ
  6. ควรจดลงสมุด **เสียดายที่ผมคิดว่ามันง่ายเลยไม่ได้จด
  7. พักผ่อนให้มากๆอย่านอนดึกก่อนไปเรียน ** สำคัญมาก
  8. ห้ามกินข้าวตอนเที่ยงเยอะรับรองมีหลับตอนบ่ายเพราะโซฟานิ่มเกินบรรยาย
  9. เตรียมตัวกินของว่างตอนบ่าย ขนมหวานอร่อยมาก แต่ก็ทำให้หลับง่ายเช่นกัน

สิ่งที่ได้จากคอร์สนี้

ต้องบอกก่อนว่าท่าน acoshift เป็นคนที่สอนละเอียดมากควร Focus ตลอดเวลาเพราะเนื้อหาแต่ละอันได้ใช้จริงทั้งนั้นเพราะเป็นประสบการณ์ที่นำมาถ่ายทอด และ หลังจากจบคอร์สนี้บอกได้เลยว่าเราจะไม่เข้าใจถ้าไม่ลงมือทำจริงๆและลองเล่นจริงๆหลังจากผมกลับมาก็ลองเล่นทันทีและก็พึ่งเข้าใจในหลายๆอย่างที่ acoshift บอก ส่วนความรู้ไม่ต้องพูดถึงอยากรู้จุดไหนจะท่าอะไรผมคิดว่า acoshift ตอบได้ตรงประเด็นมาก

จริงๆไม่ได้มีคอร์สเดียวนะครับ acoshift ยังสอน vuejs, firebase, angular, rxjs, Golang(!!โหด), ล่าสุดเป็นเนื้อหาเกี่ยวกับ backend

สุดท้ายนี้ถ้าใครอยากไปฟังการสอนก่อนแนะนำให้ไปงานนี้เพื่อทำความรู้จัก และ ไปชูป้ายไฟ ฮ่าๆ สำหรับใครที่สงสัยว่าทำไมผมเรียก acoshift เพราะเราไม่ควรเปิดเผยตัวตนของเค้า 555+ จริงๆชื่อเล่นเค้าคือ ท่านนอร์ธ(เป็นคนตลก 55+)

ติดตามอ่านบทความของ acoshift ได้ที่

เกี่ยวกับผู้เขียน

ITTHIPAT

สวัสดีครับผม อิทธิพัทธ์ (เป้) ชอบหาเทคนิคต่างๆที่ทำให้ชีวิต Programmer ง่ายขึ้น ทั้ง Automate, Library ชอบทำ Blog และ Video ถ้ามีเวลานะ!

ขอบคุณทุกคนที่ติดตาม และอ่านบทความของผมครับ ผมหวังว่าความรู้ที่เขียนขึ้นในเว็บไซต์นี้จะช่วยทุกท่านได้ไม่มากก็น้อย 

Scroll to Top