原文链接: https://www.cncf.io/blog/2023/10/23/introduction-a-closer-look-at-kubernetes-and-nomad/

✍️作者: Rob Newsome

Description:

stack.io 产品管理主管 Rob Newsome 的特邀文章 在容器编排领域,Kubernetes 和 Nomad 都是响当当的产品,它们各自为容器编排提供了一种独特的方法…

容器编排领域,KubernetesNomad都是响当当的产品,各自提供了一种独特的容器管理方法。Kubernetes以其详尽的功能和广泛的社区支持而闻名,已成为编排的标准。相反,Nomad则以简单高效为先,提供了一种精致、精简的方法。这种比较的本质是为读者提供一个清晰的视角,以辨别其中的差异,并根据自己的独特需求和环境背景做出明智的决定。

比较

容器编排对于优化容器的生命周期管理至关重要。随着企业规模的扩大,人工管理变得难以为继,这已成为一个至关重要的方面。在这方面,KubernetesNomad变得至关重要,它们可以跨主机集群自动部署、扩展和操作应用容器,为容器管理提供了生命线。

深入了解基础知识

  • Kubernetes (K8s):

    • 起源和概述: Kubernetes 起源于谷歌,现在是CNCF的重要组成部分,是容器编排的代名词。它功能全面、用途广泛,非常适合有多方面编排需求的组织。
    • 生态系统: Kubernetes 生态系统非常丰富,有大量的集成、扩展和适配,可实现广泛的用例和定制选项。
    • 适用性: 广泛的功能集和灵活性使其成为处理各种编排任务和工作流程的强大工具。
  • Nomad:
    • Nomad由HashiCorp创建,其与众不同之处在于注重简单性和开发人员友好性。它非常灵活,既能满足容器化应用,也能满足非容器化应用。
    • 生态系统: Nomad 的生态系统虽然较为小众,但却专注而专一,确保了其领域中更简单、更直接的编排任务的稳健性和可靠性。
    • 适用性: 它非常适合偏好精益编排方法的企业,重点是为部署应用程序维持一个精简、连贯的工作流程。

优势聚焦

  • Kubernetes: 擅长管理复杂的多容器工作负载,因此适合采用微服务架构的企业。它具有高度的可配置性和适应性,允许进行广泛的定制。
  • Nomad: 在对简单性和速度要求极高的场景中脱颖而出。它提供了一种精简的编排方法,以其简约的姿态和清晰的工作流程脱颖而出,尤其适合中小型部署。

设计与可用性

  • Kubernetes: 以广泛的可配置性和适应性为特点,可管理复杂的编排工作流,学习曲线较陡峭,需要全面了解才能有效利用其全部功能。
  • Nomad: 强调简单易用,提供相对轻松的设置和管理。它的设计理念使其成为喜欢更直接的编排方法的用户的理想选择。

社区与文献: 探索生态系统

  • Kubernetes: 围绕 Kubernetes 的庞大而充满活力的社区提供了丰富的资源,包括广泛的支持论坛、教程和专家建议,对于解决问题和学习最佳实践非常有价值。
  • Nomad: 社区虽然规模较小,但热情而专注。HashiCorp 提供高质量的文档和强大的支持,确保用户能够有效利用 Nomad 的功能。

云计算集成: 评估兼容性

  • Kubernetes: 得到了所有主要云提供商的认可,使用云服务的企业可以期待在这些平台上部署 Kubernetes 的无缝集成、专用服务和大量文件。
  • Nomad: Nomad在不同环境中都能保持其简单性和灵活性,虽然没有像Kubernetes那样获得云提供商的广泛认可,但它可以使用基础设施即代码工具(如Terraform)高效地部署在任何云环境中。

最终想法

KubernetesNomad之间做出选择,在很大程度上取决于企业的具体需求、偏好和现有基础设施;这并不是要宣布一个普遍的赢家。每种工具的开发都遵循不同的设计理念,并针对不同的用例。

Kubernetes是一种一站式解决方案,适用于需要广泛且适应性强的编排平台的组织。它尤其适用于需要管理复杂的多容器工作负载的复杂部署。如果您的企业倾向于采用微服务架构,或者您预计必须管理大量不同的服务,那么 Kubernetes 可能是更合适的选择。

  • Kubernetes 的用例

    • 大规模应用: 适用于需要复杂编排的大规模应用。
    • 微服务架构: 有利于采用微服务架构的组织。
    • 多云环境: 适用于在多个云提供商之间部署应用程序的环境。

相比之下,Nomad则擅长于将简单、快速和高效放在首位。它提供了一种更精简、更集中的方法,使其成为中小型部署或拥有混合容器化和非容器化应用程序的组织的绝佳选择。Nomad 非常适合那些重视快速、简便设置而不深入研究复杂配置的用户。

  • Nomad 的用例

    • 较简单的工作负载: 适用于较简单的独立应用程序或混合部署类型。
    • 快速部署: 有利于寻求快速设置和部署应用程序的企业。
    • 混合环境: 在混合环境中结合使用虚拟机和容器进行高效部署。

因此,在Kubernetes和Nomad之间做出决定前,应深思熟虑地考虑组织当前和未来的需求、团队的技术储备以及编排所需的简单或复杂程度。评估贵组织的需求和团队的熟练程度,让这一探索指导您在容器编排之旅中做出最正确的选择。

