EP55 真正做好开源,根本不愁找工作 | 对话张晋涛 59 分钟 · 4 个月前
这一次我们和开源大佬晋涛一起畅聊了一期关于开源、关于 k8s 社区等方面的节目。这一期节目可以给热爱技术,特别是infra的同学很多的参考和学习,可以学习到如何在infra领域保持专研;如何通过开源贡献增加自己的影响力,从而获得更好的职业之路等等。
这是一期硬核的技术节目,和以往的节目很不一样,热爱开源和技术的同学一定要认真收听。
欢迎收听本期节目,更多内容信息和时间线参考下文的硬地笔记。
嘉宾介绍 张晋涛:Microsoft MVP, Kubernetes Ingress-NGINX maintainer, Apache PMC,在开源社区有非常大的影响力,主要聚焦在 infra 领域,目前就职于 Kong。Twitter: https://twitter.com/zhangjintao9020
本期 Sponsors
Special Sponsor: Podwise.ai 👑
硬地笔记 00:00:04 张晋涛:从后端到开源,全栈工程师的成长之路
00:04:19 从 Docker 到 K8s:容器化改造之路
00:06:56 Kubernetes Ingress Nginx Maintainer 的成长之路
00:10:25 Ingress Nginx项目接管记
00:14:31 开源项目与公司项目开发的异同
00:18:32 Kubernetes 版本发布流程:随缘还是规则?
00:23:16 Kubernetes 社区松散的组织架构如何推动开源社区发展
00:27:49 Kubernetes社区治理与产品复杂度的关系
00:32:14 Apache 基金会与 Kubernetes 社区项目治理对比
00:38:40 参与开源社区的物质与精神收益
00:44:40 K8S社区的参与建议
00:48:41 开源社区参与者的时间管理秘诀
00:53:06 Kong的日常工作、协作方式和避免研发团队支持客户的方法
硬地新知 Break Change: Break Change 指的是对软件系统进行更改,导致现有功能不再向后兼容的变化。这种变化可能会导致系统中断、功能错误、数据丢失等问题。在开源项目中,Break Change 是一个重要的考虑因素,因为它可能会对使用项目的人造成不便和困扰。在任何时候进行 Break Change 都需要谨慎,通常需要提前进行通知和讨论,并与社区成员共同决定是否进行变更。 Docker: Docker是一个开源的应用容器引擎,可以将应用及其相关的依赖打包成一个可移植的容器,然后发布到任意的Linux机器上。Docker的容器化技术可以极大地简化应用程序的开发、部署和运维过程,提高系统的可移植性、可扩展性和安全性。在本期播客中,发言人分享了参与 Docker 相关开源社区后在公司内部推动该技术引入的经历,强调了Docker对开发效率和部署流程的改进作用。 ETCD: etcd是一个分布式键值存储系统,使用Raft一致性算法来保证数据一致性和可靠性。etcd被广泛应用于各种分布式系统中,包括Kubernetes、Service Mesh、数据库等。在Kubernetes中,etcd用于存储集群的配置信息和状态数据,对于集群的正常运行非常重要。了解etcd的原理和使用方式对于理解Kubernetes的运行机制和故障排查非常有帮助。 Ingress NGINX: Ingress NGINX是一个开源的Kubernetes Ingress控制器,用于将外部流量路由到Kubernetes集群中的应用程序。Ingress是Kubernetes中的一种资源对象,定义了从集群外部访问集群内部服务的规则和配置。NGINX是一个流行的高性能Web服务器和反向代理服务器,Ingress NGINX使用NGINX作为后端来处理流量的路由和负载均衡。在本期播客中,嘉宾分享了成为Kubernetes Ingress Nginx的Maintainer的经历,以及Ingress NGINX项目的接管过程。 KEP: KEP是Kubernetes Enhancement Proposal的缩写形式,是Kubernetes社区中一种用于提案和讨论新功能的文档形式。KEP通常包括对功能背景的介绍、设计方案的描述、实现计划的说明等内容,供社区成员进行评审和讨论。KEP是一个开放的平台,鼓励社区成员积极参与,并对Kubernetes社区的发展和演进起到了重要的推动作用。 Kind: Kind是Kubernetes IN Docker的缩写形式,是一个用于在本地计算机上运行Kubernetes集群的工具。Kind使用Docker容器作为运行Kubernetes集群的环境,可以快速、简单地创建和管理本地的Kubernetes测试环境。Kind的使用方便快捷,对于开发者来说是一个非常有用的工具。 Kong: Kong是一个开源的云原生API网关和服务网格,用于管理和路由API流量。Kong可以帮助开发者在微服务架构中实现服务注册、服务发现、流量控制、认证授权等功能。在Kubernetes集群中使用Kong可以提供强大的API管理和安全性保护,并简化开发者在云原生环境中的部署和管理。 Kubernetes: Kubernetes是一个开源的容器编排平台,用于管理和部署容器化应用程序。Kubernetes可以帮助开发者将应用程序打包成可移植的容器,并自动进行部署、扩缩容和升级。Kubernetes提供了一组丰富的功能,包括服务发现和负载均衡、存储管理、自动修复和水平伸缩等,使得应用程序在分布式环境中更加稳定和可靠。 欢迎关注我们