为什么要用容器云

容器云与虚拟机云的对比

云的好处就不多说了:节约资源、实现备份。。。
容器云相对于虚拟机云来说的好处:
1.低成本与轻量化:虚拟机云是以操作系统为中心,在虚拟主机上控制业务应用;而容器云是是以应用为核心,在宿主机操作系统上直接控制业务应用,从而避免控制很多个虚拟主机。占用的资源变少了,成本自然就降低了。
2.持续部署与测试,更轻量,移植性更强:容器云消除了线上与线下环境的差异,开发完成后通过封装着的完整环境和应用的镜像进行迁移,测试部署人员可以直接对此镜像进行操作,且容器构建速度更快,资源消耗更少
3.高可用以及抗毁接替:容器的环境比较标准和一致,所以一旦版本出现故障可以快速回滚。
4.适配性:容器最大的好处就是适配性,很多的云平台都支持容器。
5.高资源利用率与隔离:在性能方面容器云接近原生,在隔离方面虚拟机属于系统级隔离,而容器云属于进程级隔离,更加精准,避免浪费其他资源。

容器云是怎么实现的

我们常用的容器就是docker,通过docker可以做到开发环境无缝迁移到生产环境。在生产环境中经常做的就是部署成千上万的服务,然后在这个基础上做负载均衡之类的事情,有了docker就能通过部署对应服务的容器镜像完成。有了docker还不够,因为我们需要管理成千上万的容器,于是就有了容器调度工具比如k8s之类的,我们可以做到监控容器运行状态,然后自动重启一些坏掉的容器,相当于做了热备份。把容器和容器调度跑到云端,这样结合起来的服务就是容器云。
容器云是 PaaS 层的云交付模式。
所以容器云服务最核心的一个功能是kubernetes,也就是k8s。它有哪些功能呢?
1.自动化容器的部署和复制。
2.随时扩展或收缩容器规模,简单来说就是弹性扩缩容。
3.将容器组织成组,并且提供容器间的负载均衡。
4.应用程序容器的新版本易升级。
所以它能解决的也是关于容器的问题:
1.容器调度,也就是容器应该在那个机器上运行。
2.容器的生命周期和健康情况,保证容器在无错的条件下运行
3.容器服务的发现,容器在哪,怎样与它通信。
4.对容器进行监控,查看容器运行是否正常。
5.容器聚合,将多个容器合并成一个单元。

k8s的架构

在这里插入图片描述
k8s分为master节点和minion节点(或者node节点)
master节点中有四个核心组件:
APIserver:用来进行API操作的,k8s中的所有组件都会和APIserver进行连接,k8s中组件一般不会和组件进行独立连接,都是通过APIserver进行消息传送。
Controller:是控制器,完成对集群状态的管理,k8s的负载均衡和高可用都是通过这个实现的。
Scheduler:调度器就是用户提交了一个container,然后这个组件根据资源消耗情况等把这个container放在合适的节点上。
etcd:是一个分布式的存储系统,APIserver所需要的这些原信息都被放置在etcd中,etcd本身是一个高可用系统,通过etcd保证整个k8s的master节点高可用性。
在这里插入图片描述
node节点是真正运行业务负载的,每个业务负载以pod的形式运行,一个pod中运行一个或多个容器,真正运行pod组件的是kubelet,它通过APIserver接收到所需要的pod的运行状态,然后提交到node节点中的container runtime这个组件中。
在这里插入图片描述
这就是容器调度的一个例子。

k8s的核心概念

pod

pod是最小的调度以及资源单元,由一个或者多个容器组成,在pod里面我们也可以去定义容器所需要运行的方式。比如运行容器的command或者环境变量等。pod与pod之间是互相隔离的。

volume

卷,用来管理k8s的存储的,声明在pod中的容器可访问的文件目录,可以被挂载在pod中一个(或者多个)容器的制定路径下。支持多种后端存储如本地存储、分布式存储、云存储等。

deployment

deployment是在pod这个抽象上更为上层的一个抽象,它可以定义一组pod的副本数目、版本。一般大家用deployment这个抽象来做应用的真正管理,而pod是组成deployment最小的单元。k8s通过controller维护pod的数目,它也会去帮助deployment自动恢复失败的pod。当一个pod失败了,controller就会监测到,会重新把deployment中的pod数目从一个恢复成两个,并且可以进行滚动升级、重新生成、回滚等。

service

service提供了一个或者多个pod实例的稳定访问地址。把所有的pod访问能力抽象成一个第三方的一个IP地址,实现这个的k8s的抽象就叫service。实现service有多种方式,k8s支持clusterIP。kuber-proxy的组网,也支持nodeport、loadBalancer等其他的一些访问能力。

namespace

用来做一个集群内部的逻辑隔离,包括鉴权、资源管理等。k8s的每个资源如pod、deployment、service都属于一个namespace,同一个namespace中的资源需要命名的唯一性,不同的namespace中的资源可以重名,

k8s的API

API是由HTTP+JSON组成的,用户访问的API中content的内容是JSON格式的,kubectl直接与k8s沟通也是使用的这种HTTP+JSON形式。举个例子,http访问pod的路径:API->APIversion->namespace及pod资源,最终是podname。
API-label是一组key:value;可以被selector所查询;资源集合的默认表达形式。

