您好,登錄后才能下訂單哦!
如何看待Mailing List在開源項目中的重要性,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
只要仔細找,想要的輪子總會有的。--- 某不知名 DevOps 工程師
感謝 kubernetes-dev
的 Mailing List !早上在瀏覽郵件時發現了下面這封有趣的郵件:
接觸 Kubernetes 也有不短的時間了,也見證了 Kubernetes 干掉 Swarm 和 Mesos 成為容器編排領域的事實標準的過程。在享受 Kubernetes 及其生態圈帶來的便利的同時也在為 Kubernetes 及 CNCF 項目進行貢獻。而使用 kubectl
、rancher
甚至是 kui
這些 CLI 和 UI 工具對 Kubernetes 集群進行操作和觀察。
雖然上面這些工具為操作 Kubernetes 集群帶來了極大的便利,但是歸根到底還是一些開源項目,并不能滿足我們的全部需求。所以我們只能根據我們自己的需求和 Kubernetes 的 api-server 進行定制,但是由于 Kubernetes 的 api-server 比較復雜,短時間內并不是那么好梳理的。
由于我們自研的 DevOps 平臺是使用 python 開發的,所以我也基于 python 語言開發了一套 Kubernetes Client ,但總的來說由于 Kubernetes 的功能實在太多,而我的開發實踐并不是很多,開發出來的功能只是差強人意。
而 kubernetes-client/python
這個官方給出的輪子是真的香!
這個安裝方式簡單的令人發指,支持的 python 版本為 2.7 | 3.4 | 3.5 | 3.6 | 3.7
并且和所有 python 依賴包一樣,只需要使用 pip
安裝即可:
pip install kubernetes
查看所有的 pod :
#!/usr/bin/env python #encoding: utf-8 #Author: guoxudong from kubernetes import client, config # Configs can be set in Configuration class directly or using helper utility config.load_kube_config() v1 = client.CoreV1Api() print("Listing pods with their IPs:") ret = v1.list_pod_for_all_namespaces(watch=False) for i in ret.items: print("%s\t%s\t%s" % (i.status.pod_ip, i.metadata.namespace, i.metadata.name))
運行查看結果:
Listing pods with their IPs: 172.22.1.126 kube-system coredns-5975fdf55b-bqgkx 172.22.0.2 kube-system coredns-5975fdf55b-vxbb4 10.16.16.13 kube-system flexvolume-9ccf7 10.16.16.15 kube-system flexvolume-h6xn2 10.16.16.14 kube-system flexvolume-kvn5x 10.16.16.17 kube-system flexvolume-mf4zv 10.16.16.14 kube-system kube-proxy-worker-7lpfz 10.16.16.15 kube-system kube-proxy-worker-9wd9s 10.16.16.17 kube-system kube-proxy-worker-phbbj 10.16.16.13 kube-system kube-proxy-worker-pst5d 172.22.1.9 kube-system metrics-server-78b597d5bf-wdvqh 172.22.1.12 kube-system nginx-ingress-controller-796ccc5d76-9jh6s 172.22.1.125 kube-system nginx-ingress-controller-796ccc5d76-jwwwz 10.16.16.17 kube-system terway-6mfs8 10.16.16.14 kube-system terway-fz9ck 10.16.16.13 kube-system terway-t9777 10.16.16.15 kube-system terway-xbxlp 172.22.1.8 kube-system tiller-deploy-5b5d8dd754-wpcrc ...
果然是一個好輪子,引入 kubeconfig 的方式及展示所有 namespace 的 pod 的方法封裝的也十分簡潔,是個非常漂亮的范例。建議可以看一下源碼,肯定會有收獲的!
client-python
遵循 semver 規范,所以在 client-python
的主要版本增加之前,代碼將繼續使用明確支持的 Kubernetes 集群版本。
Kubernetes 1.5 | Kubernetes 1.6 | Kubernetes 1.7 | Kubernetes 1.8 | Kubernetes 1.9 | Kubernetes 1.10 | Kubernetes 1.11 | Kubernetes 1.12 | Kubernetes 1.13 | Kubernetes 1.14 | |
---|---|---|---|---|---|---|---|---|---|---|
client-python 1.0 | ? | - | - | - | - | - | - | - | - | - |
client-python 2.0 | + | ? | - | - | - | - | - | - | - | - |
client-python 3.0 | + | + | ? | - | - | - | - | - | - | - |
client-python 4.0 | + | + | + | ? | - | - | - | - | - | - |
client-python 5.0 | + | + | + | + | ? | - | - | - | - | - |
client-python 6.0 | + | + | + | + | + | ? | - | - | - | - |
client-python 7.0 | + | + | + | + | + | + | ? | - | - | - |
client-python 8.0 | + | + | + | + | + | + | + | ? | - | - |
client-python 9.0 | + | + | + | + | + | + | + | + | ? | - |
client-python 10.0 | + | + | + | + | + | + | + | + | + | ? |
client-python HEAD | + | + | + | + | + | + | + | + | + | ? |
這次的收獲很大程度得益于 kubernetes-dev
的 Mailing List 也就是郵件列表。這種溝通方式在國內不是很流行,大家更喜歡使用 QQ 和微信這樣的即時通訊軟件進行交流,但是大多數著名開源項目都是主要使用 Mailing List 進行交流,交流的數量甚至比在 GitHub issue 中還多,在與 Apache 、 CNCF 項目開源的貢獻者和維護者交流中得知了使用 Mailing List 主要考慮是一下幾點:
這種異步的交流方式可以讓更多關心該話題的開發人員一起加入到討論中。
mailing list 是永久保留的,如果你對某個話題感興趣,可以隨時回復郵件,關注這個話題的開發者都會收到郵件,無論這個話題是昨天提出的,還是去年提出的,有助于解決一些陳年老 BUG (俗稱技術債)。
即時通訊軟件雖然很便利,但是問題很快會被評論頂掉,雖然諸如 slack 這樣的工具解決了部分這方面的問題,但是還是不如 mailing list 好用。
并不是所有地區的開發者都有高速的寬帶,性能優秀的PC,在地球上很多地區還是只能使用撥號上網,網速只有幾kb/s,他們甚至 GitHub issue 都無法使用。但是你不能剝奪他們參與開源項目的權利,而 mailing list 是一種很好的交流方式。
通過 mailing list 可以很好掌握社區動態,效果明顯好于 GitHub watch ,因為并不是項目的所有 commit 都是你關心的。
如果你有志于參與到開源運動,在享受開源軟件帶來便利的同事,還想為開源軟件做出自己的貢獻,那么 mailing list 是你進入社區最好的選擇。在 mailing list 中和來自世界各地志同道合的開發者交流中提升自己的能力,創造更大的價值,邁出你參與開源運動的第一步。
關于如何看待Mailing List在開源項目中的重要性問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。