溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何看待Mailing List在開源項目中的重要性

發(fā)布時間:2021-10-19 17:47:23 來源:億速云 閱讀:332 作者:柒染 欄目:大數(shù)據(jù)

如何看待Mailing List在開源項目中的重要性,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

由一封郵件看 Mailing List 在開源項目中的重要性

只要仔細(xì)找,想要的輪子總會有的。--- 某不知名 DevOps 工程師

感謝 kubernetes-dev 的 Mailing List !早上在瀏覽郵件時發(fā)現(xiàn)了下面這封有趣的郵件:

如何看待Mailing List在開源項目中的重要性

接觸 Kubernetes 也有不短的時間了,也見證了 Kubernetes 干掉 Swarm 和 Mesos 成為容器編排領(lǐng)域的事實標(biāo)準(zhǔn)的過程。在享受 Kubernetes 及其生態(tài)圈帶來的便利的同時也在為 Kubernetes 及 CNCF 項目進(jìn)行貢獻(xiàn)。而使用 kubectlrancher 甚至是 kui 這些 CLI 和 UI 工具對 Kubernetes 集群進(jìn)行操作和觀察。

雖然上面這些工具為操作 Kubernetes 集群帶來了極大的便利,但是歸根到底還是一些開源項目,并不能滿足我們的全部需求。所以我們只能根據(jù)我們自己的需求和 Kubernetes 的 api-server 進(jìn)行定制,但是由于 Kubernetes 的 api-server 比較復(fù)雜,短時間內(nèi)并不是那么好梳理的。

kubernetes-client/python

由于我們自研的 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.5Kubernetes 1.6Kubernetes 1.7Kubernetes 1.8Kubernetes 1.9Kubernetes 1.10Kubernetes 1.11Kubernetes 1.12Kubernetes 1.13Kubernetes 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+++++++++?

Mailing List 的重要性

這次的收獲很大程度得益于 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)知識。

向AI問一下細(xì)節(jié)

免責(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)容。

AI