行业云-凤皇云

现在云平台厂商很多,阿里云、腾讯云、京东云都是互联网云,也就是商业云。而我们的凤皇云是一个行业云、领域云,针对一种特殊的领域,感兴趣的可以联系我。

凤皇云相对于其他云平台的核心优势

我自己再学习一下。
本文参考链接:https://www.infoq.cn/article/KNMAVdo3jXs3qPKqTZBw

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker容器是一种轻量级、可移植的虚拟化技术。它能够将应用程序及其所有依赖打包成一个独立的、可随时部署的单元,称为容器。与传统的虚拟化技术相比,Docker容器更加灵活、高效,能够快速部署和扩展应用。 容器(Container Cloud)是建立在计算基础上的一种基于容器技术的平台。它能够自动化管理和部署大规模的容器集群,提供资源调度、服务发现、监控等功能,使得应用的开发、测试和部署过程更加简便和高效。 Docker容器容器之间存在密切的联系和相互依赖。首先,Docker容器作为一种轻量级的容器技术,是容器平台的基础。容器平台可以利用Docker容器来实现应用程序的隔离和资源管理,提供统一的管理接口和调度策略。 其次,容器平台能够进一步增强Docker容器的功能和性能。通过容器平台,可以实现容器集群的扩容和负载均衡,并提供高可用性和故障恢复的能力。容器平台还可以提供统一的日志和监控平台,方便运维人员进行容器的管理和故障排查。 最后,Docker容器容器的结合可以提供更加灵活和高效的应用部署和管理方式。通过Docker容器的打包和发布,可以实现应用在开发、测试和生产环境的无缝迁移,减少了运维的工作量和成本。而容器平台的自动化管理和扩展能力,则使得应用的部署和升级更加便捷和快速。 综上所述,Docker容器容器是相辅相成的关系。Docker容器作为一种虚拟化技术,为容器平台提供了基础;而容器平台则进一步增强了Docker容器的功能和性能,实现了高效的应用部署和管理。这种结合为企业提供了更加灵活、高效的计算解决方案。 ### 回答2: Docker容器是一种轻量级的虚拟化技术,可以将应用程序及其依赖项打包在一个可移植的容器中,使其可以在任何环境中运行。容器是基于计算的平台,用于管理和部署多个Docker容器。 Docker容器的特点是轻便、快速、可移植和可靠。它们将应用程序打包成一个独立的单元,可以在不同的计算机和操作系统上运行,而不需要额外的配置和设置。容器不会与系统环境发生冲突,因此可以快速启动和停止,以及实现高效的资源利用。 而容器是一种更高级的容器管理和部署平台。它可以自动化地管理大量的Docker容器,并提供了更多的功能和服务。容器可以根据应用程序的需求自动扩展容器的数量,确保应用程序始终具有足够的资源来运行。它还可以提供负载均衡、容器间通信和服务发现等功能,简化了应用程序的开发和部署过程。 容器还可以提供监控、日志记录和故障恢复等功能,帮助开发人员更好地管理和维护应用程序。它还支持多租户和权限管理,确保不同用户之间的容器隔离和安全性。 总而言之,Docker容器容器是一对密切相关的概念。Docker容器为应用程序提供了轻量级的虚拟化环境,而容器则在此基础上提供了更高级的管理和部署功能。它们的结合可以极大地简化应用程序的开发和部署过程,并提高应用程序的可靠性和可扩展性。 ### 回答3: Docker容器是一个轻量级、可移植和可扩展的容器化技术。它允许开发人员将应用程序及其依赖项打包为一个标准化的容器,然后可以在任何支持Docker的环境中运行。 Docker容器的主要优点包括: 1. 灵活性:Docker容器提供了一个独立的运行环境,可以将应用程序及其依赖项打包在一起。这使得应用程序的部署和迁移变得简单和可预测。 2. 资源隔离:每个Docker容器都有自己的文件系统、进程空间和网络接口,这意味着容器之间的应用程序资源相互隔离,可以避免相互干扰。 3. 可拓展性:Docker容器可以快速创建和销毁,并可以自动进行扩展和缩减,以适应更改的负载需求。 容器是建立在Docker容器技术之上的计算平台。它可以用来管理和编排大规模的容器集群,并提供一套高级特性,使得容器的部署、监控和扩展变得更加便捷。 容器的主要功能包括: 1. 集中管理:容器提供了一个集中化的管理平台,可以轻松地管理和监控大规模容器集群中的所有容器实例。 2. 自动化部署:容器可以根据用户定义的规则和策略,自动部署和扩展容器实例,以适应不同的负载需求。 3. 服务发现和负载均衡:容器可以自动发现和管理容器集群中的服务,并提供负载均衡功能,以确保每个容器实例都能够平衡地处理请求。 4. 安全和可靠性:容器提供了一系列安全措施,如访问控制、容器隔离和自动恢复,以确保容器应用程序的安全和可靠性。 总之,Docker容器容器是一对密切相关的概念。Docker容器提供了一种轻量级和标准化的打包和部署方式,而容器则提供了一个管理和编排大规模容器集群的平台,以简化容器的运维工作。通过结合使用这两种技术,开发人员和运维团队可以更高效地部署和管理容器化的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值