今天這篇文章來分享一下對於昨天所談的 UDP Race Condition 的解法,主要是針對 Kubernetes dns 問題去探討,
一個作法就是透過 nodelocaldns 這種不同的架構,該架構下會於每個節點上部屬一個 DNS Cache,所有該節點上的 Pod 都會透過 UDP 與該 DNS Cache 溝通。 而這段網路請求因為發生於同節點上,所以 kube-proxy 產生的規則不會介入,因此那些 iptables/ipvs/conntrack 就不會影響到,就不會產生上次所說的 bug.
接者,每個節點上的 DNS cache 會透過 TCP 的方式去跟 kube-dns 來詢問最後的答案,透過 TCP 重送的方式來減緩封包遺失造成的 timeout 問題
https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/
https://github.com/kubernetes/kubernetes/issues/56903
command line tool 在 Microsoft Azure Facebook 的最佳貼文
Discover how to successfully deploy an Azure Web App by using only the command-line tool in the Azure portal. Watch now: http://msft.social/Csbvww
command line tool 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
สรุปให้ #โปรแกรมเมอร์ ขีดเส้นใต้เฉพาะมือใหม่ ควรเรียนรู้อะไรบ้าง? /เครดิตคุณ ijemmy
-ใช้ version control บทความนี้จะเป็น Git
-รู้จักคำสั่ง Linux + Command Line Interface (CLI)
-รู้จัก Shortcut ของ IDE/Editor ที่ใช้อยู่
-สำหรับ Web Dev หัดใช้เครื่องมือ debug ให้เป็น ซึ่งในบทความจะใช้ Chrome Developer Tool
-Design Patterns ซึ่งก็คือรูปแบบการแก้ปัญาที่พบเจอบ่อยๆ ในโลกเขียนโปรแกรม
ส่วนใหญ่ก็หนีไม่พ้นในรูป OOP (Object-oriented Programming)
แต่ OOP มันมีทั้งข้อดีข้อเสีย บางโจทย์ปัญหาไม่เหมาะเท่าไร
ถ้าเป็นไปได้ ลองเรียนรู้รูปแบบเขียนโปรแกรมอย่างอื่นๆ บางก็ดี
-หัดใช้ Docker
ส่วนทักษะอื่นๆ
-มีทัศนคติในการเรียนรู้
-ภาษาอังกฤษให้เป็น
-อย่าเน้นที่ปริมาณภาษา เน้นที่วิธีการเขียนโปรแกรม
-เรียนรู้สาขาต่างๆแบบตัว T หมายถึง ให้ลงลึกในสาขาหนึ่ง ส่วนสาขาอื่นๆรอบข้าง ไม่ต้องลงลึกมาก แต่ต้องพอรู้
-ทำงานร่วมกับผู้อื่นให้เป็น
-รู้จักดูแลสุขภาพตัวเอง
สำหรับด้านเทคนิค อยากเสริมเรื่อง Test, Refactoring , clean code
รวมถึงใช้เว็บพวก Google, Stack overflow ฯลฯ ใช้หาข้อมูลให้เป็น
พยายามอ่าน error หรือข้อความแจ้งเตือนต่างๆ ให้ออก อันนี้ก็สำคัญ ตกม้าตายกันได้ง่ายๆ เพราะบ้างทีข้อความมันแจ้งชัดว่าเกิดอะไรขึ้น แต่ไม่ได้ใส่ใจ
อ่านต่อภาค 2
http://www.notaboutcode.com/…/07-career-start-non-technical/