From 3b8991e34577270473d3b94b67d75560c63c8087 Mon Sep 17 00:00:00 2001 From: Kinara Shah Date: Thu, 4 Aug 2022 12:52:39 -0700 Subject: [PATCH] bind rke kubelet docker config path to default docker config path rke stores auth info in /var/lib/kubelet/config.json but cri-dockerd relies on k8.io credential provider which uses only default config provider, this allows cri-dockerd to pull sandbox pause image using private registry --- cluster/plan.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cluster/plan.go b/cluster/plan.go index 27ae338a..45185577 100644 --- a/cluster/plan.go +++ b/cluster/plan.go @@ -512,7 +512,8 @@ func (c *Cluster) BuildKubeletProcess(host *hosts.Host, serviceOptions v3.Kubern // cri-dockerd must be enabled if the cluster version is 1.24 and higher if parsedRangeAtLeast124(parsedVersion) { CommandArgs["container-runtime-endpoint"] = "unix:///var/run/cri-dockerd.sock" - Binds = []string{fmt.Sprintf("%s:/var/lib/cri-dockerd:z", path.Join(host.PrefixPath, "/var/lib/cri-dockerd"))} + Binds = []string{fmt.Sprintf("%s:/var/lib/cri-dockerd:z", path.Join(host.PrefixPath, "/var/lib/cri-dockerd")), + fmt.Sprintf("%s:%s", path.Join(host.PrefixPath, KubeletDockerConfigPath), "/.docker/config.json")} } }