登录/注册 帐户

容器

什么是Kubernetes?

Kubernetes(也被称为k8s或“kube”)是一种开源集装箱业务流程平台,可自动许多参与部署,管理和扩展集装箱应用的手动流程。

换句话说,你可以聚集在一起运行Linux容器主机组,并Kubernetes帮助您轻松高效地管理这些集群。

Kubernetes集群可以跨越整个内部部署的主机,上市,私人的,或混合云。出于这个原因,Kubernetes是举办一个理想的平台原生云应用程序这需要快速扩展,比如实时数据流Apache卡夫卡

Kubernetes最初是由谷歌的工程师开发和设计的。谷歌是Linux容器技术的早期贡献者之一,并公开谈论过如何实现谷歌中的所有东西都运行在容器中。(这就是谷歌背后的技术云服务。)

谷歌产生超过2十亿容器部署一个星期,全部由它的内部平台,Borg。博格是Kubernetes的前身,多年来开发博格的经验教训成为了Kubernetes技术背后的主要影响因素。

有趣的事实:Kubernetes标志上的7条辐条指的是该项目的最初名称,”九中的七项计划。”

红帽是第一个与谷歌在Kubernetes上合作的公司之一,甚至在推出之前,并已成为2主要贡献者到Kubernetes上游项目。谷歌捐赠该项目Kubernetes到新形成的云本地计算基础(CNCF)在2015年。


你能用Kubernetes做什么?

在您的环境中使用Kubernetes,特别是如果你的主要优势优化云应用程序开发,它为您提供了在物理或虚拟机(VMS)。

更广泛地说,它可以帮助你全面落实并依靠在生产环境中基于容器的基础设施。而且由于Kubernetes是所有的操作任务自动化,你可以做很多的同样的事情其他应用平台或管理系统让你做,而是为你的容器。

开发人员还可以使用Kubernetes作为运行时平台来创建云本地应用程序Kubernetes模式。模式是一个Kubernetes开发者需要构建基于容器的应用程序和服务的工具。

随着Kubernetes,您可以:

  • 跨多个主机编排容器。
  • 更好地利用硬件,最大化运行企业应用程序所需的资源。必威体育网页
  • 控制和自动化的应用部署和更新。
  • 挂载和添加存储来运行有状态应betway西汉姆联用程序。
  • 规模集装箱式上飞应用程序及其资源。必威体育网页
  • 声明管理服务,这保证了部署的应用程序始终运行的方式,你打算它们运行。
  • 与自动布局,自动重启,autoreplication,以及自动缩放健康检查和自我治愈你的应用程序。

然而,Kubernetes依赖于其他项目来完全提供这些编排好的服务。通过添加其他开放源码项目,您可以充分认识到Kubernetes的强大功能。这些必要的部分包括(除其他外):

  • 注册表中,通过像原子注册表或码头注册表项目
  • 通过OpenvSwitch和智能edge路由等项目进行网络连接
  • 通过Kibana、Hawkular和Elastic等项目进行遥测
  • 安全性,通过与多租户层,如LDAP,SELinux的,RBAC,和OAuth项目
  • 自动化,为安装和集群生命周期管理添加了可行的剧本
  • 服务,通过一个丰富的流行应用程序模式目录

被介绍给Linux容器集装箱业务流程技术。在这种点播过程中,您将了解集装化应用程序和服务,使用泊坞测试它们,并使用Kubernetes集群上进行部署Red Hat®OpenShift®


学习讲库贝涅茨语

如同大多数的技术的情况下,特定语言来Kubernetes可以作为一个门槛。让我们打破了一些比较常见的术语来帮助您更好地了解Kubernetes。

控制平面:控制Kubernetes节点的进程集合。这是所有任务分配的起源。

节点:这些机器进行控制平面分配请求的任务。

