如何看待Mailing List在开源项目中的重要性

发布时间:2021-10-19 17:47:23 作者:柒染
来源:亿速云 阅读:339

如何看待Mailing List在开源项目中的重要性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

由一封邮件看 Mailing List 在开源项目中的重要性

只要仔细找,想要的轮子总会有的。--- 某不知名 DevOps 工程师

感谢 kubernetes-dev 的 Mailing List !早上在浏览邮件时发现了下面这封有趣的邮件:

如何看待Mailing List在开源项目中的重要性

接触 Kubernetes 也有不短的时间了,也见证了 Kubernetes 干掉 Swarm 和 Mesos 成为容器编排领域的事实标准的过程。在享受 Kubernetes 及其生态圈带来的便利的同时也在为 Kubernetes 及 CNCF 项目进行贡献。而使用 kubectlrancher 甚至是 kui 这些 CLI 和 UI 工具对 Kubernetes 集群进行操作和观察。

虽然上面这些工具为操作 Kubernetes 集群带来了极大的便利,但是归根到底还是一些开源项目,并不能满足我们的全部需求。所以我们只能根据我们自己的需求和 Kubernetes 的 api-server 进行定制,但是由于 Kubernetes 的 api-server 比较复杂,短时间内并不是那么好梳理的。

kubernetes-client/python

由于我们自研的 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.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 也就是邮件列表。这种沟通方式在国内不是很流行,大家更喜欢使用 QQ 和微信这样的即时通讯软件进行交流,但是大多数著名开源项目都是主要使用 Mailing List 进行交流,交流的数量甚至比在 GitHub issue 中还多,在与 Apache 、 CNCF 项目开源的贡献者和维护者交流中得知了使用 Mailing List 主要考虑是一下几点:

如果你有志于参与到开源运动,在享受开源软件带来便利的同事,还想为开源软件做出自己的贡献,那么 mailing list 是你进入社区最好的选择。在 mailing list 中和来自世界各地志同道合的开发者交流中提升自己的能力,创造更大的价值,迈出你参与开源运动的第一步。

关于如何看待Mailing List在开源项目中的重要性问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. 如何看待MRAM发展
  2. 如何看待看源代码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

list

上一篇:什么是Guava-Retryer

下一篇:如何理解Swarm mode中的service

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》