×

kubernetes是什么

kubernetes是什么(Apache的Mesos和Google的Kubernetes 有什么区别)

admin admin 发表于2024-07-01 23:12:24 浏览4 评论0

抢沙发发表评论

大家好,今天小编来为大家解答以下的问题,关于kubernetes是什么,Apache的Mesos和Google的Kubernetes 有什么区别这个很多人还不知道,现在让我们一起来看看吧!

本文目录

Apache的Mesos和Google的Kubernetes 有什么区别

Kubernetes是一个开源项目,它把谷歌的集群管理工具引入到虚拟机和裸机场景中。它可以完美运行在现代的操作系统环境(比如CoreOS和Red Hat Atomic),并提供可以被你管控的轻量级的计算节点。Kubernetes使用Golang开发,具有轻量化、模块化、便携以及可扩展的特点。我们(Kubernetes开发团队)正在和一些不同的技术公司(包括维护着Mesos项目的MesoSphere)合作来把Kubernetes升级为一种与计算集群交互的标准方式。Kubernetes重新实现了Google在构建集群应用时积累的经验。这些概念包括如下内容:Pods:一种将容器组织在一起的方法;Replication Controllers:一种控制容器生命周期的方法(译者注:Replication Controller确保任何时候Kubernetes集群中有指定数量的pod副本(replicas)在运行);Labels:一种可以找到和查询容器的方法;Services:一个用于实现某一特定功能的容器组;因此,只要使用Kubernetes你就能够简单并快速的启动、移植并扩展集群。在这种情况下,集群就像是类似虚拟机一样灵活的资源,它是一个逻辑运算单元。打开它,使用它,调整它的大小,然后关闭它,就是这么快,就是这么简单。Mesos和Kubernetes的愿景差不多,但是它们在不同的生命周期中各有不同的优势。Mesos是分布式系统内核,它可以将不同的机器整合在一个逻辑计算机上面。当你拥有很多的物理资源并想构建一个巨大的静态的计算集群的时候,Mesos就派上用场了。有很多的现代化可扩展性的数据处理应用都可以在Mesos上运行,包括Hadoop、Kafka、Spark等,同时你可以通过容器技术将所有的数据处理应用都运行在一个基础的资源池中。在某个方面来看,Mesos是一个比Kubernetes更加重量级的项目,但是得益于那些像Mesosphere一样的贡献者,Mesos正在变得更加简单并且容易管理。有趣的是Mesos正在接受Kubernetes的理念,并已经开始支持Kubernetes API。因此如果你需要它们的话,它将是对你的Kubernetes应用去获得更多能力的一个便捷方式(比如高可用的主干、更加高级的调度命令、去管控很大数目结点的能力),同时能够很好的适用于产品级工作环境中(毕竟Kubernetes仍然还是一个初始版本)。当被问到区别的时候,我会这样回答:如果你是一个集群世界的新手,那Kubernetes是一个很棒的开始。它可以用最快的、最简单的、最轻量级的方式来解决你的问题,并帮助你进行面向集群的开发。它提供了一个高水平的可移植方案,因为很多厂商已经开始支持Kubernetes,例如微软、IBM、Red Hat、CoreOS、MesoSphere、VMWare等。如果你拥有已经存在的工作任务(Hadoop、Spark、Kafka等),那Mesos可以给你提供了一个将不同工作任务相互交错的框架,然后还可以加入一些新的东西,比如Kubernetes应用。如果你想使用的功能Kuberntes还没实现,那Mesos是一个不错的替代品,毕竟它已经成熟。

两大容器管理平台,Kubernetes与OpenShift有什么区别

容器化是开发和部署应用的热门趋势,因为它们是加速开发的有效方式。容器的使用量在过去几年呈指数增长。

但是,跨基础架构管理容器可能会变得十分复杂,所以容器管理平台对于任何企业来说都是必不可少的工具。Kubernetes和OpenShift是市场上最受欢迎的两个容器管理平台。而OpenShift是基于Kubernetes的,那么二者之间到底有哪些区别呢?

OpenShift是由红帽(Red Hat)开发的容器化软件解决方案。他们的主要产品是OpenShift容器平台,这是基于Kubernetes管理的平台即服务(PaaS)。它是用Go和AngularJS编写的,并且有Apache许可证。

OpenShift Origin是红帽基于开源的云平台,允许开发人员构建,测试和部署云应用。该系统在Kubernetes核心之上添加工具,以实现更快的应用开发,轻松部署和扩展。

该平台除了可扩展外,还支持Go,Node.js,Ruby,Python,PHP,Perl和Java,允许用户添加对其他语言的支持。关于可扩展性,该平台可以自动或手动扩展容器化应用。

OpenShift提供的一些功能包括:

