
导读:如今容器化技术日益火爆和成熟,例如Docker容器技术。Kubernetes 则被作为当前IT业界广泛认可和看好的 Docker 分布式系统解决方案。(小知识:Kubernetes也被称为“K8S”是因为“Kubernetes"这个单词在首字母k和尾字母s之间有8个字母,因此成为K8S),下面我们来聊一聊关于K8S的那些事
1.K8S的优势
首先,K8S全面拥抱微服务架构。微服务架构的核心就是将一个大单体应用分解为很多小的互相连接的微服务,一个微服务可以有一个或多个实例,实例的数量可能会随着系统的负荷变化而进行调整,内嵌的负载均衡器 K8S 平台中发挥了重要的作用。微服务架构使得每个服务都可以由专门的开发团队来开发,开发者可以自由选择开发技术,这对于大规模团队来说很有价值。另外,每个微服务独立开发、升级、扩展,使得系统具备很高的稳定性和快速迭代进化能力。
其次,Kubernetes 系统架构具有很强的横向扩容能力。一个 Kubernetes 集群不需要修改代码即可从只包含几个Node节点的小集群扩展到拥有成百上千 Node节点大规模集群。利用 Kubernetes 提供的工具,甚至可以在线完成集群的扩容。只要微服务设计的得好,结合硬件或者公有云资源的线性增加,系统就能够承受大量用户并发访问所带来的压力。
2.K8S集群架构图
在了解K8S集群的使用方式之前需要对其整个集群有一个大致的概念,如下图所该集群示例由一个master节点和两个Node节点组成,下面将分析各个节点的作用

集群架构图
2.1 Master节点

master节点
一个K8S集群中有且只有一个Master节点负责管理全局,不做工作负载。核心组件:apiserver、controller-manager、scheduler。
2.2 Node节点

node节点
Node节点可以是物理机也可以是虚拟机,Node节点作为集群中的工作负载节点。每个Node节点会被Master分配一些负载,当一个Node节点挂掉时,master节点会将其工作转移到其他的Node节点上。核心组件:kubelet、kube-proxy、Docker Engine。
2.3 Pod的概念
Pod是可以创建和管理Kubernetes计算的最小可部署单元。一个Pod代表着集群中运行的一个进程,存在于Node节点中。Pod可以想象成是一个豌豆荚,它由一个或者多个容器组成。Pod称为是Kubernetes 中应用的一个实例。通常分为以下两种情况:

3. 集群组件分布以及作用

各个节点组件分布图
除了核心组件,还有一些推荐的组件:
4.K8S持续集成

持续集成图
解析:Jekins将打包编译好的程序使用Docker容器技术生成一个镜像(容器和镜像的关系就是类和实例),将镜像存到镜像库里,发起一个comand命令给K8S集群,集群接收到命令后去到对应的镜像库里取镜像文件然后在K8S集群里内部调度编排挂载到对应的node节点上。
5.结尾
感谢您阅读,本头条号将持续分享IT技术知识。
关注、转发并私信回复”K8S“ 获取Docker+Kubernetes微服务容器化实践 学习资料
| 留言与评论(共有 0 条评论) |