Kubernetes 和 Docker 的关系
Kubernetes 和 Docker 的关系
Docker 作为一种单一的容器技术优缺点明显,为满足大规模容器化部署,需要借助 Kubernetes 平台对 Docker 容器集群进行调配管理,二者的关系类似于平台和组件。事实上,Kubernetes 并非只能用来管理 Docker 容器,只要是满足 CSI、CRI 等协议的容器均可集成到 Kubernetes 当中,但是 Docker 容器应用最为广泛。由此可见,Docker 注重镜像拉取、运行容器的打包封装技术,又称之为容器技术;Kubernetes 更注重对大规模容器集群进行管理,称之为容器编排技术。
Kubernetes 的功能
拉取镜像环境
如前面所说,Kubernetes 与 Docker 的关系类似于平台和组件,因此,Kubernetes 拥有 Docker 的全部特性,宿主机上已经安装有 Docker 的情况下,只需拉取相应的 Docker 镜像即可运行服务,这一方面体现的是 Docker 本身的优势,与传统运维相比,不需要繁琐的环境配置,有效降低了运维成本。
资源管理
Kubernetes 将每个服务器都作为一个节点(Node)并监控每个节点的状态,根据每个节点的内存和 CPU 资源进行合理分配与调度,相比之前通过人工运维的方式来判断资源的使用情况,这样可以更加高效地使用资源。当有多个服务请求部署并有多个服务器可供选择时,Kubernetes 的资源管理优势更加显著。
可视化管理
Kubernetes 的可视化将镜像、容器等抽象概念具体化成不同的对象,通过可视化图形界面对各个对象进行监控与管理。并且通过日志监控模块可以监控服务资源,包括各个节点的内存和 CPU 占用量以及每个服务的内存和 CPU 占用量等。
资源统一管理
以前的人工运维不仅需要对域名、负载均衡、服务实例等逐个进行配置,并且不同资源之间关系复杂,难以做到对资源的统一管理,所以维护过程相当麻烦。而 Kubernetes 整合了云服务,又有可视化技术的加持,因此可实现资源的统一管理。
Kubernetes 的功能
拉取镜像环境
如前面所说,Kubernetes 与 Docker 的关系类似于平台和组件,因此,Kubernetes 拥有 Docker 的全部特性,宿主机上已经安装有 Docker 的情况下,只需拉取相应的 Docker 镜像即可运行服务,这一方面体现的是 Docker 本身的优势,与传统运维相比,不需要繁琐的环境配置,有效降低了运维成本。
资源管理
Kubernetes 将每个服务器都作为一个节点(Node)并监控每个节点的状态,根据每个节点的内存和 CPU 资源进行合理分配与调度,相比之前通过人工运维的方式来判断资源的使用情况,这样可以更加高效地使用资源。当有多个服务请求部署并有多个服务器可供选择时,Kubernetes 的资源管理优势更加显著。
可视化管理
Kubernetes 的可视化将镜像、容器等抽象概念具体化成不同的对象,通过可视化图形界面对各个对象进行监控与管理。并且通过日志监控模块可以监控服务资源,包括各个节点的内存和 CPU 占用量以及每个服务的内存和 CPU 占用量等。
资源统一管理
以前的人工运维不仅需要对域名、负载均衡、服务实例等逐个进行配置,并且不同资源之间关系复杂,难以做到对资源的统一管理,所以维护过程相当麻烦。而 Kubernetes 整合了云服务,又有可视化技术的加持,因此可实现资源的统一管理。
Kubernetes 核心概念
Kubernetes 核心概念
Kubernetesde 的整体架构主要包括 Master 和 Node 这两类节点,分别负责控制与计算。Master 是 Kubernetes 集群控制管理节点,是集群的入口进程,负责所有资源的控制与调度,是整个 Kubernetes 的核心。Node 是工作负载节点,由 Master 管理,功能主要包括管理容器、向 Master 汇报服务运行情况和资源占用情况等。
Pod 位于 Node 之中,是 Kubernetes 中最基本的编排单元和最小调度单元,每个 Pod 都包含了多个容器。划分多个不同 Pod 的目的在于将交互频繁或由于其它原因而有密切联系的一些容器聚在一起,不同的 Pod 就像是不同的类,每个 Pod 都将被分配到各自所属的系统资源中。