在整个应用程序生命周期中的安全性 - 安全性检查内置于容器堆栈中。

平台上包含的内置监控功能是Prometheus,一种数据库和应用监控软件。你可以在Grafana仪表板上实时显示应用。

集中式策略管理 - 跨集群的单个控制台为用户提供了实施策略的集中位置。

兼容性-OpenShift是Certified Kubernetes计划的一部分,因此允许与Kubernetes容器工作负载兼容。

使用OpenShift的好处包括:

快速的应用开发 - 平台流传输和自动化容器管理过程,从而增强了DevOps过程。应用开发的这种加速意味着你可以更快地进入市场,从而提高竞争力。

没有供应商锁定提供与供应商无关的开源平台,这意味着用户可以根据需要将其容器流程迁移到新的操作系统,而无需重新进行容器化编排。

自助服务配置 - OpenShift允许用户集成他们最常使用的工具,例如,视频 游戏 开发人员在开发与多个操作系统兼容的 游戏 时可以使用此功能。

Kubernetes是一个开源容器即服务(CaaS)编排系统,用于自动化容器化应用的部署,扩展和管理,从而改进应用程序开发过程。Kubernetes的一些功能包括:

Kubernetes的好处包括:

由于OpenShift基于Kubernetes,因此它们有很多共同之处。但是,两个平台之间存在一些差异。让我们对OpenShift和Kubernetes功能进行比较:

基础

虽然两者都基于Linux,但每个产品都在不同的环境中运行:

Kubernetes在其可运行的操作系统方面更加灵活。但是,包管理器应该是RPM,这意味着选择合适的Linux发行版。因此最好在Fedora,Ubuntu或Debian上运行它。Kubernetes可以部署在任何主要的IaaS平台上,例如AWS,Azure,GCP、阿里云、IBM云平台等。

OpenShift可以安装在Red Hat Enterprise Linux(RHEL)和Red Hat Enterprise Linux Atomic Host(RHELAH)以及Fedora和CentOS上。OpenShift Dedicated允许在云中创建自己的集群,特别是基于AWS。

Rollout

这两种产品在Rollout方面都很复杂:

Kubernetes运行平台的多样性意味着有无数的解决方案可以在本地创建Kubernetes集群。大多数都基于Rancher Kubernetes Everywhere(RKE)或kops等安装程序。

OpenShift可避免在首次Rollout后需要额外的组件。因此,它配备了基于Ansible的专有安装程序,可以使用最少的配置参数安装OpenShift。

Web UI

与通过基于Web的用户界面管理集群的能力相比,OpenShift和Kubernetes之间存在很大差异。

Kubernetes的仪表板必须单独安装,需要通过kube代理访问,以将本地机器的端口转发到集群的管理服务器。此外,它没有登录页面,但你需要手动创建承载令牌以提供身份验证和授权。所有这些复杂性导致Web UI对于真正的日常管理工作而言不是很有价值。

OpenShift的Web控制台有一个登录页面,可以轻松访问,甚至可以让你通过表单创建和更改大多数资源。虽然你无法通过Web管理集群,但可以可视化服务器,项目和集群角色。

集成镜像注册表

关于集成图像注册表的两个系统之间的关键区别:

使用Kubernetes,可以设置自己的Docker注册表,但没有集成镜像注册表的概念。

OpenShift附带了一个集成的镜像注册表,可以与Docker Hub或Red Hat一起使用。它甚至还有一个注册表控制台,可以在其中搜索与集群中项目相关的镜像和镜像流的信息。

Jenkins

虽然Kubernetes中不存在该概念,但可以部署自己的自定义Jenkins镜像。生成的组件是上传到镜像存储库的docker镜像。

OpenShift使用Pipeline构建,这是一种源到镜像构建的形式,它引用包含Jenkins的镜像,而Jenkins又监控ImageStreamsTags。当需要更新时,它可以启动Jenkins构建。

网络

Kubernetes没有本机网络解决方案,但提供可供第三方网络插件使用的接口。

OpenShift有一个开箱即用的本机网络解决方案OpenvSwitch,它提供三种不同的插件。

两者都是开源软件平台,来满足容器编排和应用开发。它们使得以简单易管理的方式部署和管理容器化应用成为可能。OpenShift Web控制台使其非常有用,允许直接通过它执行80%以上的任务。

虽然两者都有类似的核心(毕竟OpenShift内置了Kubernetes),OpenShift通过其开箱即用的功能使安装更容易。安装Kubernetes通常需要交钥匙解决方案或托管Kubernetes集群。

您选择的系统将取决于您的系统要求以及开发过程的关键灵活性或良好的Web界面。

以上就是我们为大家找到的有关“kubernetes是什么(Apache的Mesos和Google的Kubernetes 有什么区别)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。