Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
Kubernetes为什么将会弃用Docker支持? - Dixie3Flatline
20-12-03
banq
从Kubernetes v1.20起,您将收到Docker弃用警告。之后,您将需要使用其他容器运行时Runtime。是的,这会破坏您的集群。您可能会认为Docker == Kubernetes。不是这样!
我们称之为Docker的东西实际上是整个技术堆栈,其中包括称为容器的东西以及其他一些东西,例如一些奇特的UX更改,这些变化使人类更易于交互。容器化本身就是高级容器的运行时Runtime。
不过,Kubernetes并不需要所有这些花哨的UX东西。它只需要容器运行时Runtime。使用Docker(整个堆栈)作为您的容器运行时意味着:Kubernetes必须使用称为dockershim的东西与它实际需要的部分进行交互。
这是因为Docker不符合CRI(容器运行时接口)。Dockershim会让K8s解决这个问题,但这也意味着我们要维护一个完全独立的事物Dockershim,以便可以将Docker用作我们的运行时Runtime。
这糟透了,不方便,解决方案是删除抽象Dockershim,仅在Kubernetes中使用containerd作为我们的容器运行时。同样,因为Kubernetes不是人,它不需要UX增强功能。
因此,您不必惊慌。Docker还没有死(还),它仍然有其用途。您只是不能再将其用作Kubernetes中的容器运行时了。在下一个版本之后,您需要切换到containerd。
是的,您可以继续使用旧版本的Kubernetes。
新Kubernetes仍将运行由Docker构建的镜像!这对于开发人员来说并不会改变很多,那些镜像仍然符合OCI(开放容器倡议),并且containerd知道如何处理它们。
使用containerd或CRI-O信息:
https://kubernetes.io/docs/setup/production-environment/container-runtimes/
5
Kubernetes平台
docker容器镜像