每次谈到容器的时候,除了Docker之外,都会说起 Kubernetes,那么什么是 Kubernetes呢?今天就来一起学快速入门一下 Kubernetes 吧!希望本文对您有所帮助。
Kubernetes,一种用于管理和自动化云中容器化工作负载的工具。
想象一下你有一个管弦乐队,将每个音乐家视为一个码头容器。为了创作优美的音乐,我们需要一个指挥来管理音乐家并设定节奏。现在将指挥想象为 Kubernetes,将管弦乐队想象为像 Robinhood 这样的应用程序。当市场休市时,像 Robinhood 这样的应用程序就没有什么作用。但当它们开业时,它需要完成特斯拉和 Shopify 等价格过高股票的数百万笔交易。
Kubernetes 是编排基础设施以处理不断变化的工作负载的工具。它可以跨多台机器扩展容器,如果一台机器出现故障,它知道如何用新机器替换它。
部署在 Kubernetes 上的系统称为集群。操作的大脑称为控制平面。它公开了一个 API 服务器,可以处理内部和外部请求来管理集群。
它还包含自己的键值数据库,称为etcd,用于存储有关运行集群的重要信息。
它管理的是一台或多台称为节点的工作机器。当您听到节点时,请想到一台机器。
每个节点都运行一个称为 kubelet 的东西,这是一个在机器上运行的微型应用程序,用于与主控制平面母舰进行通信。
每个节点内部都有多个 Pod,这是 Kubernetes 中最小的可部署单元。当您听到 pod 时,请想象一群鲸鱼或一起运行的容器。
随着工作负载的增加,Kubernetes 可以通过向集群添加更多节点来自动水平扩展。在此过程中,它负责处理复杂的事情,例如网络、秘密管理、持久存储等。
它是为高可用性而设计的,实现这一目标的一种方法是维护副本集。它只是一组随时准备运行的运行 Pod 或容器。作为开发人员,您可以在 YAML 中定义描述集群所需状态的对象。
例如,我们可能有一个 nginx 部署,其中包含一个包含三个 pod 的副本集。在spec字段中,我们可以准确定义它的行为方式,例如它的容器、卷、端口等。然后,您可以采用此配置并使用它自动配置和扩展容器,并确保它们始终正常运行和健康。
视频讲解:https://www.bilibili.com/video/BV12N411j7CE/ ,欢迎一键三连支持~
如果您想开拓眼界,了解和发现更多计算机领域的概念和知识,欢迎关注我在持续更新的开发者科普专栏,助你探索更多计算机领域的热门知识!
欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源