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