Kubernetes实际上做了什么?


一只特立独行的猪
2024-12-19 08:48:09 (1月前)



Kubernetes
</跨度>
被称为容器集群“scheduler / orchestrator”,但我不知道这意味着什么。看完之后

Kubernetes
</跨度>
网站和(模糊的)GitHub维基,我能说的最好的是……文档来支持它。

那是什么

Kubernetes
</跨度>
,确切地说,它解决了哪些具体问题?

4 条回复
  1. 0# 甲基蓝 | 2019-08-31 10-32



    Kubernetes提供了与基础架构即服务API相同的功能,但针对动态调度的容器而不是虚拟机,以及作为平台即服务系统,但具有更大的灵活性,包括:




    • 安装存储系统,


    • 分发秘密,


    • 应用健康检查,


    • 复制应用程序实例,


    • 水平自动缩放,


    • 命名和发现,


    • 负载均衡,


    • 滚动更新,


    • 资源监测,


    • 日志访问和摄取,


    • 支持内省和调试,以及


    • 身份和授权。



    如果您已经使用其他机制进行服务发现,秘密分发,负载平衡,监控等,当然您可以继续使用它们,但我们的目标是通过提供此功能,轻松地从现有的IaaS和PaaS系统过渡到Kubernetes功能。




    https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#why-do-i-need-kubernetes-and-what-c​​an-it-do


  2. 1# 早岁那知世事艰 | 2019-08-31 10-32



    Kubernetes的目的是使您可以更轻松地在一组机器上组织和安排应用程序。在较高级别,它是群集的操作系统。



    基本上,它允许您不必担心每个应用程序运行在您的数据中心中的特定计算机。此外,它还提供了通用原语,用于在这些计算机上检查和复制应用程序,以及将应用程序连接到微服务的服务,以便应用程序中的每个层与其他层分离,以便您可以扩展/更新/维护它们独立。



    虽然可以在应用程序层中完成许多这样的事情,但这样的解决方案往往是一次性的,而且很容易分离关注点,编排系统担心如何运行应用程序,而你担心构成应用程序的代码。


  3. 2# 薄情 | 2019-08-31 10-32



    正如你从中读到的那样

    Github页面





    Kubernetes是一个用于管理集装箱化的开源系统
    跨多个主机的应用程序,提供基本机制
    应用程序的部署,维护和扩展。



    Kubernetes是:




    1. lean: lightweight, simple, accessible
      portable: public, private, hybrid, multi cloud
      extensible: modular, pluggable, hookable, composable
      self-healing: auto-placement, auto-restart, auto-replication

    2.   </code>
    3. </pre>
    4. <P>
    5.   Kubernetes建立在谷歌十五年的经验之上
    6. 大规模运行生产工作量,并结合同类最佳
      来自社区的想法和做法。




    对我来说,Kubernetes是Google的容器编排工具。由于它的设计,你可以实现与任何容器引擎的兼容性,但我认为现在它仅限于Docker。它的架构中有一些重要的概念:




    Kubernetes使用以下概念:



    集群是容器所在的计算资源
    建成。 Kubernetes可以在任何地方运行!请参阅入门指南
    各种服务的说明。



    Pod是具有共享卷的共处理Docker容器组。
    它们是可以创建,安排的最小可部署单元,
    并与Kubernetes一起管理。 Pod可以单独创建,但是
    建议您使用复制控制器,即使
    创建一个pod。更多关于豆荚。



    复制控制器管理pod的生命周期。他们确保这一点
    通过创建,在任何给定时间运行指定数量的pod
    或根据需要杀死豆荚。更多关于复制控制器。



    服务为一组pod提供单一,稳定的名称和地址。
    它们充当基本负载平衡器。更多关于服务。



    标签用于组织和选择基于的对象组
    key:值对。更多关于标签。




    因此,您有一组机器可以形成运行容器的集群。 Yo也可以定义一组提供服务的容器,就像你使用其他工具一样(例如:webapp pod可以是rails服务器和postgres数据库)。您还有其他工具可以确保同时运行的服务的多个容器/容器,键值存储,一种内置负载均衡器……



    如果您对coreos有所了解,那么这是一个非常类似的解决方案,但来自Google。 Algo Kubernetes与Google Cloud Engine有很好的集成。


登录 后才能参与评论