为什么开发人员应该学习 Kubernetes?

作者 | Steve Tidwell

译者 | 弯月     责编 | 晋兆雨

出品 | CSDN(ID:CSDNnews)

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

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

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

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

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

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

左移

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

声明:本文由CSDN翻译,转载请注明来源。 

 开发者必备的知识图谱来啦!60+专家,13个技术领域,CSDN 《IT 人才成长路线图》重磅来袭!直接扫码或微信搜索「CSDN」公众号,后台回复关键词「路线图」,即可获取完整路线图!

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Kubernetes培训是为了提供给开发人员、操作人员或系统管理员一个全面了解和使用Kubernetes平台的机会。Kubernetes是一个开源的容器编排工具,用于管理容器化应用程序的部署、扩展和管理。它提供了丰富的功能和工具集,可以帮助用户自动化容器集群的管理和扩展。 在Kubernetes培训中,学员将学习如何安装和配置Kubernetes集群,包括掌握基本的Kubernetes组件和概念。他们将学习如何使用Pod、Deployment和Service等核心概念来定义、部署和管理容器化应用程序。此外,他们还将学习如何使用Kubernetes的监控、日志记录和调试工具来帮助他们了解和解决潜在问题。 Kubernetes培训还将涵盖如何进行应用程序的扩展和自动化,以应对不同的负载需求。学员将学习如何使用水平扩展、自动伸缩和服务发现等功能,以确保应用程序能够根据负载的变化进行适当的调整和伸缩。 此外,Kubernetes培训也会涵盖如何进行故障排除和容错处理。学员将学习如何识别和解决常见的故障情况,如网络问题、资源不足等。他们还将了解如何设置容错机制,以确保应用程序在发生故障时能够自动恢复。 总之,Kubernetes培训将为学员提供使用Kubernetes进行容器编排和管理的实践技能。通过掌握这些技能,学员将能够更好地理解和应用Kubernetes平台,提高应用程序的部署和管理效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值