docker - 升级GKE工作节点中的docker版本

标签 docker kubernetes jenkins-pipeline google-kubernetes-engine

我在集群中面临 docker 版本冲突。主节点的版本为 18.03,但工作节点的版本为 17.03.2-ce。我正在使用 Jenkins 多管道来构建 docker 镜像,其中最新的 docker 容器将被拉入从属服务器中,但由于节点基础版本低于我们的预期,因此失败。全氟反馈

客户端:Docker 引擎 - 社区 版本:18.09.3 API版本:1.27(从1.39降级) Go版本:go1.10.8

服务器: 引擎: 版本:17.03.2-ce API版本:1.27(最低版本1.12)

我们的版本适用于 17.05 以上的版本。因此,我虽然通过链接( https://cloud.google.com/kubernetes-engine/docs/how-to/upgrading-a-cluster )更新我的集群,但我在工作节点中找不到任何特定于 docker 升级的内容。

您能帮我升级工作节点中的docker版本吗?

注意:仅在工作节点中需要升级,而在主节点中不需要升级(因为它具有最新的 18.03)

最佳答案

在 GKE 上,docker 的版本与节点镜像版本紧密耦合,而节点镜像版本又基于集群中节点的 Kubernetes 版本。如果你看GKE Release Notes您可以查看哪些 Docker 版本安装在哪些节点镜像版本上,然后找出需要安装哪个节点版本才能获得所需的 Docker 版本。

例如,查看 release note for March 5th, 2019cos-69-10895-138-0-c124 附带 Docker v18.09.0,用于运行 1.12+ 的 Kubernetes 节点。因此,如果您将节点升级到 Kubernetes 1.12.x,并确保您使用的是 cos_containerd 节点镜像,那么您将获得高于 18.03 的 Docker 版本。

关于docker - 升级GKE工作节点中的docker版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55116263/

相关文章:

json - Kubernetes:拉取镜像失败。服务器向 HTTPS 客户端提供 HTTP 响应

jenkins-pipeline - 如何将 Jenkins 共享库中的类导入到管道中

jenkins-workflow - Jenkins Pipeline 为 jenkinsfile 拉取整个源代码

ruby - 正则表达式过早结束:/[^] +/

docker - “gcloud docker”是否支持某种sudo(例如--user root?)

docker - Docker 快速入门终端有什么作用?

docker - Docker Compose 3控制资源(内存,CPU)

docker - Kubelet 错误地认为磁盘已满

python - 如何使用 Kubernetes Python 客户端连接到 Google Kubernetes 引擎

jenkins - 你如何在 Jenkins 中获得构建持续时间?