学习kubernetes应该在dockershim组件去掉之前还是之后开始?
Should I start learning kubernetes before or after the removal of the dockershim component?
我开始使用Docker已经有一段时间了,我也一直在计划学习Kubernetes但是注意到它将在 版本 1.23.
中删除启用 Docker 作为 Kubernetes 容器运行时的 dockershim 组件
我只是想了解我应该使用 docker 和 dockershim 开始学习 1.22 版的 Kubernetes,还是等到 dockershim 支持结束并开始关注新的学习路径?
I am actually worried because some of my projects use the Unix Socket docker.sock
to collect containers data.
所有回答和评论将不胜感激。
“Kubernetes 正在删除 Docker 支持”实际上是一个非常底层的细节。除非您实际管理集群,否则您不会注意到或关心。如果您的项目需要 运行 多个副本分布在多个系统中,那么学习 Kubernetes 可能是有意义的,并且没有特别的理由等到这个内部更改完成。您仍然需要了解详细信息,例如如何构建 Docker 图像并将它们推送到存储库,以有效地开发 运行 在 Kubernetes 上运行的应用程序。
some of my projects use the docker socket docker.sock
这不适用于 Kubernetes。一般来说,Kubernetes 的安全控制比 Docker 强得多。一方面,这意味着您可以将 ServiceAccount 配置为具有在特定命名空间中创建新 Pod 的权限,而无需授予它在任何地方读取 Secrets 的权限。另一方面,这也意味着容器通常会被禁止进行可能危及主机的事情。 (例如,我理解完全禁止 hostPath
卷的情况并不少见。)即使您的 Kubernetes 在 运行ning Docker 下面,您也可能无法访问 Docker 套接字,如果可以的话,您会看到许多 Kubernetes 内部结构,它们只会是当前节点上的 运行ning。
您应该重新审视您的应用程序是否确实需要访问 Docker 套接字。在许多情况下,像 RabbitMQ 这样的作业队列可以取代动态启动容器的需要。您提到了监控需求,并且可能有现成的项目可以满足这一需求。在最坏的情况下,您可能需要更新您的应用程序以同时支持 Docker 和 Kubernetes API,具体取决于它所在的 运行ning.
我开始使用Docker已经有一段时间了,我也一直在计划学习Kubernetes但是注意到它将在 版本 1.23.
中删除启用 Docker 作为 Kubernetes 容器运行时的 dockershim 组件我只是想了解我应该使用 docker 和 dockershim 开始学习 1.22 版的 Kubernetes,还是等到 dockershim 支持结束并开始关注新的学习路径?
I am actually worried because some of my projects use the Unix Socket
docker.sock
to collect containers data.
所有回答和评论将不胜感激。
“Kubernetes 正在删除 Docker 支持”实际上是一个非常底层的细节。除非您实际管理集群,否则您不会注意到或关心。如果您的项目需要 运行 多个副本分布在多个系统中,那么学习 Kubernetes 可能是有意义的,并且没有特别的理由等到这个内部更改完成。您仍然需要了解详细信息,例如如何构建 Docker 图像并将它们推送到存储库,以有效地开发 运行 在 Kubernetes 上运行的应用程序。
some of my projects use the docker socket
docker.sock
这不适用于 Kubernetes。一般来说,Kubernetes 的安全控制比 Docker 强得多。一方面,这意味着您可以将 ServiceAccount 配置为具有在特定命名空间中创建新 Pod 的权限,而无需授予它在任何地方读取 Secrets 的权限。另一方面,这也意味着容器通常会被禁止进行可能危及主机的事情。 (例如,我理解完全禁止 hostPath
卷的情况并不少见。)即使您的 Kubernetes 在 运行ning Docker 下面,您也可能无法访问 Docker 套接字,如果可以的话,您会看到许多 Kubernetes 内部结构,它们只会是当前节点上的 运行ning。
您应该重新审视您的应用程序是否确实需要访问 Docker 套接字。在许多情况下,像 RabbitMQ 这样的作业队列可以取代动态启动容器的需要。您提到了监控需求,并且可能有现成的项目可以满足这一需求。在最坏的情况下,您可能需要更新您的应用程序以同时支持 Docker 和 Kubernetes API,具体取决于它所在的 运行ning.