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

简介: 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大开源项目?

    相关实践学习
    深入解析Docker容器化技术
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
    相关文章
    |
    负载均衡 安全 网络虚拟化
    |
    存储 算法 NoSQL
    TinyKv介绍
    TinyKv介绍
    898 1
    |
    持续交付 项目管理 开发工具
    【必备工具】gitee上传-保姆级教程
    【必备工具】gitee上传-保姆级教程
    |
    存储 运维 Linux
    【MinIO异常】Storage reached its minimum free drive threshold 的解决方案
    【MinIO异常】Storage reached its minimum free drive threshold 的解决方案
    1382 0
    |
    6月前
    |
    运维 Kubernetes 监控
    K8s 管理平台怎么选?Rancher、OpenShift、kOps、EKS、GKE —— 运维视角下的真相对比
    K8s 管理平台怎么选?Rancher、OpenShift、kOps、EKS、GKE —— 运维视角下的真相对比
    741 17
    |
    Kubernetes Java 调度
    接入 MSE XXL-JOB 任务调度实现优雅下线
    阿里云 MSE XXL-JOB 产品最新版本特别新增了分布式定时任务优雅下线功能,能有效保障高频业务处理在发布与重启过程中的平滑持续,避免数据丢失和调度失败。
    678 109
    |
    安全 网络协议 Linux
    【Windows】已解决:修改本地host文件异常的正确解决方法
    【Windows】已解决:修改本地host文件异常的正确解决方法
    3586 0
    |
    存储 NoSQL 调度
    |
    云安全 监控 安全
    什么是游戏盾,能为游戏安全提供哪些帮助
    游戏盾是一种专为游戏行业量身定制的网络安全防护解决方案。随着网络游戏的普及和玩家数量的激增,游戏服务器面临的网络威胁也日益增多,包括但不限于分布式拒绝服务攻击(DDoS攻击)、挑战碰撞(CC)攻击等。为了应对这些挑战,游戏盾应运而生,旨在为游戏运营商提供全方位、高效能的网络安全解决方案。
    |
    存储 缓存 编译器
    Go语言解析Tag:深入探究实现原理
    【2月更文挑战第20天】
    1161 2