Kubernetes组件和架构简介

目录

一.概念简介

1.含义:

2.主要功能:

3.相关概念:

二.组件和架构介绍

1.master:集群的控制平面,管理集群

2.node:集群的数据平面,为容器提供工作环境

3.kubernetes简单架构图解


 

一.概念简介

1.含义:

Kubernetes是google开源的容器编排工具,本质是一组服务器集群,在集群的各个节点上运行程序来进行容器进行管理,最终实现资源管理智能化、自动化。

2.主要功能:

(1)新容器能够迅速接替崩溃容器,自我修复能力强。

(2)灵活性强,可以对运行容器的数量进行个性调整,也可以退回旧版本,支持横向扩容和整体迁移。

(3)可以自主去发现依赖的服务。

(4)多个容器启动时,自动实现处理请求的负载均衡。

(5)可创建存储卷来根据需求对容器进行存储。

3.相关概念:

(1)master

集群控制节点,至少需要一个master节点。

(2)node

工作负载节点,是由master分配容器到node上,node上的docker在进行运行容器。

(3)pod

kubernetes的最小控制单元,容器运行在其中,一个pod可以有1个或多个容器。

(4)label

通过对标签对pod进行分类,同一类pod有相同标签。

(5)namespace

用来隔离pod的运行环境。

二.组件和架构介绍

1.master:集群的控制平面,管理集群

(1)ApiServer:资源操作的唯一入口,接收用户输入的命令,提供认证、注册等功能,可以通过REST调用、Kubectl命令行界面或者Kubeadm等来访问。需要安装某个服务时,安装请求会首先发送到master节点上的ApiServer。

(2)Scheduler:监视来自ApiServer的新请求,进行集群资源调度,按照策略将Pod调度到最适合的node节点上。安装请求发送到ApiServer后右Scheduler进行选择(在etcd中获取node节点性能等信息并通过算法进行选择)将服务安装到哪个node节点。

(3)Controller-manager:维护集群状态,故障检测等等。ApiServer调用Controller-manager来调度node节点去安装这个服务。

(4)etcd:存储集群中对象的信息(类似于数据库)。在kubernetes启动后,master和node的信息都会存储到这里。

2.node:集群的数据平面,为容器提供工作环境

(1)Kubelet:维护容器的生命周期,控制docker来对容器进行创建删除等操作。Kubelet接收到安装指令后通知docker,由docker去启动用于这个服务的Pod,容器在此Pod中运行。

(2)Kubeproxy:提供集群内部的服务发现情况和负载调度。通过Kubeproxy对此服务进行访问。

(3)Docker:负责节点上的容器的相关操作

Kubernetes组件和架构简介_第1张图片

(4)其他组件

kube-dns:我整个集群提供dns服务

ingress controller:为服务提供外网入口

heapster:提供资源监控

dashboard:提供GUI界面

fluentd-elasticsearch:集群日志采集、存储和查询 

3.kubernetes简单架构图解

Kubernetes组件和架构简介_第2张图片

 

你可能感兴趣的:(Linux,#,k8s,kubernetes,架构,容器,docker,Linux)