高品质的音视频能力是怎样的? | Qcon 全球软件开发大会·上海站邀请函 了解详情
写点什么

Kubernetes:谷歌级容器集群管理的选择(下)

  • 2020-03-05
  • 本文字数:1576 字

    阅读完需:约 5 分钟

Kubernetes:谷歌级容器集群管理的选择(下)

架构设计

1.1 Kubernetes

Google 设计 Kubernetes 基于两个非常重要的经验:一是 Google 多年来运行大型分布式系统的经验,二是支撑快速更新、敏捷迭代的云原生应用的经验。前者保证了 Kubernetes 平台本身的稳定性和扩展性,后者保证了 Kubernetes 平台对其使用者(运维人员/开发人员)的有效性。



Kubernetes 在内部组件结构上分为:


  • Pod

  • o 一组包括一个或多个的容器组

  • o 共享网络全名空间

  • o 调度的最小单元

  • Service

  • o 为一组 Pod 的逻辑抽象

  • o 将应用服务解耦

  • Kube Proxy

  • o 宿主机上运行一个简单的网络代理及负载均衡器为 Services 提供负载均衡

  • o 为外部请求负载到具体的 Pod 上, 具体实现为

  • • Kube Proxy 为 Service IP 生成 Lptables 规则

  • • 将请求转发到本地的 Kubeproxy

  • • Kube Proxy 进行 NAT 转换,最后将请求交到后台具体 Pod 上

  • • Kubelet

  • o 宿主机上管理 Pod 及其容器、镜像、存储等等

  • Etcd

  • o 分布式键值对存储方案

  • o 用于持久化 Master 的状态数据

  • o 支持 Watch 操作来完成组件内部的服务协作

  • API Server

  • o Kubernetes Master 的组件之一

  • o 用于响应内部组件或外部插件的 Kubernetes API 的调用

  • o 主要是处理 REST 请求

  • • 对请求进行身份较验,并更新到分布式存储中(ETCD)

  • Scheduler

  • o Kubernetes Master 的组件之一

  • o 通过/Binding API,将未被调度的 Pod 绑定到某一节点上

  • o 支持可插拔

  • Controller Manager

  • o 支持节点的发现与监控

  • o 支持 Endpoints 的创建与更新

  • o 控制 Pod 的伸缩


1.2 Docker Swarm

Docker Swarm 基于 Docker 提供的原生集群能力,将一组 Docker 引擎变成一个虚拟的 Docker 引擎。Swarm 使用标准的 Docker API, 使用正常的 Docker 命令来运行 Docker 容器,也会选择一个适合的节点来运行容器



Docker Swarm 在内部组件结构上分为:


  • Swarm Manager

  • o Swarm 集群的 Master

  • o 负责编排调度 Docker 容器

  • o 服务发现

  • Swarm Agent

  • o 接收 Swarm Manager 指令并运行 Docker 容器

  • 服务协调工具

  • o 可以是 Consul、Etcd 或 Zookeeper


1.3 Apache Mesos

Apache Mesos 是一个大规模集群的开源管理平台,集群量级可以从几百台到几千台,Mesos 能支持不同类型的任务框架,比如计划任务、长时间运行的任务等等,即 Mesos 的架构设计是解决高可用和弹性等问题,架构图如下:



Apache Mesos 在内部组件结构上分为:


  • Mesos Master

  • o 发送工作任务给 Agent Nodes

  • o 维护一张资源列表,并提供给具体的 Framework 使用,例如 Hadoop 或 Marathon

  • o Mesos 根据当前的资源分配策略决定分配多少资源

  • Mesos Agent Node

  • o 执行工作任务

  • o 向 Master 报告本节点的可用资源列表

  • Zookeeper

  • o Mesos Master 实例间竞选谁为真正的 Master

  • Frameworks

  • o Mesos 需要与 Framework 协同完成具体任务的分发

  • • 调度器向 Master 注册,根据当前可用资源列表选择使用某一资源

  • • 执行进程运行在 Agent 上,并监控任务的执行情况


