首页 > 其他分享 >Docker与k8s的联系

Docker与k8s的联系

时间:2024-11-06 13:41:05浏览次数:4  
标签:联系 部署 镜像 服务器 docker k8s Docker 运行

本篇为帮助为帮助理解Docker与k8s大体的作用以及他们的联系和区别,没有对其进行深入刨析。

产生的意义

首先对于开发者来讲Docker与k8s都是为了去运行你写的代码的工具或者程序。在使用他们之前我们都需要先在本机把代码写好然后传到Linux服务器上部署运行。
这样的方式也是没问题的,但是我们要想象一下如果我们的程序需要部署在多台服务器上或者经常需要换服务器的话,那么每次我们都要将程序重新部署一遍,这个工作其实是很复杂的。

为什么这么说呢?
因为部署程序可能不是简单的拉取代码、配置和编译这么简单,有时候还要检查配置文件、修改环境变量、程序运行需要依赖的文件,甚至新服务器换了操作系统这都是有可能的,
就比如Linux换成windos服务器,或者还是Linux但是版本变了 ,以上的所有情况都会增加我们部署的工作量。(这也太复杂了把!)
所以我们了解到了一个情况! 那就是我们的程序之所以能运行是依赖很多东西的。

那咋办嘞,为了解决上述的情况开发者想出了一些办法:

为了简化这个繁琐的工作并且让我们的代码变得可以灵活部署,我们将应用程序和他所有依赖的底座、配置文件等打包成一个镜像。
然后在服务器上安装docker再把我们配置好的镜像放在docker里面运行。
这样我们的部署工作就变得十分简单了,因为只要在一个docker上能部署成功那么这个镜像在所有的docker都可以成功运行,哪怕是服务器不同也不需要做繁琐的配置工作。

使用docker以后的变化
由此程序开发者的工作变成了先写好代码然后在测试环境测试,如果镜像是否能够在dokcer下运行成功,我们就能把这个镜像放到任意一台服务器的docker下。

那k8s是啥呢?

我们说了这么久的docker那么它和k8s到底有啥关系呢或者说k8s是干啥的?
首先不同之处:
k8s一方面具备了dokcer的功能,同时在这个基础上又增加了其他好处。
这里简单举例:
1、K8s可以监控每个容器是否运行正常,如果挂了它还可以自动将镜像文件传到另一台服务上把程序跑起来,甚至可以动态的扩缩容
2、K8s可以实时监控cpu、内存利用率、并发请求量,如果并发量太高他还会找一些新的节点把程序自动部署过去,通过多节点来分担峰值压力而且当高峰器过去他还会自动的把容器砍掉将资源进行回收。
相同:
k8s把dokcer里的镜像标准拿过来了,一个镜像文件在docker里能运行那么在k8s下也能运行。
对于镜像的生成也可以使用docker提供的工具,也可以不使用docker通过其他途径来生成,因为对于镜像的标准是公开的。

讲到这里详细你已经对k8s和docker有大致的了解了,如果想要深入学习可以去看一些更深入的文章这里不再进行解释了。

标签:联系,部署,镜像,服务器,docker,k8s,Docker,运行
From: https://www.cnblogs.com/Edehuag/p/18528392

相关文章

  • Docker搭建kafka集群
    Docker搭建kafka集群kafka中的基本概念broker:消息中间件处理节点,一个broker就是一个kafka节点,一个或者多个broker就组成了一个kafka集群topic:kafka根据topic对消息进行归类,发布到kafka集群的每个消息,都要指定一个topicproducer:消息生产者,向broker发送消息的客户端consumer:消......
  • Docker 镜像缩小
    背景手动构建的Docker镜像如果体积过大,可以利用slim工具来优化和减小其体积。slim不仅能够有效地缩减镜像大小,还有以下额外好处:减少攻击面:通过精简镜像,移除了不必要的文件和依赖,从而减少了潜在的安全漏洞和攻击面。降低安全风险:较小的镜像意味着更少的软件组件,这有助于......
  • Docker:开源容器化平台,解决开发运维问题的神器
    云计算de小白Docker是一个开源的容器化平台,可以将应用程序及其依赖的环境打包成轻量级、可移植的容器。Docker为什么这么受欢迎呢?原因很简单:Docker可以解决不同环境一致运行的问题,而且占用资源少,速度快。所以好的东西应该被更多人喜欢,因为Docker确实解决了我们日常的开发和......
  • 【docker】6. 镜像仓库/镜像概念
    DockerRegistry(镜像仓库)什么是DockerRegistry镜像仓库(DockerRegistry)负责存储、管理和分发镜像,并且提供了登录认证能力,建立了仓库的索引。镜像仓库管理多个Repository,Repository通过命名来区分。每个Repository包含一个或多个镜像,镜像通过镜像名称和标签(T......
  • 使用Portainer管理docker容器
    使用Portainer管理docker容器内容这段代码用于启动Portainer,一个用于Docker的图形化管理工具。以下是每个参数的具体解释:dockerrun-d-p9000:9000-p8000:8000\--nameportainer\--restart=always\-v/var/run/docker.sock:/var/run/docker.sock\-vpor......