kubernetes: pod.status.containerStatuses displayed image name incorrectly when image has multiple tags on the node
What happened:
image name in pod.status.containerStatuses
is different from pod.spec.containers
via kubectl get pod -o yaml
What you expected to happen:
image name in should be the same in pod.status.containerStatuses
and pod.spec.containers
How to reproduce it (as minimally and precisely as possible):
- give a new tag to a image via
docker tag
(same image with different tag) - start a deployment using that image with original tag
- show pod yaml via
kubectl get pod -o yaml <pod name>
we will see the image name inpod.status.containerStatuses
is the new tag rather than the original tag we have set in the spec
Environment:
- Kubernetes version (use
kubectl version
):
Client Version: version.Info{Major:"1", Minor:"10+", GitVersion:"v1.10.5-tke.3", GitCommit:"53e244be925234190938376fe8637189b6caf125", GitTreeState:"clean", BuildDate:"2018-12-04T04:10:03Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10+", GitVersion:"v1.10.5-qcloud-rev1", GitCommit:"2e618fb4fb02e6934ca26ef3a9b4683ca1a7c1a2", GitTreeState:"clean", BuildDate:"2018-09-21T04:52:05Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
- Cloud provider or hardware configuration:
- OS (e.g. from /etc/os-release):
NAME="Ubuntu"
VERSION="16.04.1 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.1 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
UBUNTU_CODENAME=xenial
- Kernel (e.g.
uname -a
):
Linux VM-0-3-ubuntu 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
- Install tools:
$ docker version
Client:
Version: 17.12.1-ce
API version: 1.35
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:13:43 2018
OS/Arch: linux/amd64
Server:
Engine:
Version: 17.12.1-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:20:43 2018
OS/Arch: linux/amd64
Experimental: false
- Others:
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 5
- Comments: 17 (8 by maintainers)
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/dockershim/docker_container.go#L388
If the same ID docker image has many tags, kubelet just pick the first one.