我应该在删除dockershim组件之前或之后开始学习kubernetes吗



我开始使用Docker已经有一段时间了,我也一直计划学习Kubernetes,但注意到它将删除dockershim组件,该组件使Docker能够在1.23版本中作为Kubernetes容器运行时。

我只是想知道,我应该使用docker和dockershim在1.22版本上开始学习Kubernetes,还是等到dockershin支持结束后再开始遵循新的学习路径?

实际上我很担心,因为我的一些项目使用Unix套接字docker.sock来收集容器数据。

如有任何回复和意见,我们将不胜感激。

;Kubernetes正在删除Docker支持";实际上是一个相当低级的细节。除非您真正在管理集群,否则您不会注意到或关心。如果您的项目需要使用分布在多个系统中的多个副本来运行,那么学习Kubernetes可能是有意义的,并且没有特别的理由等待内部更改完成。您仍然需要了解如何构建Docker镜像并将其推送到存储库等细节,以便有效地开发在Kubernetes上运行的应用程序。

我的一些项目使用docker套接字docker.sock

这在Kubernetes上不起作用。总的来说,Kubernetes的安全控制比Docker强得多。一方面,这意味着您可以将ServiceAccount配置为具有在特定命名空间中创建新Pod的权限,而无需授予它在任何地方读取机密的权限。另一方面,这也意味着容器通常会被禁止做可能危及宿主的事情。(例如,我知道完全禁止hostPath卷并不罕见。(即使你的Kubernetes在下面运行Docker,你也可能无法访问Docker套接字,如果可以的话,你会看到许多Kubernete内部,它们只会是当前Node上运行的。

您应该重新审视您的应用程序是否真的需要访问Docker套接字。在许多情况下,像RabbitMQ这样的作业队列可以取代动态启动容器的需要。你提到了监控需求,可能有现成的项目可以满足这一需求。在最坏的情况下,您可能需要更新应用程序以同时支持Docker和Kubernetes API,具体取决于它的运行位置。

最新更新