使用Kubernetes进行容器编排

本文介绍了Kubernetes作为容器编排工具的背景和优势,强调了其自动化操作、扩展性和自我修复能力。Kubernetes与Docker Swarm进行了对比,并概述了其主从架构以及主要组件,包括etcd、API服务器、调度器和kubelet。文章还提到了Kubernetes中的关键概念,如Pod、服务和控制器,以及如何在Ubuntu Server上快速安装Kubernetes。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg

这是关于Linux容器介绍的第三篇,在这篇文章中,作者向我们介绍如何用Kubernetes进行容器编排。这个系列的前两篇文章分别是:



如果您已经阅读了这个系列的前两篇文章,你现在应该已经熟悉Linux的控制组以及Linux容器和Docker了。这里简短的概括一下之前的内容:曾经,数据中心的管理员需要部署整个操作系统,占用所有硬件服务器,每个服务器都托管一些应用程序,产生了很多管理上的开销。之后技术发展到可以跨多个服务器主机进行扩展,并且整个系统越来越难以维护。这变成一个棘手的问题。随着技术继续发展,我们得以缩小整个操作系统并将这些不同的应用程序作为多个容器上的微服务启动,并托管于同一物理机器上。


在这个系列的最后一部分,我将探讨大多数人用来创建,部署和管理容器的方法。这个概念通常被称为容器编排。如果我只专注于Docker,它本身就非常简单易用,即便同时运行几个镜像也同样容易。现在,将其扩展到上百个(甚至上千个)镜像。如何管理它们?最终,您需要选择一个框架来管理它们。例如Kubernetes。


Kubernetes

640?wx_fmt=png

Kubernetes,或者k8s(k + 8个字母),最早来自于Google,是一个旨在自动化操作容器的开源平台:“支持应用程序容器在多个主机的集群上部署,扩展以及其他操作”。Google是Linux容器的早期使用者及贡献者,(实际上,Linux容器为谷歌自己的云服务提供了支持)Kubernetes消除了容器化应用在部署和扩展过程中涉及到的手动步骤,它能够将托管Linux容器的服务器组聚集在一起,同时还允许管理员轻松高效地管理这些集群。


Kubernetes可以让您及时部署应用程序,轻松扩展相同的应用程序并无缝地推出新功能,同时限制硬件资源的消耗,这些功能可以让您的应用程序快速响应消费者需求。它非常模块化,可以轻松地接入其他应用程序或框架。它还提供额外的功能,例如自我修复服务,包括自动放置(auto-placement),自动复制(auto-replication)和容器的自动重启(auto-restart)。


Docker也有自己的平台叫做Swarm。它实现了许多类似于Kubernetes的任务,并拥有许多相同的功能。两者之间的主要区别在于Swarm围绕于Docker,而Kubernetes则倾向于采用更通用的容器支持模型。


有时,生产中的应用程序会跨越多个容器,并且这些容器可能部署时跨多个物理服务器。Kubernetes和Swarm都为您提供了部署和扩展这些容器所需的编排和管理功能,以适应不断变化的工作负载要求。


架构

640?wx_fmt=png

Kubernetes运行于操作系统之上(例如Ubuntu Server,Red Hat Enterprise Linux,SUSE Linux Enterprise Server等),并采用主从(master-slave)方法来实现其功能。主节点(master)表示控制Kubernetes节点的机器(物理或虚拟)。这是所有任务的起源。它是集群的主要控制单元,将接受管理员或DevOps团队发出的命令,然后将它们转发到底层节点。主节点(master)可以配置成在单个机器上运行,在高可用性集群中主节点也可以配置成在多个机器上运行。这是为了确保集群的容错能力并降低停机的可能性。节点就是执行主服务器分配的任务的机器。节点有时被称为Worker或Minion。


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值