文章目录
PaaS云计算架构(Docker|K8s|Istio)
用户——》Istio——》K8s——》Docker
- Docker:是一个开源的轻量级应用容器框架,主要用于PaaS云计算容器化服务。
- K8s(Kubernetes):是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。
- Istio:是Server Mesh的产品化落地,是目前最受欢迎的服务网格,功能丰富、成熟度高。
云计算核心技术Docker容器引擎架构
- Docker:是谷歌开源的应用容器引擎,让开发者可以打包他们的应用程序及依赖包到一个可移植的容器中。并且可以发布到云计算系统中运行。
- Docker的主要优势:更高效的利用系统资源;更快速的启动时间;一致的运行环境;持续交互、持续部署;更轻松的迁移;更轻松的扩展。
- Docker的组成部分:
云计算核心技术K8s优势
- 可移植:支持公有云、私有云、混合云
- 可扩展:模块化、插件化、可挂载、可组合
- 自动化:自动部署、自动重启、自动复制、自动伸缩
Kubernetes组件
Master组件
Kube-apiserver:API服务的组件
Etcd:分布式数据储存
Schduler:pod节点调度器
controller:pod节点状态监控
Node组件
Kubelet:一个在集群中每个节点上运行的代理,它保证容器都运行在Pod中
kube-proxy:代理服务器,可以通过创建一个虚拟IP,通过这个IP来与Pod进行交流
Container Runtime:容器运行环境是负责在节点上运行容器的软件
附加组件
kubernetes-dns:负责K8s集群进行域名解析
kubernetes-Dashboard:用于K8s集群管理Web界面
图解
- 每个Pod都有N个容器,docker集群有多个节点服务器,节点服务器中间经过master主控制节点上的API Server进行通信,ADI server将数据交给Etcd进行分布式存储数据
- kebuctl:对整个集群进行操控整个服务(认证授权)
Istio服务网格优势
- 治理能力独立
- 应用程序无感知
- 解耦应用程序的重试、超时、监控、追踪和服务发现
- 主要用于流量监控、熔断限流、动态路由、链路追踪、灰度发布
Istio服务网格基本概念
- VirtualService(虚拟服务):实现服务请求路由规则的功能
- DestinationRule(目标规划):实现目标服务的负载均衡、服务发现、故障处理和故障注入的功能
- Gateway(网关):让服务网格内的服务,可以被全世界看到
- ServiceEntry(服务入口):允许管理网格的服务的流量
Prometheus的主要优势
- 多维数据模型,灵活的查询语句
- 无依赖储存、支持local和remote不同模型
- 采用http协议,使用pull模式拉取数据
- 监控目标,可采用服务发展或静态配置的方式
- 支持多种统计数据模型,图形化界面友好