面向开发人员的实用 Kubernetes 故事
本文最初发表于ITNEXT.IO
Kubernetes 如何工作?
在 Kubernetes 中,有一个主节点和多个工作节点,每个工作节点可以处理多个 Pod。Pod 只是一堆作为工作单元聚集在一起的容器。您可以开始使用 Pod 设计应用程序。Pod 准备就绪后,您可以向主节点指定 Pod 定义以及要部署的数量。从此时起,Kubernetes 便处于控制地位。它获取 Pod 并将其部署到工作节点。
如果工作节点发生故障,Kubernetes 会在正常运行的工作节点上启动新的 Pod。这使得管理容器的过程变得轻松简单。它使构建和添加更多功能以及改进应用程序以获得更高的客户满意度变得容易。最后,无论您投资于哪种技术,Kubernetes 都能为您提供帮助。
现在让我们看看一些成功的故事:)
银行应用程序在生产环境中运行 Kubernetes 的必读故事
这段旅程证明,即使规模再大,Kubernetes 也能轻松上手。他们通过将庞大的单体应用拆分成多个小型微服务,开启了 CloudNative 之旅。为了启动这些微服务,他们使用了 Ansible、Terraform 和 Jenkins,并将它们作为一个整体进行部署。
然后,他们突然开始遇到微服务的一些扩展问题。因此,他们无法享受到微服务的任何优势。因此,他们开始寻找摆脱这种复杂性的方法,将重点从面向机器的架构转移到面向应用的架构。他们选择 Kubernetes 作为抽象层,并与 AWS 配合使用,无需担心容器的运行位置,从而能够管理微服务并提升其速度。他们还从安全角度选择了 Kubernetes,并指定应用程序的运行方式。现在,在 Kubernetes 的帮助下,他们在生产环境中运行着大约 80 多个微服务:)
观看 Kasper Nissen 制作的视频“在 Lunar Way 的生产环境中运行 Kubernetes”,了解他们是如何做到的。
Airbnb 的 Kubernetes 故事
Airbnb 从单体架构到微服务架构的转型相当惊人。他们需要水平扩展持续交付,目标是让公司大约 1000 名工程师能够使用持续交付,以便他们能够添加新服务。Airbnb 采用了这种架构,支持超过 1000 名工程师同时配置和部署超过 250 个关键服务到 Kubernetes(平均每天部署约 500 次)。我想让你们看看Airbnb 基础设施工程师 Melanie Cebula 的精彩演讲。
eBay 为什么选择 Kubernetes?
eBay 每天处理 3000 亿次数据查询,处理超过 500PB 的海量数据。eBay 必须移动海量数据并管理流量,在确保流畅用户体验的同时,还要确保环境安全稳定,并具备足够的灵活性以鼓励创新。2018 年秋季,该公司宣布正在实施一项名为“平台重塑”的三年计划。eBay 90% 的云技术依赖于 OpenStack,而他们正在计划彻底放弃 OpenStack。eBay 正在利用 Kubernetes、Docker 和 Apache Kafka(一个可提高数据处理能力并降低延迟的流处理平台)进行平台重塑。
目标是提升用户体验,提高工程师和程序员的生产力,并彻底改造其数据中心基础设施。此次平台重塑的其他活动包括设计自己的定制服务器,并为其数据中心推出新的去中心化战略。与 Facebook 和微软一样,eBay 也依靠开源来设计定制服务器。这是一个鼓舞人心的案例研究。您觉得怎么样?
Amadeus 迁移至 Kubernetes。一个鼓舞人心的 CloudNative 故事。阅读……
Amadeus 面临两个选择:要么进一步扩建数据中心,要么将工作负载迁移到云端。最终,他们选择了谷歌云。在 18 个月内,Amadeus 将其最关键的应用程序之一“Master Pricer”迁移到了谷歌云平台。
现在您知道了,他们的下一步是迁移到 Kubernetes,因为谷歌云平台更合适。他们的目标是加快 Kubernetes 的部署速度,而挑战在于在整个团队中建立学习 Kubernetes 的规范。因此,Amadeus 团队开始学习如何操作 Kubernetes、监控 Kubernetes 以及如何进行警报。在迁移过程中,谷歌和红帽的工程师在 Amadeus 现场帮助他们掌握 OpenShift 和容器编排技术 Kubernetes。Amadeus 的总体目标是将所有生产工作负载迁移到基于 Kubernetes 的单一运营模型上运行。现在,该公司认为这个选择是正确的。
以下为鸣谢:
Amadeus 为何将其核心 Master Pricer 应用程序迁移至 Google Cloud
彭博社是首批采用 Kubernetes 的公司之一
他们在 2017 年将 Kubernetes 投入生产。目标是尽快为用户带来新的应用程序和服务,并将开发人员从操作任务中解放出来。在评估了不同公司的众多产品后,他们选择了 Kubernetes,因为他们认为它完全符合他们试图解决的问题。彭博社的主要目标之一是利用 Kubernetes 的不同功能更好地利用现有硬件投资。结果,他们能够非常高效地使用硬件,使利用率接近 90% 到 95%(彭博社计算基础设施团队负责人 Andrey Rybka 表示)没有什么伟大的事情是容易的;只有你知道如何使用 Kubernetes,它才能让很多事情变得更简单。由于开发人员最初发现使用起来很有挑战性,因此团队在彭博社围绕 Kubernetes 开展了许多培训计划。
了解 News UK 如何利用 Kubernetes 的力量在云原生世界中拯救自己
News UK 的关键目标是更好地扩展其环境,以应对突发新闻事件和不可预测的读者数量。他们曾考虑过虚拟机能否帮助他们,但很快意识到虚拟机启动速度太慢,当流量激增时,速度不足以为 AutoScalingGroup 带来新的容量(News UK 前云 DevOps 工程师 Marcin Cuber 就是这么说的)。他们采用了 Docker 和 Kubernetes。在 Kubernetes 中运行的 Docker 容器更小巧轻量,可以根据需要轻松扩展或缩减规模。
Cuber 还为任何希望采用 Docker 和 Kubernetes 的组织提供了一些建议。
- 使您的 Docker 镜像尽可能小,并专注于使用 Kubernetes 运行无状态应用程序。
- 为您的应用程序运行健康检查并使用 YAML 部署任何内容 News UK 还希望降低云成本,因此他们将 EKS 集群与 AWS 现货实例配对,并且还使用 AWS Lambda 来高效地完成这项工作。
额外福利——Kubernetes 资源
这份列表应该涵盖了有关 Kubernetes 的所有内容。
-
POD 游戏是一套在 Kubernetes 上进行的免费、有趣且具有挑战性的挑战
-
获得容器编排Kubernetes 和 IBM Cloud 上容器的实践经验- IBM Cognitive Class 提供的免费 Kubernetes 课程 -
OpenShift 团队对 Kubernetes 的实践介绍 Kubernetes By Example
-
熟悉Kubernetes 的概念——完整课程
-
使用 Kubernetes实现可扩展的微服务
-
Janakiram MSV 主持的Kubernetes网络研讨会
-
精选Kubernetes优秀资源列表
此外,下载此白皮书,它可以帮助您了解 Kubernetes 的最佳实践,将您的容器一直投入生产。
好吧,这篇文章也可能有助于你增强 DevOps 学习,请看下面,

我在 2019 年的 DevOps 学习。分享你的学习心得:)
帕万·贝拉加蒂 ・ 2019 年 12 月 27 日
我每天都会在我的 LinkedIn 动态上分享一个故事,让我们在LinkedIn上建立联系。
谢谢你!
文章来源:https://dev.to/pavanbelagatti/practical-kubernetes-stories-for-developers-330d