Kubernetes(一):容器编排介绍

一、云计算

??

云计算发展历程

??在学习k8s的过程中接触到了Serverless的概念,这里先对云计算的发展历程做一个简单的总结,以便引入Serverless。2006年,Google董事长 Eric Schmidt 在搜索引擎大会首次提出云计算(Cloud Computing)的概念,一转眼十多年过去了,云计算的发展势如破竹,从传统的IDC到现在的FaaS,逐渐快捷,愈发高效

  • IDC( Internet Data Center ):互联网数据中心。自建或者租用。自建自己干全套;租用就是服务器自己买,租人家的机柜,硬件安装和调试都由被托管方负责。
  • IaaS(Infrastructure as a Service):基础设施即服务。IaaS提供商给你提供硬件, 想怎么用自己搞。
  • PaaS(Platform as a Service):平台即服务。PaaS提供商给你提供硬件并装好操作系统、相关中间件及运行库等基础环境,至于要装什么应用看需求。
  • SaaS(Software as a Service):软件即服务。所有的东西都由IaaS提供商提供,用户只管用。
  • FaaS(Function as a Service):函数即服务。将应用程序抽象成函数,只有当程序被调用时才会执行函数启动,平时不启动不占用资源。

??

Serverless

??Serverless是无服务器架构,这并不是说不用服务器了,而是通过技术手段将服务器透明化了,让开发者减少对服务器资源的关注,能够更加专注于自己的开发工作(业务)。Faas就是Serverless概念的一种体现。

  • 低成本

    • Serverless将用户的服务器,数据库,中间件委托于FaaS,用户不再参与基础设施及软件的维护,而是直接使用相关的资源,大大节约了维护成本,降低了开发难度。
  • 按需计费
    • 不同于以往云计算的计费方式,FaaS是按照请求次数及运行时间计费,最大程度利用了资源并降低了成本
  • 简化管理
    • 自动化的弹性扩展、减小了打包和部署的复杂度、可以快速发布出去。

??

二、容器化的演变过程

  • 传统服务

    • 在微服务和容器化还没有盛行的时候,系统服务架构如下图,这种单体架构的好处就是便于管理和初次部署,但是当后续产品规模越来越大时,坏处就体现出来了。

      • 项目过于臃肿。大大小小的模块都几种在同一个项目中,开发者不易维护
      • 资源无法隔离。如果其中一个模块出现内存泄漏,整个系统都会被拖垮
      • 无法灵活扩展。有时并不是产品的每个模块都会提供对外访问,访问量大做集群负载时无法轻易水平扩展。

  • 微服务

    • 微服务是近几年流行的一种架构思想,它提倡化整为零,将单一应用程序划分为一个一个的小服务,每个小服务运行在一个单独的环境中,互不影响却又能相互协调、相互配合达到化零为整的效果。微服务有以下特点:

      • 独立测试、部署、升级、发布。可以单独只测试某一个模块。
      • 便于扩展。比如商品模块访问量比较大,一个节点扛不住,那就再弄一台服务器部署一个商品模块,前端做LB。
      • 提高了容错,比如某个模块出问题了,不会影响到其它模块
      • 提高了管理的复杂度。当你单个服务过多时,互相之间的调用就是问题,如果单个写静态配置文件的话对运维人员会是一个不小的挑战。这时候就需要一个叫服务注册中心的东西,每个单服务实例在启动的时候,向注册中心注册自己的IP地址等信息,这样别的服务调用它时,都会先去注册中心查询,然后根据查询到的信息再去调用。比如订单模块之前调用的是支付模块A,支付模块A的服务挂了,那一定时间内注册中心就会移除支付模块A的注册信息。订单模块连接不上原本的支付模块A了,就会再次向注册中心查询有没有其他的支付模块。
      • 客户端调服务端都需要一个统一的入口,就是API Gateway。此处的客户端是一个相对的说法,除去外部访问,内部访问A调用B,相对B来说A就是客户端。API Gateway有身份验证、请求分片、负载均衡等功能。个人理解有限,想深入了解的自行查资料。

  • 容器化

    • 容器概念的出现是要比微服务晚不少的,近几年流行的docker,为微服务架构提供了有效的容器。资源的有效隔离是微服务的设计原则之一,而docker恰好可以实现。

      • 一般情况下一个容器一个服务
      • 容器的资源隔离(PID、IPC、UTS等)、限制(CPU、Mem等)。
      • 可扩展性、可移植性。

??

三、容器编排工具

  • 容器编排工具概念

    • 当容器数量达到一定规模,就需要编排工具去管理,就是容器生命周期管理工具。容器编排工具提供调度和管理集群的技术,提供用于基于容器应用可扩展性的基本机制。这些工具使用容器服务,并编排他们以决定容器之间如何进行交互。 ---百度百科
  • 容器编排工具的核心价值
    • 准备和部署容器
    • 容器的高可用和负载均衡
    • 应用规模的自动扩缩容
    • 底层硬件故障,能够把容器迁移到其他节点上,用户无感知。
    • 容器资源分配
    • 容器的注册与自动发现
    • 容器和宿主机的健康检查
    • 容器配置和存储管理
  • 容器编排工具种类
    • Docker Swarm:docker自己的容器编排工具。
    • Apache Mesos and Marathon:Mesos是一个数据中心的资源统一管控的工具,本身没有编排容器的功能,需要和Marathon结合使用。后来Apache Mesos自己说不但支持Marathon也支持Kubernetes,且当时docker也说不但原生支持docker swarm也支持k8s。。。。。k8s的地位已经显而易见了。
    • Kubernetes: 压轴滴啦,请看下篇文章k8s介绍