Mesos 可有多个 Framework 同时运行在同一个 Mesos 管理的资源上,用户提交任务其实是与 Framework 交互并不是 Mesos,从上面的架构图中可以看出,Mesos 需要与 Marathon 一同实现容器编排工具的功能,Marathon 做为 Scheduler,通过向 Zookeeper 获取到真实 Mesos Master 信息,并向 Mesos Master 提交任务,当 Marathon 与 Mesos Master 同是 Ready 的状态,才能开始编排容器。


Marathon 被设计用于启动、监控长时运行的应用,包括云原生应用,客户端通过 Marathon Rest API 与 Marathon 交互。


2. 功能列表


结论

Kubernetes 与 Mesos+Maratho 和 Docker Swarm 三类开源项目在容器编排需要的功能点上看,Mesos+Marathon 与 Docker Swarm 在很多功能支持程度不如 Kubernetes,需用户做出妥协。


本文转载自才云 Caicloud 公众号。


原文链接:https://mp.weixin.qq.com/s/-axBm-VxALTuYd2O_Ia3VA


2020-03-05 19:52328

评论

发布
暂无评论
发现更多内容

消息队列存储-mysql表

🌾🌾🌾小麦🌾🌾🌾

架构实战营

明年的能力计划之学会咨询

将军-技术演讲力教练

Service Mesh 在中国工商银行的探索与实践

阿里巴巴云原生

阿里云 微服务 云原生 服务网格 金融实践

Kotlin Maps:五个基本函数

坚果

kotlin 28天写作 12月日更

【docker 总结】第七篇 - nodejs项目部署

Brave

Docker 12月日更

[Pulsar] LookUp原理

Zike Yang

Apache Pulsar 12月日更

从手游中的感悟

Hillz

游戏 日常感悟

第2周学习总结

糖糖学编程

架构实战营

性能工具之stress工具使用教程(带源码说明)

zuozewei

Linux 工具 性能测试 12月日更

云未来、新可能 - 绿色、无处不在、可信的计算

阿里巴巴云原生

阿里云 容器 云原生 活动 KubeCON

Prometheus Exporter (三十二)Varnish Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Varnish

Android 8.0 下载安装进入【安装未知应用】页面,两步简化一步

阿策小和尚

28天写作 Android 小菜鸟 12月日更

微信朋友圈的高性能复杂度

guodongq

「架构实战营」

19《重学JAVA》--集合(一)

杨鹏Geek

Java25周年 28天写作 12月日更

全网最牛逼的华为NTP配置命令,建议收藏!

Ethereal

华为 ntp 网络技术

DDD领域驱动设计实战(六)-理解领域事件(Domain Event)

JavaEdge

12月日更

微信朋友圈高性能复杂度设计

CH

「架构实战营」

React进阶(十):React 项目启动原理详解

No Silver Bullet

React 12月日更

实用机器学习笔记十九:模型验证

打工人!

人工智能 机器学习 深度学习 学习笔记 12月日更

模块二作业-朋友圈高性能复杂度分析

圈圈gor

「架构实战营」

阿里云消息队列 RocketMQ、Kafka 荣获金融级产品稳定性测评 “先进级” 认证

阿里巴巴云原生

阿里云 云原生 稳定性 获奖

腾讯云实时音视频(TRTC)SDK使用体验测评

为自己带盐

dotnet 28天写作 trtc-js-sdk 12月日更

微信朋友圈的高性能复杂度分析

糖糖学编程

架构实战营

模块二作业

马志峰

字典树之旅04.Patricia Trie(二)

极客志

Java 自然语言处理 数据结构 算法 字典树

架构实战营 - 模块2 - 作业

Pyel

「架构实战营」

Dubbo-Admin 功能展示与实操解析

阿里巴巴云原生

阿里云 云原生 Dubbo-Admin 功能

架构实战营 - 第 4 期 - 模块二作业

Evan

架构实战营 「架构实战营」

从甲方到乙方,如何做好混沌工程的行业化落地

阿里巴巴云原生

阿里云 云原生 混沌工程 金融行业 行业化落地

签名验证反爬,反反爬第二篇博客,Python爬虫120例

梦想橡皮擦

12月日更

模块二作业

novoer

#架构实战营

Kubernetes:谷歌级容器集群管理的选择(下)_文化 & 方法_才云科技_InfoQ精选文章