您好,登錄后才能下訂單哦!
如何看待Mailing List在開源項目中的重要性,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
只要仔細(xì)找,想要的輪子總會有的。--- 某不知名 DevOps 工程師
感謝 kubernetes-dev
的 Mailing List !早上在瀏覽郵件時發(fā)現(xiàn)了下面這封有趣的郵件:
接觸 Kubernetes 也有不短的時間了,也見證了 Kubernetes 干掉 Swarm 和 Mesos 成為容器編排領(lǐng)域的事實標(biāo)準(zhǔn)的過程。在享受 Kubernetes 及其生態(tài)圈帶來的便利的同時也在為 Kubernetes 及 CNCF 項目進(jìn)行貢獻(xiàn)。而使用 kubectl
、rancher
甚至是 kui
這些 CLI 和 UI 工具對 Kubernetes 集群進(jìn)行操作和觀察。
雖然上面這些工具為操作 Kubernetes 集群帶來了極大的便利,但是歸根到底還是一些開源項目,并不能滿足我們的全部需求。所以我們只能根據(jù)我們自己的需求和 Kubernetes 的 api-server 進(jìn)行定制,但是由于 Kubernetes 的 api-server 比較復(fù)雜,短時間內(nèi)并不是那么好梳理的。
由于我們自研的 DevOps 平臺是使用 python 開發(fā)的,所以我也基于 python 語言開發(fā)了一套 Kubernetes Client ,但總的來說由于 Kubernetes 的功能實在太多,而我的開發(fā)實踐并不是很多,開發(fā)出來的功能只是差強人意。
而 kubernetes-client/python
這個官方給出的輪子是真的香!
這個安裝方式簡單的令人發(fā)指,支持的 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))
運行查看結(jié)果:
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 規(guī)范,所以在 client-python
的主要版本增加之前,代碼將繼續(xù)使用明確支持的 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 也就是郵件列表。這種溝通方式在國內(nèi)不是很流行,大家更喜歡使用 QQ 和微信這樣的即時通訊軟件進(jìn)行交流,但是大多數(shù)著名開源項目都是主要使用 Mailing List 進(jìn)行交流,交流的數(shù)量甚至比在 GitHub issue 中還多,在與 Apache 、 CNCF 項目開源的貢獻(xiàn)者和維護(hù)者交流中得知了使用 Mailing List 主要考慮是一下幾點:
這種異步的交流方式可以讓更多關(guān)心該話題的開發(fā)人員一起加入到討論中。
mailing list 是永久保留的,如果你對某個話題感興趣,可以隨時回復(fù)郵件,關(guān)注這個話題的開發(fā)者都會收到郵件,無論這個話題是昨天提出的,還是去年提出的,有助于解決一些陳年老 BUG (俗稱技術(shù)債)。
即時通訊軟件雖然很便利,但是問題很快會被評論頂?shù)?,雖然諸如 slack 這樣的工具解決了部分這方面的問題,但是還是不如 mailing list 好用。
并不是所有地區(qū)的開發(fā)者都有高速的寬帶,性能優(yōu)秀的PC,在地球上很多地區(qū)還是只能使用撥號上網(wǎng),網(wǎng)速只有幾kb/s,他們甚至 GitHub issue 都無法使用。但是你不能剝奪他們參與開源項目的權(quán)利,而 mailing list 是一種很好的交流方式。
通過 mailing list 可以很好掌握社區(qū)動態(tài),效果明顯好于 GitHub watch ,因為并不是項目的所有 commit 都是你關(guān)心的。
如果你有志于參與到開源運動,在享受開源軟件帶來便利的同事,還想為開源軟件做出自己的貢獻(xiàn),那么 mailing list 是你進(jìn)入社區(qū)最好的選擇。在 mailing list 中和來自世界各地志同道合的開發(fā)者交流中提升自己的能力,創(chuàng)造更大的價值,邁出你參與開源運動的第一步。
關(guān)于如何看待Mailing List在開源項目中的重要性問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。