Kubernetes-基本组件

2023-06-25  本文已影响0人  我可能是个假开发

一、Kubernetes介绍

k8s是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能,努力成为跨主机集群的自动部署、扩展以及运行应用程序容器的平台。 它支持一系列容器工具, 包括Docker、Containerd等。
Kubernetes 的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。它的目的就是实现资源管理的自动化,主要提供了如下的功能:

服务编排:将一个服务在合适的时间放在一个合适的地方,让其按照规划的方式运行。

二、整体架构

image.png 运行流程.png image.png

三、组件

image.png
一个 kubernetes 集群主要由控制节点(master)工作节点(node)构成,每个节点上都会安装不同的组件。

1.控制节点(master):集群的控制平面,负责集群的决策。

对集群做出全局决策(比如调度),以及检测和响应集群事件(例如,当不满足部署的 replicas 字段时,启动新的 pod)。
控制平面组件可以在集群中的任何节点上运行。 然而,为了简单起见,设置脚本通常会在同一个计算机上启动所有控制平面组件, 并且不会在此计算机上运行用户容器。

2.工作节点(node):集群的数据平面,负责为容器提供运行环境。

3.组件调用关系

部署一个 Nginx 服务, Kubernetes 系统各个组件调用关系:

四、kubernetes 概念

● Master:集群控制节点,每个集群要求至少有一个 Master 节点来负责集群的管控。
● Node:工作负载节点,由 Master 分配容器到这些 Node 工作节点上,然后 Node 节点上的 Docker 负责容器的运行。
● Pod:Kubernetes 的最小控制单元,容器都是运行在 Pod 中的,一个 Pod 中可以有一个或多个容器。
● Controller:控制器,通过它来实现对 Pod 的管理,比如启动 Pod 、停止 Pod 、伸缩 Pod 的数量等等。
● Service:Pod 对外服务的统一入口,其下面可以维护同一类的多个 Pod 。
● Label:标签,用于对 Pod 进行分类,同一类 Pod 会拥有相同的标签。
● NameSpace:命名空间,用来隔离 Pod 的运行环境。

上一篇 下一篇

猜你喜欢

热点阅读