Workshop
09:30 - 10:00 報到
10:00 - 10:10 開場
10:10 - 10:50 如何貢獻 OpenStack Upstream (開發者與使用者)
11:00 - 11:40 How to start contributing to Kubernetes
11:50 - 12:20 Ceph Upstream-Dashboard and Orchestrator
12:20 - 13:20 交流及午餐時間
13:20 - 13:50 Ceph Upstream-general ceph and deepsea and prom and grafana
14:00 - 16:30 Hands-on Labs (分組進行)
16:30 - 18:00 Summary (交流與小活動時間)
SIGs(特殊興趣小組):不維護專案, 讓使用者有機會可以和開發者交流
把問題拿去和 project team 討論
LINE 的應用場景是K8s 架在 OpenStack上
RabbitMQ的效能性問題?RabbitMQ debug message always shows timeout
流程:
使用者遇到問題 -> 小貢獻 -> 有新想法或是大貢獻 -> 與社群討論溝通
Step:
每個 SIG 的 reviewer 都不一樣,基本上 PR 裡面都是用 comment 來做操作,例如 /test
, /retest
,要被 merge 要等 reviewer 下 /lgtm
以及 /approved
才會被 merge 進去裡面。
會先遇到Robot
labels 根據改動的行數來上標籤
合併會經過另外一個bot來做處理
要貢獻 Kubernetes 最好要熟 Golang。
Before start
brew install go
go env
mkdir -p $GOPATH/src/k8s.io
cd $GOPATH/src/k8s.io
git clone http://github.com/kubernetes/kubernetes
cd kubernetes
make
wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.13.4.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
go env
GitHub FLow
Slide: https://docs.google.com/presentation/d/1-UWfgiXsZjz50j7lYwNwtdAnFzWAbfMb7IAA8JvKwQs/edit?usp=sharing
distributed scalable storage
Ceph的底層是 RADOS
ceph-dev-docker(* recommend try @ home)
Core => C++
Kernel Modules => C
MGR => Python / Typescript (Recommend to starter)
Must have to check here @ first
Prometheus is implemented by pulling
和license有關的東西會在slack上
有興趣要貢獻的話,建議先跟一些社群老手溝通
Ceph has a lot of components
Python base IPC/RPC event queue, and default transport is ZeroMQ.
Self Repo -> CI/CD test -> PR to master
在同一個專案用超過兩套工具去compile, deploy要注意。
有可能會遇到手動改完了之後東西不動?Module 已經看不懂那個 config 是做什麼的情況。
K8s 如果不特別 disable module, 預設modules 全開
https://goreportcard.com/
看到v1aplha, v1beta, staging不要選
修正 Coding Style(underscore)
有分兩種情況:
xxx_AttachDetachControllerConfiguration_To_xxx
這種是 scripts 產生的,盡量不要去改。scsi_path
or sys_path
這種就是作者自己打的,這種就可以去修<function name >should have comment or be unexported => 在 Golang 中函數名稱是大寫開頭的會被 export 出去,而這種通常會建議寫註解,這裡要修補的就是補上註解或是改成小寫取消 export 。
認領issue
https://docs.google.com/spreadsheets/d/1Ht7auakyW0x7kpLWVvgpq841_ECMepO4rWNckHRJow8/edit#gid=0
kubelet - update xxx
)