我要寫什麼
《看懂每一行代碼 - kubernetes》會包含k8s整個項目的源碼解析,考慮到門檻問題,在開始分析k8s之前我會通過一些更低難度的golang開源項目講解來協助大家提升golang編碼技能;然後通過與k8s相關的一些項目的講解,打通阻礙k8s學習的一些大障礙;最後集中火力,將kubernetes項目的整個源碼吃透。
總體來說,本系列計劃分三步走完成源碼層面掌握k8s的目標:
golang技能提升
k8s依賴技術
k8s核心組件
目前關於k8s應用的教程已經很多了,其中不乏相當優秀的文章,所以我不會特地去講解k8s是功能層面知識點。本教程對大家的入門要求是會一點golang,會k8s的常規操作。
寫給誰看
k8s的熱門程度不需要我再贅述,k8s技術的重要性相信大家也都清楚,不會玩k8s怎麼好意思說自己是搞雲端運算的呢?
對k8s技術有一定瞭解的技術人員,如果你對k8s感興趣,並且希望深入掌握這項技能,乃至從源碼層面掌握k8s,做一個大牛,參與CNCF社區貢獻,但是苦於源碼門檻太高,不知從何下手,那就對了,這個教程就是寫給你看的!
有什麼特點
《看懂每一行代碼 - kubernetes》會在公眾號“CloudGeek”和部落格園“CloudGeek”同步更新。為了貼合移動端閱讀時間片段化的特點,本教程每一篇文章不會太長,閱讀完大約是十幾分鐘的樣子;當然要徹底掌握談及的每一行代碼,可能還是需要你開啟PC,在IDE中自己對照著過一邊源碼,這個步驟需要多少時間就和自己的基本功相關了。
本系列教程從cache2go等只有幾百行源碼的小項目開始講解,針對有一些golang基礎知識,但是並不精通golang,暫時還無法直接閱讀k8s源碼但是想往k8s源碼貢獻者發展的IT技術人員。
在源碼分析過程中會涉及到一些技術專題,我會在《Golang進階 - 專題講解》等系列專門分析。比如說源碼中涉及到了堆操作,涉及到了各種鎖的應用,一致性雜湊演算法等各個方向的問題,我會專門寫一個專題文章講解,讓有技術強迫症的朋友的能夠全面掌握k8s,而不是看幾行,留著一個看不懂的演算法,心裡一個疙瘩,糾結則影響進度,不糾結則覺得不完整。
為什麼要寫
首先我在工作中主要研究方向是容器化技術棧,也就是CNCF社區中的一堆技術。為了能夠在這個方向深入,我給自己定了一個目標:成為kubernetes組織的member。成為member簡單說就是能夠持續貢獻源碼。在閱讀源碼的過程中走了很多彎路,最後我意識到這麼大的項目開始就一頭紮進去及其容易迷失在k8s龐大的源碼及第三方依賴庫裡。所以我後來是選擇了從小項目開始讀源碼,提升能力,再看k8s。我希望把這個過程分享出來,協助更多人掌握k8s,享受技術的樂趣。
還有一個重要的原因是我知道在讀源碼的過程中,每一個知識點只有寫出來,把別人講懂,才能真正說明自己讀懂了。所以寫這個系列教程也是出於對自己的監督,輸出倒逼輸入。
481 次點擊 ∙ 1 贊