一文掌握Kubernetes衍生的9大开源项目

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
简介: Kubernetes是当今容器革命的中心。容器运动使整个IT行业围绕开放标准进行整合,使所有组织受益,而不仅仅是少数强大的供应商。这就是Kubernetes所代表的:一个建立在开放基础上的软件交付世界。


Kubernetes是当今容器革命的中心。容器运动使整个IT行业围绕开放标准进行整合,使所有组织受益,而不仅仅是少数强大的供应商。这就是Kubernetes所代表的:一个建立在开放基础上的软件交付世界。

    然而,这种开放性不仅仅与Kubernetes有关。相反,在围绕Kubernetes构建的所有工具和解决方案中,这种开放性都很明显。这是因为特意为Kubernetes构建的开放式架构。当谷歌向全世界发布Kubernetes时,平台上存在大量空洞,需要填充。虽然存在希望,但很少有人知道是否会有足够的支持。令大家惊讶的是,围绕Kubernetes的共识几乎是一致的。过去几年出现的各种解决方案大多数是开源的。以下是Kubernetes衍生的关键开源项目(排名不分先后)

    1|Helm

    Helm是Kubernetes的包管理器。它有助于自动执行手动安装任务。Helm有一个名为Charts的功能,这是一个描述Kubernetes资源列表的YAML文件。

    除了安装之外,它还有助于使部署更容易、更可预测。通过对CI / CD采用系统化方法,Helm有助于简化软件交付流程。它与Kubernetes很好地集成,是CNCF的一部分。

    2|Operator Framwork

    由CoreOS创建,现在归属于红帽,Operator Framework在构建Kubernetes原生应用程序时提供抽象和简单性。operator是在Kubernetes上部署应用程序的方法。目前,在Kubernetes上构建应用程序时,需要编写许多低级API和样板代码。Operator Framework旨在通过提供有助于管理应用程序开发和进一步管理整个应用程序生命周期的SDK来改进这一点。    

    3|gVisor

    gVisor是为数不多的专注于保护Kubernetes集群的工具之一。具体来说,它处理容器隔离,这对安全性至关重要。gVisor可用于在沙盒gVisor容器中运行你不完全信任的应用程序。这些沙盒容器与系统的其余部分充分隔离,因此在应用程序出现任何问题的情况下,可提供一层保护。过去,已经有了基于机器的虚拟机隔离解决方案,以及使用seccomp、SELinux和AppArmor等工具进行基于规则的隔离。gVisor在这些工具之上的一层工作,改进了系统调用的处理。在gVisor上运行的每个应用程序都有自己的内核和不同的主机资源。这样,你可以在初始阶段更加大胆地在生产中运行应用程序。

    当然,你需要的不只是gVisor才能真正保护在Kubernetes中的应用程序。实际上,你需要一个完整的策略来管理开源风险。这种风险甚至可能来自管理开源工具,使其易受攻击。像Whitesource这样的工具是使用开源工具时保持合规的关键。

    4|Istio

    Istio是现在最热门的Kubernetes容器网络工具。它基于“服务网格”模型。它使用Envoy边车代理——充当代理网格,并在微服务应用程序的各种服务之间实现更好的通信。Istio处理整个网络的负载均衡。它实施控制流量和网络请求加密的策略。仍然处于pre-v1.0阶段的Istio不支持所有的容器编排器(如Mesos),但对Kubernetes的支持很强。在过去的一年中,Istio的采用一直很强劲,而且仍将持续。

    5|Prometheus

    Prometheus是Kubernetes的顶级监控工具。它侧重于捕获和提供流式实时指标以供分析。在管理Kubernetes时,你需要实时监控,Prometheus做得很好。 Prometheus利用另一个开源工具Kibana进行可视化,但它本身具有强大的查询功能,可让你充分利用监控指标。Prometheus的最大好处是你可以根据指标设置实时警报。这些警报可以通过电子邮件或Pagerduty等外部工具发送。其他监控工具包括Heapster和cAdvisor,但Prometheus是目前用得最多的。

    6|OpenTracing

    由于微服务架构的复杂性,网络通信是一个巨大的挑战。当请求通过网络时,它们会触及多个服务。能够跟踪网络请求的细节是管理员所必需的。 OpenTracing以微服务模型为基础,可以深入了解网络请求,从头到尾跟踪完整路径,并在整个过程中及时处理问题。它提供了每个步骤所用时间的直观表示,并且当与指标和日志结合使用时,它是一个强大的调试和安全工具。

    7|Kops

    命令行是一个常常没有被充分利用的强大工具。Kops希望通过允许开发人员在AWS、Google Cloud和Digital Ocean等云平台上轻松创建和管理Kubernetes集群来改变这种状况。Kops正在为更多云供应商提供支持。Kops允许你使用可以执行复杂任务的简单命令轻松地从CLI创建群集。它通过抽象复杂性和提供强大的默认值和易于定制的模板来实现这一点。就像使用kubectl在集群内运行命令一样,你可以使用Kops在集群上运行命令。Kops的好处是自动化和抽象化的集群管理以及提高效率。Kops还集成了Terraform模板,让你可以在云平台上创建K8s集群。

    8|Project Calico

    Project Calico是一款独特的工具,可提供基于策略的网络安全性。Calico采用精细且分布式的安全方法。与曾经使整个系统易受攻击的传统外围防火墙不同,Calico使用微型墙封装系统内的每个服务。

    9|GRPC

    另一个网络工具gRPC处理远程过程调用,即客户端和服务器位于不同主机上时候的通信。gRPC专门管理Kubernetes网络中请求的负载均衡。它启用了路由请求的规则,以便系统在峰值容量时表现正常,并且没有单个节点过载。它处理重试和超时,从而确保没有长时间运行的请求占用系统资源。通过引入请求的双向流,gRPC实时地进行服务到服务的通信。通过克服通信的关键挑战,gRPC让Kubernetes管理员专注于应用逻辑和更高价值的任务。

    勇敢的新开源Kubernetes世界

    当你向更加以Kubernetes为中心的堆栈迈进时,挑战是新的,解决方案也应如此。这些解决方案并非来自大型供应商,相反,它们来自整个开发者社区,为面临的问题创建解决方案,并与世界分享,以便进一步改进和完善。在这个新经济中,开源不是养子或事后的想法——它是面对云计算这一整个难题的关键。无论是安全性、网络、监控还是更好的管理,都有对应的开源工具。因此,把那些昂贵的、专有的、锁定的供应商工具放在一边,进入开源Kubernetes工具的勇敢新世界吧。

    本文转移K8S技术社区-一文掌握Kubernetes衍生的9大开源项目?

    相关实践学习
    通过Ingress进行灰度发布
    本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
    容器应用与集群管理
    欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
    相关文章
    |
    存储 监控 测试技术
    三个开源项目使得Kubernetes使用易如反掌
    本文讲的是三个开源项目使得Kubernetes使用易如反掌【编者的话】Kubernetes是一个大的项目,非常大,用好kubernetes是一件挑战的事情。这篇文章介绍三个基于Kubernetes的开源项目:它们是Heptio、Kubed和Kubicorn,覆盖Kubernetes集群状态管理、快照及灾难恢复,使Kubernetes更易用。
    2214 0
    |
    开发框架 Kubernetes 供应链
    Kubernetes 将大量采用 Sigstore 来保护开源生态系统
    Kubernetes 1.24 是第一个正式使用 Sigstore 的版本,能够无缝验证签名,以防止 560 万开发者社区遭受供应链攻击
    220 0
    |
    存储 运维 Kubernetes
    【kubernetes技术专题】Kubernetes架构分析介绍篇(入门篇)
    【kubernetes技术专题】Kubernetes架构分析介绍篇(入门篇)
    157 0
    【kubernetes技术专题】Kubernetes架构分析介绍篇(入门篇)
    |
    Kubernetes Serverless 开发者
    基于 Kubernetes 的 FaaS 平台开源实现——Kubeless 的应用实践
    通常我们认为Serverless包含两个部分,FaaS和BaaS,本次主要讲的是FaaS部分。 什么是Serverless 通常我们认为Serverless包含两个部分,FaaS和BaaS,本次主要讲的是FaaS部分。
    3631 0
    |
    存储 Kubernetes 安全
    Kubernetes-架构路线图
    1、背景 各种平台都会遇到一个不可回避的问题,即平台应该包含什么和不包含什么,Kubernetes也一样。Kubernetes作为一个部署和管理容器的平台,Kubernetes不能也不应该试图解决用户的所有问题。
    3005 0
    |
    Kubernetes API Docker
    kubernetes架构之二
    一、概述   IaaS:即基础设施即服务,通过虚拟化和分布式存储等技术,实现对包括服务器、存储设备、网络设备等各种物理资源的抽象;从而形成了一个可扩展、可按需分配的虚拟资源池。最具代表性的IaaS产品有Amazon AWS,提供虚拟机EC2和云存储S3等服务;   PaaS:平台即服务,为开发者提供了应用的开发环境和运行环境,将开发者从繁琐的IT环境管理中解放出来;PaaS主要面向的是软件专业人员;   SaaS:软件即服务,面向使用软件的终端用户。
    1936 0
    |
    容器 Kubernetes 运维
    阿里云和微软共同开源的 OAM 对 Kubernetes 开发人员意味着什么?
    上周,微软和阿里巴巴共同推出了开放应用模型(OAM),用于定义部署在任何地方的应用模型的一种规范。Rudr是Microsoft基于Kubernetes环境的OAM标准实现。 我用了一个周末来了解OAM试图解决的问题,为此我还以Rudr为基础重构了一些我喜欢的基础微服务的应用程序。
    |
    存储 Kubernetes 负载均衡
    【kubernetes技术专题】Kubernetes架构分析介绍篇(进阶篇)
    【kubernetes技术专题】Kubernetes架构分析介绍篇(进阶篇)
    213 0
    【kubernetes技术专题】Kubernetes架构分析介绍篇(进阶篇)
    |
    3月前
    |
    Kubernetes Cloud Native 前端开发
    Kubernetes入门指南:从基础到实践
    Kubernetes入门指南:从基础到实践
    98 0

    热门文章

    最新文章