?
?

写作不易,转载请注明出处,谢谢~~

原文地址:https://www.cnblogs.com/ccbloom/p/11307275.html

时间: 2024-10-09 21:49:37

Kubernetes(一):容器编排介绍的相关文章

三小时学会Kubernetes:容器编排详细指南

三小时学会Kubernetes:容器编排详细指南 如果谁都可以在三个小时内学会Kubernetes,银行为何要为这么简单的东西付一大笔钱? 如果你心存疑虑,我建议你不妨跟着我试一试!在完成本文的学习后,你就能在Kubernetes集群上运行基于微服务的应用程序.我之所以能保证这一点,是因为我就是这么向客户介绍Kubernetes的. 这份指南与其他文章有何不同之处? 相当多!大多数指南是从Kubernetes概念和kubectl命令这类简单的东西开始的.它们假定读者熟悉应用程序开发.微服务和Do

kubernetes容器编排系统介绍

版权声明:本文由turboxu原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/152 来源:腾云阁 https://www.qcloud.com/community Kubernetes作为容器编排生态圈中重要一员,是Google大规模容器管理系统borg的开源版本实现,吸收借鉴了google过去十年间在生产环境上所学到的经验与教训. Kubernetes提供应用部署.维护. 扩展机制等功能,利用Kubernetes能方

一文带你看透kubernetes 容器编排系统

本文由云+社区发表 作者:turboxu Kubernetes作为容器编排生态圈中重要一员,是Google大规模容器管理系统borg的开源版本实现,吸收借鉴了google过去十年间在生产环境上所学到的经验与教训. Kubernetes提供应用部署.维护. 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用.当前Kubernetes支持GCE.vShpere.CoreOS.OpenShift.Azure等平台,除此之外,也可以直接运行在物理机上.kubernetes是一个开

云宏大讲坛 | 容器编排引擎Kubernetes的那些事儿

原创:Higx (Vol. 040) 云宏大讲坛Vol. 040 在不久前<容器的前世今生>中,追求技术前沿的小伙伴对于容器技术的发展历史已经抓住了脉络.但对于容器编排引擎Kubernetes的概念,则了解得较为模糊.那么,Kubernetes究竟是什么? Kubernetes的希腊语意为"舵手",缩写为k8s.正所谓"大海航行靠舵手,容器运行靠编排",Kubernetes的主要功能就是调度控制容器的一切.目前,Kubernetes已经成为容器编排调度的

8月最新基于kubernetes的应用编排实践

本文根据8月22日腾讯云研发工程师颜卫在DockOne社群线上直播分享整理.颜卫来自腾讯云容器服务团队,现在主要从事腾讯云容器服务应用编排和微服务相关开发工作. 1 今天交流的话题主要会分为三部分 1.为什么需要应用编排 2.kubernetes社区应用编排发展现状 3.腾讯云容器服务应用编排的实践这几个方面做介绍. 在腾讯云容器服务应用编排的实践部分,主要会涉及1.配置管理,2.应用模板管理,3.基于应用的服务组管理等内容. 为什么需要应用编排: "微服务"架构大家都知道,他具有开发

[5.19 线下活动]Docker Meetup杭州站—拥抱Kubernetes,容器深度实践

对本次线下活动感兴趣的朋友,欢迎点击此处报名,领取免费票. 今年3月,Docker刚刚过完5岁生日,五年期间,Docker也逐渐在技术和实践方面趋于成熟,更是在去年年底主动拥抱Kubernetes. 5月19日,网易云将联合Docker官方主办Docker Meetup,邀请业界Docker深度实践企业,分享在容器.微服务和Kubernetes等方面的深度实践,更有Docker技术专家深度解读Docker对Kubernetes的拥抱! 当日议程安排: 主要议题包括: 议题1:深度解读,Docke

ASP.NET Core 借助 K8S 玩转容器编排

原文:ASP.NET Core 借助 K8S 玩转容器编排 Production-Grade Container Orchestration - Automated container deployment, scaling, and management. 生产级别的容器编排系统--自动化的容器部署.扩展和管理. 1. 引言 由于最近在学习微服务,所以就基于之前docker的基础上把玩一下k8s(Kubernetes),以了解基本概念和核心功能. 2. What's k8s? k8s涉及到很多

Docker应用:Kubernetes(容器集群)

原文:Docker应用:Kubernetes(容器集群) 阅读目录: Docker应用:Hello World Docker应用:Docker-compose(容器编排) Docker应用:Kubernetes(容器集群) 前言: 终于出第三篇了,上个月就已经弄好了,一直没弄上来,步入正题之前有3个建议给想要学习Kubernetes的同学. 1.在国内因为防火墙的原因,你是不可能在Docker上在线开启的Kubernetes功能的.所以如果你会fan qiang上网,那万事大吉. 2.如果你离香

K8s容器编排

K8s容器编排 Kubernetes具有完备的集群管理能力: 包括多层次的安全防护和准入机制 多租户应用支撑能力 透明的服务注册和服务发现机制 内建智能负载均衡器 强大的故障发现和自我修复能力 服务滚动升级和在线扩容能力 可扩展的资源自动调度机制 以及多粒度的资源管理能力 Pod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的.Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务.Pod对多容器的支持是K