Skip to content

Latest commit

 

History

History
31 lines (20 loc) · 2.66 KB

File metadata and controls

31 lines (20 loc) · 2.66 KB

K8s

为什么要使用Docker?

Docker 是一个高效的轻量级容器化解决方案,可以让应用程序快速部署,安全运行,并且使其更容易跨环境迁移和管理。Docker 可以为应用程序提供一个可复用的容器,从而可以在同一操作系统中和不同操作系统中部署应用,实现跨平台应用开发。它可以简化应用程序的部署,提高性能,确保应用程序的完整性和可靠性,以及降低运行和管理环境的成本。

相比于传统的虚拟化方式,Docker存在以下优势:

1、节约资源:通过分割物理机的硬件资源,将其抽象出来,在需要的时候为不同的容器提供资源,这样就能减小磁盘和内存的开销; 2、轻量级:Docker容器本身只有几百兆的大小,而且不需要安装宿主操作系统,能够极大地缩小应用程序启动时间; 3、灵活性:Docker支持跨平台的部署,可以更灵活的部署应用程序和微服务; 4、弹性:Docker可以更加简单的增加节点,并能够实现服务的弹性扩容和缩容; 5、安全性:根据容器隔离,可以避免恶意攻击,提高应用程序的安全性; 6、可重复性:docker容器可以在任何地方重复利用,从而大大减少了管理时间和成本; 7、可移植性:Docker容器可以在开发环境和生产环境之间更加容易的移植。

有了Docker为啥还需要k8s?

Docker是一个容器编排工具,可以帮助我们管理应用程序。但是,如果想要管理大量的容器,就需要更为强大的编排工具,而 Kubernetes(K8s)就是这样一个工具。

K8s 由多个容器组成,并且能够自动检测、部署和扩缩容,它提供了资源管理、服务发现、多租户支持等功能,从而管理和调度大量容器,让整个编排更加高效、可靠、稳定。因此,K8s不仅仅是让Docker容器能够更好的运行,而且它可以用于管理任何容器化的部署。

相比于Docker,K8S在以下几个方面做的会更好:

1、高可用性:Kubernetes可提供高可用性,可以设置Pod的副本数,保证服务的良好运行。 2、自动伸缩:Kubernetes可根据实际情况自动伸缩,自动添加或减少节点,可以有效地根据负载情况调整Pod实例数。 3、容易管理:Kubernetes提供了一个完整的系统来管理Docker容器,可以使DevOps开发更加高效。 4、完善的安全性:Kubernetes可以提供完善的安全性,包括限制访问,配置安全策略等。 5、更好的传输:Kubernetes使用Service和Ingress提供了一个容器化的感知和管理层来实现对网络的透明性。