社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

还不会docker+k8s?2020年,就要面对现实了...

dotNET跨平台 • 6 年前 • 679 次点击  

docker的前世今生



2010年,几个年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker

2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。


不开则已,一开惊人。此时Docker,已经成为行业里人气最火爆的开源技术,没有之一。甚至像Google、微软、Amazon、VMware这样的巨头,都对它青睐有加,表示将全力支持。Docker和容器技术为什么会这么火爆?说白了,就是因为它“轻”。


docker的优点



Docker可以解决虚拟机能够解决的问题,同时也能够解决虚拟机由于资源要求过高而无法解决的问题。Docker的优点包括:

  • 标准化应用发布,docker容器包含了运行环境和可执行程序,可以跨平台和主机使用;

  • 节约时间,快速部署和启动,VM启动一般是分钟级,docker容器启动是秒级;

  • 方便构建基于SOA架构或微服务架构的系统,通过服务编排,更好的松耦合;

  • 节约成本,以前一个虚拟机至少需要几个G的磁盘空间,docker容器可以减少到MB级;

  • 方便持续集成,通过与代码进行关联使持续集成非常方便;

  • 可以作为集群系统的轻量主机或节点,在IaaS平台上,已经出现了CaaS,通过容器替代原来的主机。


火起来的K8S



就在Docker容器技术被炒得热火朝天之时,大家发现,如果想要将Docker应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理。就在这个时候,K8S出现了。K8S,就是基于容器的集群管理平台,它的全称,是kubernetes。



K8S一个平台搞定所有使用 

K8S部署任何应用都是小菜一碟。只要应用可以打包进容器,K8S就一定能启动它。不管什么语言什么框架写的应用,K8S都可以在任何环境中安全的启动它,物 理服务器、虚拟机、云环境。



云环境无缝迁移

如果你有换云环境的需求,例如从 GCP 到 AWS,使用 Kubernetes 的话,你就不用有任何担心,Kubernetes 完全兼容各种云服务提供商。

高效的利用资源

看下图,左边,是4个虚拟机,黄色和蓝色部分是运行的应用,白色部分是未使用的内存和处理器资源。右边,同样的应用打包运行在容器中。

K8S如果发现有节点工作不饱和,便会重新分配 pod,帮助我们节省开销,高效的利用内存、处理器等资源。如果一个节点宕机了,K8S会自动重新创建之前运行在此节点上的 pod,在其他节点上运行。


开箱即用的自动缩放能力

网络、负载均衡、复制等特性,对于 Kubernetes 都是开箱即用的。pod 是无状态运行的,任何时候有 pod 宕了,立马会有其他 pod 接替它的工作,用户完全感觉不到。如果用户量突然暴增,现有的 pod 规模不足了,那么会自动创建出一批新的 pod,以适应当前的需求。反之亦然,当负载降下来的时候,K8S也会自动缩减 pod 的数量。

使 CI/CD 更加简单

你不必精通于 Chef 和 Ansible 这类工具,只需要对 CI 服务写个简单的脚本然后运行它,就会使用你的代码创建一个新的 pod,并部署到 Kubernetes 集群里面。应用打包在容器中使其可以安全的运行在任何地方,例如你的 PC、一个云服务器,使得测试极其简单。


docker三天集训



作为一名开发人员,特别是立志成为架构师的开发人员,熟悉掌握Docker+K8S已经是工作以及面试必备技能,为此,给大家推荐一门在线直播课程,由架构师Tony老师亲授,课程为期3天,4月21日~23日晚上八点至九点半直播教学,本号粉丝,一律免费学习。

扫码进班级群
如扫码失败,请加微信号:estherzry


Day1:Docker简介、镜像
1、docker核心概念
2、如何将.net core项目部署到docker上
3、docker镜像介绍
4、docker镜像构建
5、docker镜像运行容器
6、docker镜像存储仓库


Day2:Docker容器编排
1、docker Compose介绍
2、docker Compose构建多容器
3、docker Compose容器部署


Day3:Docker 集群搭建
1、docker集群介绍
2、docker Machine介绍及使用
3、docker Swarm搭建集群
4、docker集群应用

附赠学习礼包



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/62106