当前位置:首页 > 技术 >

docker和k8s有必要学吗(k8s和docker什么关系)

来源:原点资讯(www.yd166.com)时间:2023-04-18 02:17:07作者:YD166手机阅读>>

链接:https://juejin.cn/post/7106406444043337759

想学K8s,必须得先学会 Docker 吗?这是很多网友在开始有想法想要学 K8s 什么时候都会冒出来的想法?那么今天我们就跟大家说说这个话题,要回答这个问题,我们需要先搞清楚 Docker 和 K8s 他们的角色是什么,相互之间是什么关系。

K8s 和 Docker 的关系

Docker 和 K8s 这两个经常一起出现,两者的Logo 看着也有一定联系一个是背上驮着集装箱的鲸鱼一个是船的舵轮。

docker和k8s有必要学吗,k8s和docker什么关系(1)

不过两者不能放在一个维度上讨论,Docker 是当前流行的 Linux 容器解决方案,利用 Namespaces 、Cgroups 以及联合文件系统UnionFS 实现了同一主机上容器进程间的相互隔离。

docker和k8s有必要学吗,k8s和docker什么关系(2)

  • NameSpaces:隔离进程,让进程只能访问到本命名空间里的挂载目录、PID、NetWork 等资源
  • Cgroups: 限制进程能使用的计算机系统各项资源的上限,包括 CPU、内存、磁盘、网络带宽等等
  • 联合文件系统UnionFS : 保存一个操作系统的所有文件和目录,在它基础之上添加应用运行依赖的文件。创建容器进程的时候给进程指定Mount Namespace 把镜像文件挂载到容器里,用 chroot 把进程的 Root目录切换到挂载的目录里,从而让容器进程各自拥有独立的操作系统目录。

而 K8s 是拥有容器编排能力的集群管理解决方案,可以按照应用的定义调度各个运行者应用组件 Docker 容器,但是 Docker 并不是 K8s 对容器的唯一选择,K8s 的 容器运行时支持对接多种容器 ,比如CoreOS公司的Rkt容器(之前称为Rocket,现更名为Rkt),Apache 开源的 Mesos 容器等。只要容器实现了 K8s 容器运行时的接口约定,都能让 K8s 进行调度。

docker和k8s有必要学吗,k8s和docker什么关系(3)

Docker 公司也推出过自己的容器集群管理方案 Docker Swarm ,跟 K8s 算是竞品,但是在生产上几乎没人使用。

Docker Swarm 没有流行起来的深层次的原因就不深究了,从一些IT媒体的报道看,可能的原因是

  • 跟 Docker 深度绑定,人天生对集权主义非常反感。
  • Docker 公司在大规模集群管理上的经验不足,不像谷歌那样能高屋建瓴地给出好的解决方法。
容器用 Docker,需要学到什么程度

看完 K8s 和 Docker 的关系后,我们已经有答案了,想学 K8s 不一定非得会 Docker。但是毕竟 Docker 还是目前最流行的 Linux 容器方案,绝大部分情况下我们还是会选择使用 Docker,那么我们 Docker 掌握到什么程度更易于我们学习 K8s 呢?

这个主要看我们想学什么 K8s 干什么,即使运行在 K8s 之上的容器选择 Docker,如果我们是搭建一些基建类的软件,比如 MySQL、Redis之类的,因为这些组织已经提供了软件容器的镜像,我的使用体验是,完全用不到那些 Docker 的各种命令。

比如要在 K8s 集群上运行一个 mysql 应用,写好应用的清单文件(就是各种配置和期望的状态),然后直接运行

kubectl apply -f mysql.yaml 就好,K8s 的容器运行时会根据清单文件里的镜像名,帮我们调 Docker 的接口去下载镜像、运行容器。

apiVersion: apps/v1 kind: Deployment metadata: name: mysql spec: selector: matchLabels: app: mysql strategy: type: Recreate template: metadata: labels: app: mysql spec: containers: - image: mysql:5.7 name: mysql env: - name: MYSQL_ROOT_PASSWORD value: superpass ports: - containerPort: 3306 name: mysql volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql - name: mysql-config mountPath: /etc/mysql/conf.d/my.cnf subPath: my.cnf 复制代码

上面配置文件,有删减。完整可运行的案例,请参考:

  • 利用Kubernetes搭建便携式开发环境之MySQL和Redis

