随着应用程序开发向基于容器的方向发展,编排和管理资源的需求变得越来越重要。Kubernetes是一个开源的、功能强大的容器编排系统,用于管理容器化应用和服务,它提供了应用部署、规划、更新、维护的一种机制,让部署容器化的应用更加简单并且高效(powerful)。

kubernetes集群又称环境,而云容器引擎(Cloud Container Engine,以下简称CCE)是一种托管的Kubernetes产品/服务,可进一步简化基于容器的应用程序部署和管理,您可以在CCE中方便的创建Kubernetes集群、部署您的容器化应用,以及方便的管理和维护。

优势

传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。

新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。

容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚拟机轻量、更“透明”,这更便于监控和管理。

容器运行所需云资源的集合,包含了若干云服务器节点(物理服务器或者虚拟机)、负载均衡、虚拟私有云等资源,您可以在集群中运行您的应用程序。在CCE中,我们可以创建若干集群,每个集群可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

架构

CCE采用兼容标准的Kubernetes集群,Kubernetes集群属于主从分布式架构,主要由Master和Worker Node组成,以及包括客户端命令行工具kubectl和其它附加项。因此,在CCE集群中至少包含一个Master和多个Worker Node,这些Worker Node称为工作节点,这些节点都运行在Kubernetes集群编排系统中。

下图简要介绍了CCE集群的架构:


图1 集群架构图

  • Master:管控集群的管理面节点,提供Kubernetes核心服务和应用程序工作负载的业务流程,对集群进行调度管理。Master Node由API Server、Scheduler、Cluster State Store和Controller-Manager Server所组成。

  • Node:业务运行的工作节点,用于运行应用程序的容器工作负载。Worker Node包含kubelet、kube proxy和Container Runtime。

  • kubectl:用于通过命令行与API Server进行交互,而对Kubernetes进行操作,实现在集群中进行各种资源的增删改查等操作。

  • replication Controller:副本控制器,用于伸缩副本数量。

  • Pod:实例(Pod)是 Kubernetes 部署应用或服务的最小的基本单位。一个Pod 封装多个应用容器(也可以只有一个容器)、存储资源、一个独立的网络 IP 以及管理控制容器运行方式的策略选项。

  • Container:容器。一个通过 Docker 镜像创建的运行实例,一个节点可运行多个容器。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。

  • Label:标签。其实就一对 key/value ,被关联到对象上,比如Pod,标签的使用我们倾向于能够标示对象的特殊特点,并且对用户而言是有意义的,但是标签对内核系统是没有直接意义的。

  • Service:服务,将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。

类型

支持如下两种类型的集群创建,以满足您多种业务需求

  • 公有集群:部署在公网中的Kubernetes集群,现包括Ucloud和华为的集群两种。

  • 私有集群:自建的集群。

    注意:公有集群部署在公网中,请随时注意您的集群的安全性。

展示

名词说明

  • 名称:Kubernetes的别名、展示在头部集群列表中。

  • 描述:集群的说明

  • 启用:启用状态必须为已启用,控制台才能对当前环境进行操作。

  • 状态:环境的状态为分为:可用、停用和删除

  • Node节点:当前环境下的所有Node节点数量

  • CPU:当前环境下所有节点的CPU总量

  • 内存:当前环境下所有节点的内存总量

作者:吴升斌  创建时间:2019-06-24 09:31
最后编辑:吴升斌  更新时间:2025-04-29 18:46