「译文」深入了解Kubernetes和Nomad的更多相关文章

  1. 「译」JUnit 5 系列:条件测试

    原文地址:http://blog.codefx.org/libraries/junit-5-conditions/ 原文日期:08, May, 2016 译文首发:Linesh 的博客:「译」JUni ...

  2. 「译」JUnit 5 系列:扩展模型(Extension Model)

    原文地址:http://blog.codefx.org/design/architecture/junit-5-extension-model/ 原文日期:11, Apr, 2016 译文首发:Lin ...

  3. 「译」JavaScript 的怪癖 1:隐式类型转换

    原文:JavaScript quirk 1: implicit conversion of values 译文:「译」JavaScript 的怪癖 1:隐式类型转换 译者:justjavac 零:提要 ...

  4. iOS 9,为前端世界都带来了些什么?「译」 - 高棋的博客

    2015 年 9 月,Apple 重磅发布了全新的 iPhone 6s/6s Plus.iPad Pro 与全新的操作系统 watchOS 2 与 tvOS 9(是的,这货居然是第 9 版),加上已经 ...

  5. 面试都在问的「微服务」「RPC」「服务治理」「下一代微服务」一文带你彻底搞懂!

    ❝ 文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) ❞ 单体式应用程序 与微服务相对的另一个概念是传统的「单体式应用程 ...

  6. 「MoreThanJava」计算机发展史—从织布机到IBM

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  7. JavaScript OOP 之「创建对象」

    工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...

  8. 「C++」理解智能指针

    维基百科上面对于「智能指针」是这样描述的: 智能指针(英语:Smart pointer)是一种抽象的数据类型.在程序设计中,它通常是经由类型模板(class template)来实做,借由模板(tem ...

  9. 「JavaScript」四种跨域方式详解

    超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript 的同源策略,并且了解使用跨域跨域的理由. 1. JSONP 首先要介绍的跨域方法必然是 JSON ...

  10. 「2014-5-31」Z-Stack - Modification of Zigbee Device Object for better network access management

    写一份赏心悦目的工程文档,是很困难的事情.若想写得完善,不仅得用对工具(use the right tools),注重文笔,还得投入大把时间,真心是一件难度颇高的事情.但,若是真写好了,也是善莫大焉: ...

随机推荐

  1. 【Azure Developer】Java代码访问Key Vault Secret时候的认证问题,使用 DefaultAzureCredentialBuilder 或者 ClientSecretCredentialBuilder

    问题描述 使用Java SDK获取Key Vault Secret机密信息时,需要获取授权.通常是使用AAD的注册应用(Client ID, Tenant ID, Client Secret)来获取  ...

  2. 【Azure 应用服务】App Service 默认开放端口说明, 如何禁用Web app的端口号? 

    问题描述 基于安全的角度来考虑,在网站上线之前用户会对自己的网站进行安全扫描,以防网站因为某些漏洞而被非法攻击. 而在扫描过程中,会发现除了 80 和 443 之外的一些其他端口也被开放了.例如:45 ...

  3. curator-framework 使用采坑记之org.apache.zookeeper.ClientCnxn - Opening socket connection to server..........Will not attempt to authenticate using SASL (unknown error)报错解决

    一.curator-framework  简介 curator-framework 是对zookeeper做的分二次分布式封装处理,目前代码也是apache 开源社区维护,如下所示. github地址 ...

  4. RocketMQ(4) 消息的消费

    消费者从Broker中获取消息的方式有两种:pull拉取方式和push推动方式.消费者组对于消息消费的模 式又分为两种:集群消费Clustering和广播消费Broadcasting. 1. 获取消息 ...

  5. 《Relation of the Relations A New Paradigm of the Relation Extraction Problem》论文阅读笔记

    原文 代码 摘要 为了解决传统的关系抽取(RE)方法只能识别两个实体之间的关系,而忽略了同一上下文中多个关系之间的相互依赖性,即关系的关系(relation of relations,RoR)的问题, ...

  6. Spring事务(一)-事务配置

    事务是数据库操作最基本的单元,是逻辑上的一组操作,这一组操作在同一个会话中要么都执行成功,要么都失败,这也是事务的最基本特性--原子性.事务的作用是为了保证系统数据的正确性,因此,数据库应用程序中是会 ...

  7. 重新认识 tag 快照 git (项目临时添加需求,之前有分支合并,导致从节点拉分支不行了,因为没有tag快照)

    之前的tag认知 之前一直以为tag就是在git的提交commit上打一个标,然后可以拉出分支.之前没太重视. 因为我觉得 可以直接从某个commit直接拉出分支,这打不打tag无所谓 翻车现场 今天 ...

  8. koa 文件下载 pdf预览 两个接口 - nodejs - chromeDownload chromePreview

    koa 文件下载 pdf预览 两个接口 - nodejs - chromeDownload chromePreview chrome.js const router = require("k ...

  9. vscode sftp 代码同步到服务器

    然后执行 ctrl+shift+p ,搜索 SFTP:Config 回车后,会生成一个".vscode/sftp.json",这个就是配置文件 参考:VsCode SFTP插件详细 ...

  10. RaspberryPi 树莓派 omxplayer 的音量设置方法实测有效!

    正确的设置初始音量的方法,其中n/100=你期望的初始dB值, omxplayer --vol n target.media omxplayer介绍 omxplayer 在github中的描述是一个弃 ...