不过,我们使用 K8s 除了搭建这种基础软件外,学 K8s 更多的是让自己开发的服务能依托 K8s 集群管理、调度的能力变得更具鲁棒性、更portable。这个时候 Docker 各方面的技能掌握基本的 Dockerfile 编写、打包上传镜像的命令。这部分的几个简单的知识,感觉花个两小时就能掌握,这里推荐一下我以前的文章

  • Go 应用怎么打包成 Docker 镜像
  • Java 应用怎么打包成 Docker 镜像

学会这几个简单的 Docker 知识就完全够用,能支撑我们开始 K8s 的学习和练习啦,其他 Docker 相关的知识完全可以在做 K8s 练习时遇到问题、解决问题的过程中再学。

总结

这篇文章把 Docker 和 K8s 的关系给大家做了一个解答,希望还在迟疑自己现有的知识储备能不能直接学 K8s 的,赶紧行动起来,K8s 是典型的入门有点难,后面越用越香。



栏目热文

k8s为什么要弃用docker(docker缺点和不足)

k8s为什么要弃用docker(docker缺点和不足)

【51CTO.com原创稿件】上一篇文章我们着重讲解了 Docker,其实遗留了一个大问题。Docker 虽好用,但面对...

2023-04-18 02:12:16查看全文 >>

高中历史大题答题技巧(高中历史主观题答题方法和技巧)

高中历史大题答题技巧(高中历史主观题答题方法和技巧)

很多同学在做高中历史大题的时候,面临两大问题,答题不会做,拿不了高分。历史这个大题啊,是有技巧,有规律可循的,中国作为一...

2023-04-18 02:45:36查看全文 >>

高中地理答题模板(2023高考地理万能答题模板)

高中地理答题模板(2023高考地理万能答题模板)

大家好,这里是高考知识库。高中地理在我们文科中,是属于偏理性的科目,都说地理是属于文科中的理科,地理的知识考点比较难理解...

2023-04-18 02:54:47查看全文 >>

生韭菜水的功效(韭菜煮水功效与作用)

生韭菜水的功效(韭菜煮水功效与作用)

韭菜的中文学名就叫韭菜,同时它还有别的名字,例如扁菜、丰本,长生韭,草钟。韭菜是一种多年生草本植物,这意味着第二年它还可...

2023-04-18 02:33:33查看全文 >>

野韭菜的功效和副作用(吃野韭菜的好处与坏处有哪些)

野韭菜的功效和副作用(吃野韭菜的好处与坏处有哪些)

你吃过韭菜但不一定吃过野韭菜。野韭菜,顾名思义就是野菜的一种,生长在海拔2000米以下的草原、山坡上。不过它的营养价值可...

2023-04-18 02:45:04查看全文 >>

该学docker还是k8s(k8s和docker先学哪个)

该学docker还是k8s(k8s和docker先学哪个)

作者 | 幻灰龙出品 | CSDN(ID:CSDNnews)云原生入门技能树(https://bbs.csdn.net/...

2023-04-18 02:47:54查看全文 >>

docker和k8s面试常问问题(学会docker和k8s能找下工作吗)

docker和k8s面试常问问题(学会docker和k8s能找下工作吗)

▌《尼恩Java面试宝典》升级规划:尼恩总结的Docker面试题已收入咱们的 《》,供后面的小伙伴参考,提升大家的 3高...

2023-04-18 02:51:24查看全文 >>

k8s 弃用docker 代替方案(k8s为啥不建议用docker了)

k8s 弃用docker 代替方案(k8s为啥不建议用docker了)

containerd简介containerd是一个工业级标准的容器运行时,它强调简单性、健壮性和可移植性。contain...

2023-04-18 02:52:08查看全文 >>

有了docker为什么需要k8s(docker容器多为什么需要k8s)

有了docker为什么需要k8s(docker容器多为什么需要k8s)

常言道:“一千个读者眼里有一千个哈姆雷特”。同样的话也适用于 Kubernetes,同样的系统在不同的开发人员眼中也是不...

2023-04-18 02:16:41查看全文 >>

k8s为啥不建议用docker了(为啥k8s要放弃docker)

k8s为啥不建议用docker了(为啥k8s要放弃docker)

Docker 大概没想到,2020 年,它在技术圈内的两次成为(舆论的)焦点,竟然都是因为信息差(说是“标题党”也不为过...

2023-04-18 02:44:51查看全文 >>

文档排行