Podcast logo

EP55 真正做好开源,根本不愁找工作 | 对话张晋涛

59 分钟 · 

这一次我们和开源大佬晋涛一起畅聊了一期关于开源、关于 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提供了一组丰富的功能,包括服务发现和负载均衡、存储管理、自动修复和水平伸缩等,使得应用程序在分布式环境中更加稳定和可靠。

欢迎关注我们

  • 官网:hardhacker.com
  • Discord 社区:discord.com
  • 用爱发电不容易,请我们喝咖啡☕️:afdian.net
  • 公众号/小红书:硬地骇客
  • 商务合作:hardhackerlabs@gmail.com