如何看待Mailing List在開源項(xiàng)目中的重要性,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了仙居免費(fèi)建站歡迎大家使用!
只要仔細(xì)找,想要的輪子總會有的。--- 某不知名 DevOps 工程師
感謝 kubernetes-dev
的 Mailing List !早上在瀏覽郵件時(shí)發(fā)現(xiàn)了下面這封有趣的郵件:
接觸 Kubernetes 也有不短的時(shí)間了,也見證了 Kubernetes 干掉 Swarm 和 Mesos 成為容器編排領(lǐng)域的事實(shí)標(biāo)準(zhǔn)的過程。在享受 Kubernetes 及其生態(tài)圈帶來的便利的同時(shí)也在為 Kubernetes 及 CNCF 項(xiàng)目進(jìn)行貢獻(xiàn)。而使用 kubectl
、rancher
甚至是 kui
這些 CLI 和 UI 工具對 Kubernetes 集群進(jìn)行操作和觀察。
雖然上面這些工具為操作 Kubernetes 集群帶來了極大的便利,但是歸根到底還是一些開源項(xiàng)目,并不能滿足我們的全部需求。所以我們只能根據(jù)我們自己的需求和 Kubernetes 的 api-server 進(jìn)行定制,但是由于 Kubernetes 的 api-server 比較復(fù)雜,短時(shí)間內(nèi)并不是那么好梳理的。
由于我們自研的 DevOps 平臺是使用 python 開發(fā)的,所以我也基于 python 語言開發(fā)了一套 Kubernetes Client ,但總的來說由于 Kubernetes 的功能實(shí)在太多,而我的開發(fā)實(shí)踐并不是很多,開發(fā)出來的功能只是差強(qiáng)人意。
而 kubernetes-client/python
這個(gè)官方給出的輪子是真的香!
這個(gè)安裝方式簡單的令人發(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))
運(yùn)行查看結(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 ...
果然是一個(gè)好輪子,引入 kubeconfig 的方式及展示所有 namespace 的 pod 的方法封裝的也十分簡潔,是個(gè)非常漂亮的范例。建議可以看一下源碼,肯定會有收獲的!
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 和微信這樣的即時(shí)通訊軟件進(jìn)行交流,但是大多數(shù)著名開源項(xiàng)目都是主要使用 Mailing List進(jìn)行交流,交流的數(shù)量甚至比在 GitHub issue 中還多,在與 Apache 、 CNCF 項(xiàng)目開源的貢獻(xiàn)者和維護(hù)者交流中得知了使用 Mailing List主要考慮是一下幾點(diǎn):
這種異步的交流方式可以讓更多關(guān)心該話題的開發(fā)人員一起加入到討論中。
mailing list 是永久保留的,如果你對某個(gè)話題感興趣,可以隨時(shí)回復(fù)郵件,關(guān)注這個(gè)話題的開發(fā)者都會收到郵件,無論這個(gè)話題是昨天提出的,還是去年提出的,有助于解決一些陳年老 BUG (俗稱技術(shù)債)。
即時(shí)通訊軟件雖然很便利,但是問題很快會被評論頂?shù)?,雖然諸如 slack 這樣的工具解決了部分這方面的問題,但是還是不如 mailing list 好用。
并不是所有地區(qū)的開發(fā)者都有高速的寬帶,性能優(yōu)秀的PC,在地球上很多地區(qū)還是只能使用撥號上網(wǎng),網(wǎng)速只有幾kb/s,他們甚至 GitHub issue 都無法使用。但是你不能剝奪他們參與開源項(xiàng)目的權(quán)利,而 mailing list 是一種很好的交流方式。
通過 mailing list 可以很好掌握社區(qū)動(dòng)態(tài),效果明顯好于 GitHub watch ,因?yàn)椴⒉皇琼?xiàng)目的所有 commit 都是你關(guān)心的。
如果你有志于參與到開源運(yùn)動(dòng),在享受開源軟件帶來便利的同事,還想為開源軟件做出自己的貢獻(xiàn),那么 mailing list 是你進(jìn)入社區(qū)最好的選擇。在 mailing list 中和來自世界各地志同道合的開發(fā)者交流中提升自己的能力,創(chuàng)造更大的價(jià)值,邁出你參與開源運(yùn)動(dòng)的第一步。
關(guān)于如何看待Mailing List在開源項(xiàng)目中的重要性問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。