k8s介绍:Kubernetes基本概念和架构设计

概述

Kubernetes 是 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统,它不仅支持常见的云平台,而且支持内部数据中心。

建于 Docker 之上的 Kubernetes 可以构建一个容器的调度服务,其目的是让用户透过 Kubernetes 集群来进行云端容器集群的管理,而无需用户进行复杂的设置工作。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。其核心概念是 Container Pod 。

k8s介绍:Kubernetes基本概念和架构设计

在 Docker 中启动 Kubernetes


基本概念

k8s介绍:Kubernetes基本概念和架构设计

1、节点( Node )

一个节点是一个运行 Kubernetes 中的主机。

2、容器组( Pod )

一个 Pod 对应于由若干容器组成的一个容器组,同个组内的容器共享一个存储卷(volume)。

3、容器组生命周期( pos-states )

包含所有容器状态集合,包括容器组状态类型,容器组生命周期,事件,重启策略,以及 replication controllers。

4、Replication Controllers

主要负责指定数量的 pod 在同一时间一起运行。

5、服务( services )

一个 Kubernetes 服务是容器组逻辑的高级抽象,同时也对外提供访问容器组的策略。

6、卷( volumes )

一个卷就是一个目录,容器对其有访问权限。

7、标签( labels )

标签是用来连接一组对象的,比如容器组。标签可以被用来组织和选择子对象。

8、接口权限( accessing_the_api )

端口,IP 地址和代理的防火墙规则。

9、web 界面( ux )

用户可以通过 web 界面操作 Kubernetes。

10、命令行操作( cli )

kubecfg 命令


基本架构

下面这张图完整展示了 Kubernetes 的运行原理。

k8s介绍:Kubernetes基本概念和架构设计

k8s架构

可见,Kubernetes 首先是一套分布式系统,由多个节点组成,节点分为两类:一类是属于管理平面的主节点/控制节点(Master Node);一类是属于运行平面的工作节点(Worker Node)。

这里面的复杂的工作肯定都交给控制节点去做了,工作节点负责提供稳定的操作接口和能力抽象即可。

从这张图上,我们没有能发现 Kubernetes 中对于控制平面的分布式实现,但是由于数据后端自身就是一套分布式的数据库 Etcd,因此可以很容易扩展到分布式实现。


篇幅有限,关于k8s的概念和基本架构就介绍到这了,大家做个了解就行,后面会在整理如何在docker基础上去部署k8s,感兴趣的朋友可以关注下!!

k8s介绍:Kubernetes基本概念和架构设计

相关推荐