基于Docker的新型PaaS平台(一)

PaaS模式

PaaS作为云计算重要的一类服务,为用户提供完整的应用生命周期管理和相关资源服务。
用户可以通过PaaS平台完成应用的构建、部署、运维管理,无需自行搭建计算执行环境,
如安装服务器,操作系统,中间件和数据库等。IaaS提供虚拟硬件、系统资源,
PaaS负责部署、运维,实现弹性伸缩和高可用等功能。

传统PaaS有很多局限性:

  1. 只能提供有限的开发语言,框架和中间件的支持
  2. 无法支持复杂的分布式应用
  3. 应用于PaaS平台锁定,导致系统无法迁移到其他PaaS平台

因为传统PaaS平台的缺陷,导致用户部署PaaS平台时十分谨慎,随着Docker,k8s技术兴起,
PaaS系统迎来了新的发展。

基于Docker的新型PaaS平台特性:

  1. 自动化部署和智能运维
  2. 持续集成和持续交付,利用容器的轻量级,一次构建到处运行,快速交付等特性。
  3. 支持微服务,满足企业数字化转型需求。
  4. 支持复杂的应用编排服务,帮助用户构建和管理分布式服务

基于Docker的新型PaaS平台(一)_第1张图片

kubernetes的由来

kubernetes是用于自动部署,扩展和管理容器化应用程序的开源系统。
旨在提高跨主机的容器集群的部署和管理的容器平台。支持Docker。
利用k8s提供的PaaS特性,可以快速的实现便捷、高效、安全的PaaS平台。

Master Node架构

  1. Kubectl Proxy :Api服务的一个反向代理,k8s外部客户端可以通过该服务访问API服务
  2. api-service:提高节点的查询和操作(增、查、改、删)接口
  3. ETCD:分布式存储,k8s的共享记忆,用于共享k8s内部所有节点,服务等信息
  4. Control-manager:集群控制中心,用于节点的故障检测和自动恢复工作(NC,RC…),pod数量控制工作(RC)
  5. Schedule:负责pod资源调度,下发创建命令。
    基于Docker的新型PaaS平台(一)_第2张图片

Slave Node架构

  1. kubelet:与API服务交互,更新状态并启动调度程序调用新的工作负载。kubelet负责管理pod和它们上面的容器,镜像,volume等。
  2. kube-Proxy:提供基本的负载均衡,指定流量流向正确的pod,做一些TCP,UDP数据传输。

基于Docker的新型PaaS平台(一)_第3张图片

K8s整体架构

基于Docker的新型PaaS平台(一)_第4张图片

你可能感兴趣的:(云计算,微服务,k8s)