一文带你了解Kubernetes「K8S」

导读:如今容器化技术日益火爆和成熟,例如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 中应用的一个实例。通常分为以下两种情况:

  • Pod中运行一个容器。“one-container-per-Pod”模式是Kubernetes最常见的用法; 在这种情况下,你可以将Pod视为单个封装的容器,但是Kubernetes是直接管理Pod而不是容器。
  • Pods中运行多个需要一起工作的容器。Pod可以封装紧密耦合的应用,它们需要由多个容器组成,它们之间能够共享资源,这些容器可以形成一个单一的内部service单位 - 一个容器共享文件,另一个“sidecar”容器来更新这些文件。Pod将这些容器的存储资源作为一个实体来管理。

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

各个节点组件分布图

  • apiserver 提供资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制
  • controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
  • scheduler 负责资源调度,按照预定的调度策略将Pod 调度到相应的机器上
  • etcd 保存了整个集群的状态
  • kubelet 负责维护容器和生命周期,同时也负责Volume(CSI) 和网络(CNI) 的管理
  • kube-proxy 负责为Service 提供cluster 内部的服务和负载均衡

除了核心组件,还有一些推荐的组件:

  • CoreDNS 负责整个集群提供DNS服务
  • Ingress Controller 为服务提供外网入口
  • Prometheus 提供资源监控
  • Dashboard 提供GUI
  • Federation 提供跨可用区的集群

4.K8S持续集成

持续集成图

解析:Jekins将打包编译好的程序使用Docker容器技术生成一个镜像(容器和镜像的关系就是类和实例),将镜像存到镜像库里,发起一个comand命令给K8S集群,集群接收到命令后去到对应的镜像库里取镜像文件然后在K8S集群里内部调度编排挂载到对应的node节点上。

5.结尾

感谢您阅读,本头条号将持续分享IT技术知识。

关注、转发并私信回复”K8S“ 获取Docker+Kubernetes微服务容器化实践 学习资料

带你   一文   K8S
发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();