Kubernetes诞生日!为什么开发人员应该学习 Kubernetes?

作者 | Steve Tidwell

译者 | 弯月     责编 | 晋兆雨

出品 | CSDN(ID:CSDNnews)

Kubernetes v1.0于6年前,也就是2015年7月21日发布。虽然只有6岁,但Kubernetes如今的影响力在IT技术领域完全算得上空前绝后,目前,一众大小公司都在使用或正筹划使用这一IT技术发展史上可能最为成功的开源项目。

Linux软件基金会的常务董事Jim Zemlin在Google Cloud Next 17大会上曾表示,Kubernetes是“云时代的Linux”。

下面我们来聊聊为什么开发人员应该学习Kubernetes?

近年来,受容器软件开发工作流的推动,Kubernetes 作为部署容器的首选平台,采用率出现了大幅增长。 

自 2016 年以来,云原生计算基金会每年都会进行一项调查,以评估各种工程组织采用容器与云原生技术的情况。根据云原生计算基金会 2020 的调查数据显示,92% 的公司的生产都运行了容器,其中 83% 的公司使用 Kubernetes 作为编排工具。 

同时,还有许多组织采用了开发运维(DevOps)以及站点可靠性工程 (SRE) 最佳实践来提高应用程序的可靠性,并缩短交付新应用程序功能所需的时间。 

采用了这些技术的工程团队看到了合并运维与开发最佳实践的好处。运维团队逐步走向服务和软件,而开发团队也开始了解部署应用程序的平台和环境。 

近年来,大部分软件开发的重点都放在了运维最佳实践的应用上,因此交付周期明显缩短,可靠性也得到了明显的改善。但有时,开发团队并不具备在开发环境之外操作应用程序的运维技术。 

虽然构建和交付容器化的应用程序不需要维护独特的开发环境,但开发人员必须了解容器运行时的工作方式,特别是使用 Kubernetes 之类的编排程序,在生产中尤其如此。开发人员可能不需要掌握整套的运维技能,但他们需要充分了解 Kubernetes 和生产环境,才能成为开发运维团队的一员。


1. 左移

 

随着开发运维与SRE的普及,软件开发领域出现了很多关于“左移”的讨论。这里的“左移”本质上指的是集中精力在软件开发生命周期的早期阶段检测并预防问题,以提高整体质量。更强大、自动化的持续集成/持续交付管道以及测试实践就是最好的例子。 

左移也适用于运维最佳实践。以前,开发人员在编写完应用程序后,就会将它们交给运维部门部署到生产环境中。后来,情况发生了巨大变化,旧时的方法都逐步被弃用了。 

了解应用程序所处的平台至关重要。成功的工程组织会努力避免开发团队与运维团队的孤立。他们的目标是在软件开发生命周期的早期阶段展开协作,以便参与该过程的所有团队都能很好地理解代码、构建、测试和部署。 

开发人员不需要成为 Kubernetes 专家,但他们必须掌握可能影响到应用程序性能的技能,比如CI/CD、生产部署、监控CPU与内存的使用状况以及集群和 Pod 的运行状况。 

了解有关组织所使用的应用程序平台和工具的一些基础知识,对于提高开发以及运维效率大有裨益。掌握这些技术可以帮助开发人员更快速、更有效地响应事件,在出现问题时,无需升级到另一个团队即可解决问题。


2. 开发人员和运维团队需要知道什么

 

开发人员和运维工程师需要对彼此的工作有一些了解。 

他们需要了解与其他提供商相比,他们选择的云提供商的各种服务与功能的特点。无论是公共云、私有云还是混合云,这些知识都是通用的。

  • 他们需要意识到应用程序所耗费资源的成本,并了解如何从开发人员的角度降低成本和消除浪费。设置云环境和基础设施非常简单,但这也意味着,我们很容易忘记如果资源管理不善,成本就会迅速飙升。例如,如果自动缩放策略设置不正确,就会对成本造成巨大影响。

  • 他们需要了解应用程序的性能管理,尤其是用于分析和改进应用程序性能的工具和技术。

  • 他们需要了解正确的事件响应技术,以便在事件发生时及时处理,并在适当的时候向上汇报。开发运维的基本原则之一是接受并找到缓解故障的方法,因此在事件出现时高效的处理至关重要。

  • 他们需要在开发和运维之间建立反馈循环,以便所有团队都知道他们的工具或应用程序中的缺陷,以及开发人员如何修正这些问题。共享工具和环境的所有权是最佳鼓励方式。

那么,开发人员应该了解哪些 Kubernetes 的知识呢? 

  • 组织中 CI/CD 系统的工作方式,从概念到生产,从代码签入到构建、测试和部署。

  • Kubernetes 的 pod 及其与容器的关系。

  • 应用程序与 Kubernetes 的交互方式,包括服务、DNS 以及负载均衡。

  • 了解本地测试部署和建模应用程序部署方式的常用工具,例如 minikube、kubectl、helm、kind 和 Kubernetes 仪表板。

  • 在出现问题时监控、记录和调试集群和容器。 

当然,为了运维团队和开发团队可以更好地展开协同,双方所需要学习的知识还很多,上述内容只是一个良好的开头。

原文链接:https://thenewstack.io/why-developers-should-learn-kubernetes/

- 推荐阅读 -

1

《Kubernetes 实战》

推荐语:Kubernetes开源项目联合创始人,4位微软一线专家亲自打造的Kubernetes实践书籍,全程指导Kubernetes容器编排系统构建应用。

2

《Kubernetes 进阶实战(第2版)》

推荐语:致力于帮助容器编排技术的初级、中级读者循序渐进地理解和使用Kubernetes系统,因此在编写时充分考虑了初学者进入一个新的知识领域时不知从何入手的茫然局面,以由浅入深、由点到面的方式讲解每一个知识细节。对于每个知识点,不仅介绍其概念和用法,还分析了为什么要有这个概念,实现方式是什么,背后的逻辑为何等,使读者不仅知其然,还知其所以然。

本书不仅可以带领读者入门,更是一本可以随时动手加以验证的实践手册,而且部分重要的内容还专门按步骤讲解具体的实操案例,帮助读者在实践中加深对概念的理解。本书几乎涵盖了应用Kubernetes系统的主流知识点,甚至可以作为考取CKA认证证书的配套参考书。           


扫码关注【华章计算机】视频号

每天来听华章哥讲书

更多精彩回顾

书讯 | 7月书讯(下)| 读书开启下半年

书讯 | 7月书讯(上)| 读书开启下半年

资讯 | JavaScript 异步编程指南——你不知道的Promise前世Deferred

书单 | 2021半年盘点,不想你错过的重磅新书

干货 | 架构师的角色期望

收藏 | 终于有人把p值讲明白了

上新 | 【新书速递】实用安全多方计算导论

赠书 | 【第64期】豆瓣9.8分,周志明的《凤凰架构》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值