歡迎光臨
每天分享高質量文章

騎上獨角獸:Kubernetes新手貢獻指南

月圓之夜在游泳池學習騎獨角獸是不容易的,特別是對不會游泳的人。但是我知道可以依靠別人幫我浮起來。
Kubernetes社群也是同樣的熱情和樂於助人,願意幫助新手避免其淹沒在無窮無盡的可能性中。準備好來實踐了嗎?請看下文。
2017年12月的KubeCon會議[1],有超過4100名註冊參與者,是上一期的4倍,其中將近80%的人是首次參加。這也是我們看到的Kubernetes去年爆炸性增長的一個方面。
會議上其中一個最普遍的問題是:我是Kubernetes新手,但也想做貢獻。我該如何起步?
你也許覺得這不就是傳送pull request並修複bug嗎,但正如我下麵會提到的,其實有許多貢獻的方式,你可以選擇幾種。

逛逛slack頻道:大量關於Kubernetes的討論發生在slack頻道[2]。Kubernetes專案的每個領域都有許多相關的頻道,但對於新使用者,你可能會發現 #kubernetes novice和#kubernetes users是最有用的。我和其他許多開發者會在每月的Office Hour[3]欄目中報到,在那裡我們回答#office hours頻道的使用者提出的問題。

加入郵件串列:討論也發生在郵件串列中。確保自己理解每個串列的目的,最好在投入之前先觀察幾天。主要的串列有:
  • kubernetes users[4] 串列針對通用的Kubernetes相關的討論及Q&A;

  • kubernetes dev[5] 串列針對開發Kubernetes的開發者,以及想要理解底層細節的高階使用者。

加入SIG: SIG(Special Interest Groups)[6]關註Kubernetes的某些特定主題領域。SIG-AWS[7]討論Kubernetes和AWS。SIG-Multicluster[8]討論如何執行多個Kubernetes叢集。SIG-Apps[9]討論如何定義應用。可以看一下所有SIG串列[10],它連結了會議(錄屏並可以在YouTube上看到[11])等資訊。不要害怕提問:SIG歡迎任何有助於提高新手的線上體驗的意見。

參加社群會議:最重要的例會應該是每週的Kubernetes社群會議,它是獲取最新訊息的最佳場所。之前會議的錄屏[12]可以看到這些會議是如何運作的。他們趨向於談論高階以及特定的主題,一般以一個demo開始,然後是release和SIG的狀態更新。

提issue:你在嘗試Kubernetes的一個新特性,但是發現其行為和檔案不匹配?你可能發現了一個問題了,但在你提issue前,記得搜尋已有issue,確認是否被提過。github.com/kubernetes專案有多個子專案,因此確保在正確的地方提bug,例如是在kubernetes/kubectl而不是kubernetes/kubernetes專案。(對於kubernetes/kubernetes的子倉庫,可以在這裡[13]提issue。)為了確保你的issue可以被快速找到,你還應該使用bot命令[14]給issue打上合適的SIG標簽[15],這個過程最開始可能有點困難。