荚:部署到单个节点的一个或多个容器组。pod中的所有容器共享IP地址、IPC、主机名和其他资源。必威体育网页Pods从底层容器抽象网络和存储。betway西汉姆联这使您可以更容易地在集群中移动容器。

复制器:它控制集群上应该运行多少个相同的pod副本。

服务:这样可以使从豆荚中工作的定义。Kubernetes服务代理自动获得服务请求的权利豆荚不管它在集群中移动或者即使它被替换。

Kubelet:该服务在节点上运行,读取集装箱舱单,并确保所定义的容器启动并运行。

kubectl:Kubernetes的命令行配置工具。


Kubernetes是如何工作的?

Kubernetes图

一个工作Kubernetes部署被称为集群。你可以想像一个Kubernetes集群两个部分组成:控制平面和计算设备或节点。

每个节点都是自己的的Linux®环境,可以是物理或虚拟机。每个节点运行由容器组成的pods。

控制平面负责维护集群所需的状态,例如运行哪些应用程序以及它们使用哪些容器映像。计算机器实际运行应用程序和工作负载。

Kubernetes运行于操作系统之上(红帽®企业Linux®,例如)和交互与所述节点上运行的容器豆荚。

Kubernetes控制平面接受来自管理员(或DevOps团队)的命令,并将这些指令转发到计算机上。

这种切换与许多服务一起工作,以自动决定哪个节点最适合该任务。然后,它在该节点中分配资源并分配po必威体育网页ds以完成请求的工作。

一个Kubernetes的集群定义的应用程序或其他工作负载的期望状态应该正在运行,他们使用的影像,哪些资源应提供给他们,和其它这样的配置的详细信息。必威体育网页

但从基础设施点,还有就是如何管理容器变化不大。您在容器控制恰好在一个较高的水平,让您无需进行微观每个单独的容器或节点更好的控制。

您的工作包括配置Kubernetes并定义节点、pods和其中的容器。Kubernetes负责编排容器。

在哪里运行Kubernetes由你决定。这可以在裸机服务器、虚拟机、公共云提供商、私有云和混合云环境上进行。Kubernetes的一个关键优势是它可以在许多不同类型的基础设施上工作。

什么泊坞窗?

码头工人可以用作Kubernetes编配的容器运行时。当Kubernetes将一个pod调度到一个节点时,该节点上的kubelet将指示Docker启动指定的容器。

然后kubelet不断地从Docker收集这些容器的状态,并在控制平面中聚合这些信息。Docker将容器拉到该节点并启动和停止这些容器。

与Docker一起使用Kubernetes的不同之处在于,自动化系统要求Docker完成这些工作,而不是管理员在所有容器的所有节点上手动完成这些工作。


为什么你需要Kubernetes?

Kubernetes可以帮助您提供和管理集装箱化,传统和云计算的本地应用程序,以及那些要重构到微服务。

为了满足不断变化的业务需求,开发团队需要能够快速构建新的应用和服务。云计算的本地开发与集装箱微服务启动时,它能够提供更快的发展,使得它更容易转变和优化现有的应用程序。

生产应用跨越多个容器,这些容器必须在多个服务器主机进行部署。Kubernetes给你的业务流程和所需的管理能力来部署容器,在规模,这些工作负载。

Kubernetes编排,您可以跨越多个集装箱,安排在一个集群中的容器,扩展那些容器,并且随着时间的推移管理这些容器的卫生构建应用服务。随着Kubernetes你可以采取向更好的IT安全有效的措施。

Kubernetes还需要集成网络、存储、安全、遥测和其他服务,以提供全面的集装箱基础设施。betway西汉姆联

Kubernetes解释 - 图

一旦这个扩展到生产环境和多种应用,很明显,你需要多,同位容器联手推出个人服务。

Linux的容器给您的基于微服务,应用程序的理想应用部署单元和自包含的执行环境。而在集装箱微服务使其更容易协调服务,包括存储,网络和安全性。betway西汉姆联

