在Linux中:docker和k8s之间有什么区别 ?
上周前端同事突然问了我一个问题:docker和k8s之间有什么区别 ?
当时回答:
当时听到就很随口的回答了一下:
1、docker的作用、就是把你的前端服务用到的资源、或者前后端没有分离的java服务所用的环境及资源、打包构建、类似于你的npm打包、然后封装成一个镜像、通过一条run命令运行起来。
2、而k8s是一个容器编排工具、解决的就是你十个应用服务、我一条命令也能run起来。
其实这个问题很多人都想过、面试时候很多人也很喜欢问。
下面是我作为从运维的角度、比较官方一点的回答:
1、docker:docker只是容器运行技术的一种实现方式、它们的出现就是解决早期传统的部署方式、把复杂的应用环境及依赖、打包构建成一个镜像、到处运行、解决开发和运维之间的壁垒。
2、而k8s是一个构建平台的平台、是一个具有声明式API对象的集群编排工具、使期望状态和最终状态达到一致。支持docker和containerd等各种容器运行时、解决了docker单个容器运行时的缺点、更简单的实现一些功能:(资源调度、资源限制、滚动更新、动态扩缩容、权限控制、数据存储、监控探针、最重要的是网络环境)、K8s更侧重于容器编排层面的自动化和集群管理。

浙公网安备 33010602011771号