StackOverflow[16]是另一個提問的好地方(或者有一天你成為了一個有經驗的Kubernetes使用者或者開發者,也可以在這裡[回答問題[17])。

Kubernetes檔案[18]令人望而生畏,但是它一直在提升,甚至只是修改一個拼寫錯誤或者某個需要被澄清的註釋。當然,你也可以在這裡提交issue,或者,如果你知道怎麼修改,傳送pull request[19]。

貢獻樣例:我對Kubernetes的最早的一個貢獻是,簡單的展示瞭如何使用Wildfly和MySQL來執行一個Java EE的例子。你的第一個pr可能會難以應對,因為你需要簽署Contributor License Agreement(CLA),或許在與你的主管協商後,遵循過程提交pr,然後在最終合入前,檢視程式碼檢視中產生的所有評註。堅持住!最終你將成功。

修改issue:當前kubernetes/kubernetes倉庫[20]有超過4800個issue。這還不運算元倉庫的!如何啟動修改?Help-wanted[21]標簽就是為此設計的。要啟動pull request,可以從這裡[22]開始。

AWS的Kubernetes演練場:為了使AWS上的Kubernetes部署更容易,我們建立了一個演練場[23],展示如何在AWS上操作一個Kubernetes叢集,以及在叢集中部署應用。你可以嘗試一下。如果某些檔案有誤,請提issue。如果你知道如何修複,你甚至可以傳送一個pr,以幫助提高其他新使用者的體驗。

聚會,演講:你一直在玩Kubernetes?找到了某個解決了你的問題的叢集配置?或者知道如何使現有應用Kubernetes化?那麼可以考慮在當地的聚會上分享你的經驗。全世界有超過100個Kubernetes Cloud Native聚會[24](截至目前)。和當地的聚會組織者討論一下,找到一個入口點來一場演講,不管是一個小時的,還是10到15分鐘的快速演講都可以。根據主題的不同,你甚至還可以考慮去當地的Java使用者討論組,Docker聚會,微服務聚會,或者其它相關的聚會。沒有當地的聚會組?沒問題:你創一個新的[25]!
如果你想在更大的地方演講,或想成為第一批掌握最新訊息的人,KubeCon/CloudNativeCon會議就是關註Kubernetes和雲原生技術的最大的會議。每年都會在北美和歐洲召開兩次(從2018年起,亞太地區也會召開)。其它大的技術會議,比如AWS re:invent也包含了Kubernetes相關的主題。

部落格:如何你喜歡寫作,那麼還可以考慮一下部落格。主題可以是你的某個痛點,然後你是如何解決的。(確保包含某個架構圖或者其它的圖)即使你的問題看起來很偏,其他人可能就是在找這個場景。(如果你的Kubernetes叢集執行在AWS上,我們很歡迎你傳送pr,貢獻那個用例到AWS Kubernetes演練場[26]。)
值得註意的一點是,程式碼不是唯一貢獻的方式。推動一個大型專案前進包含許多工和技能:專案管理、社群管理、市場、編輯加工、技術協作,這些都是需要的。如果你不確定如何應用你的特定技能,請詢問有貢獻經驗[27]的人們。
還有別的問題嗎?可以參考CNCF的Kubernetes社群概覽和貢獻指南[28]。或者參考所有會議的整體時間總表[29]。Kubernetes貢獻指南[30]值得一讀,它帶你瀏覽開始貢獻需要瞭解的法律要求和社群最佳實踐。
準備好了嗎?你的獨角獸在等你了,爬上去實踐吧!
相關連結:
  1. https://kccncna17.sched.com/

  2. http://kubernetes.slack.com/

  3. https://git.k8s.io/community/events/office-hours.md

  4. https://groups.google.com/forum/#!forum/kubernetes-users

  5. https://groups.google.com/forum/#!forum/kubernetes-dev

  6. https://github.com/kubernetes/community/blob/master/governance.md#sigs

  7. https://github.com/kubernetes/community/blob/master/sig-aws/README.md

  8. https://github.com/kubernetes/community/blob/master/sig-multicluster/README.md

  9. https://github.com/kubernetes/community/blob/master/sig-apps/README.md

  10. https://github.com/kubernetes/community/blob/master/sig-list.md

  11. https://www.youtube.com/channel/UCZ2bu0qutTOM0tHYa_jkIwg/playlists

  12. https://www.youtube.com/playlist?list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ&disable;_polymer=true

  13. https://github.com/kubernetes/kubernetes/issues

  14. https://github.com/kubernetes/test-infra/blob/master/commands.md

  15. https://github.com/kubernetes/community/tree/master/contributors/guide#find-a-sig-that-is-related-to-your-contribution

  16. https://stackoverflow.com/users/login?ssrc=anon_ask&returnurl;=https%3a%2f%2fstackoverflow.com%2fquestions%2fask%3ftags%3dkubernetes

  17. https://stackoverflow.com/questions/tagged/kubernetes

  18. https://kubernetes.io/docs/home/

  19. https://kubernetes.io/editdocs/

  20. https://github.com/kubernetes/kubernetes/issues

  21. https://github.com/kubernetes/kubernetes/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22

  22. https://github.com/kubernetes/community/tree/master/contributors/guide#open-a-pull-request

  23. https://github.com/aws-samples/aws-workshop-for-kubernetes

  24. https://www.meetup.com/pro/cncf/

  25. https://github.com/cncf/meetups/blob/master/Meetup_Best_Practices.md

  26. https://github.com/aws-samples/aws-workshop-for-kubernetes

  27. https://github.com/kubernetes/community/blob/master/sig-contributor-experience/README.md

  28. https://docs.google.com/presentation/d/1JqcALpsg07eH665ZXQrIvOcin6SzzsIUjMRRVivrZMg/edit

  29. https://kubernetes.io/community/

  30. https://github.com/kubernetes/community/tree/master/contributors/guide

原文連結:https://aws.amazon.com/cn/blogs/opensource/newbies-guide-to-kubernetes/
Kubernetes 實戰培訓

本次培訓內容包括:Docker容器的原理與基本操作;容器網路與儲存解析;Kubernetes的架構與設計理念詳解;Kubernetes的資源物件使用說明;Kubernetes 中的開放介面CRI、CNI、CSI解析;Kubernetes監控、網路、日誌管理;容器應用的開發流程詳解等,點選識別下方二維碼加微信好友瞭解具體培訓內容

3月23日開始上課,點選閱讀原文連結即可報名。
贊(0)

分享創造快樂