这显著乘环境中的容器的数量,并为这些容器积累,复杂性也随之增加。

Kubernetes通过将容器分类到“pods”中,解决了许多与容器扩散有关的常见问题。Pods为分组的容器添加了一个抽象层,它帮助您调度工作负载,并为这些容器提供必要的服务(如网络和存储)。betway西汉姆联

Kubernetes的其他部分帮助您在这些pods之间平衡负载,并确保运行的容器数量正确,以支持工作负载。

通过kubernet的正确实现,以及其他开源项目的帮助,比如原子登记,Open vSwitch,OAuth的,SELinux的-你可以精心安排你的集装箱基础设施的所有部分。

用例:构建云平台,提供创新的银行服务

阿联酋NBD,在阿拉伯联合酋长国(UAE)最大的银行之一,需要一个可扩展的,弹性的基础,为数字创新。该银行在努力与供应缓慢和复杂的IT环境。建立一个服务器可能需要2个月,而更改到大,单一应用程序花了6个月以上。

使用红帽OpenShift容器装载集装箱的业务流程,集成和管理,银行创造萨希卜,第一个私有云的规模在中东银行的挤兑。萨希卜提供应用程序,系统,和用于端至端其它资源开发-从配置于生产通过作为一种服务模型。必威体育网页

通过新的平台,Emirates NBD通过应用程序编程接口(api)和微服务改善了内部团队和合作伙伴之间的协作。通过采用敏捷和DevOps开发实践,世行缩短了应用程序的启动和更新周期。


支持与Kubernetes一个DevOps的方法

开发现代应用程序需要与过去不同的过程。DevOps加速了想法从开发到部署的过程。

在其核心,DevOps依赖于自动化常规操作任务和标准化应用程序生命周期的环境。容器支持用于开发、交付和自动化的统一环境,使在开发、测试和生产环境之间移动应用程序更加容易。

实现DevOps的一个主要结果是一个持续集成和持续部署管道(CI/CD)。CI/CD帮助您频繁地向客户交付应用程序,并以最少的人工干预验证软件质量。

集装箱管理与Kubernetes生命周期旁边一个DevOps的方法有助于对齐软件开发和IT运营支持CI / CD管道。

有了正确的平台,内外容器,可以在文化的最佳方式利用和流程变化,你已经实现。


在生产中使用Kubernetes

Kubernetes是开放源码的,因此,围绕该技术没有一个正式的支持结构——至少没有一个让您信任您的企业能够运行的支持结构。

如果在生产环境中运行时Kubernetes的实现出现问题,您可能会感到沮丧。你的客户也一样。

想想Kubernetes像汽车发动机。发动机可以独立运行,但它成为当它与变速器,车轴和车轮连接功能的汽车的一部分。只需安装Kubernetes是不够的,有生产级平台。

Kubernetes需要额外的组件来实现全功能。您需要添加身份验证、网络、安全性、监视、日志管理和其他工具。

这就是红帽OpenShift容器装载进来,它是完整的汽车。

Red Hat OpenShift是企业的Kubernetes。它包括所有使Kubernetes强大且可行的额外技术,包括注册、联网、遥测、安全、自动化和服务。

Red Hat OpenShift包括Kubernetes作为平台的中心组件,是一个重要的开源平台经CNCF认证的Kubernetes产品

利用红帽OpenShift平台的容器,你的开发人员可以做出新的集装箱应用,主机他们,并与可扩展性,控制和编排,可以轻松快速地将一个好点子变成新的商业云部署。

您可以尝试使用Red Hat OpenShift,通过60天的免费评估来自动化您的容器操作。

开始使用Kubernetes所需的工具

红帽OpenShift产品标志

开发、部署和管理您的容器——在任何位置、任何规模。

红帽企业Linux的标志

保持轻量级,使用优化的、安全的、最小内存占用的OS运行Linux容器。

还有很多与容器有关的东西