Skip to content

change kubeadm image url #2805

Open
Open
@willzhang

Description

Is this a BUG REPORT or FEATURE REQUEST?

FEATURE REQUEST

Versions

kubeadm version (use kubeadm version):
v1.26.0
Environment:

  • Kubernetes version (use kubectl version): v1.26.0
  • Cloud provider or hardware configuration: baremetal
  • OS (e.g. from /etc/os-release): ubuntu 22.04
  • Kernel (e.g. uname -a): 5.x
  • Container runtime (CRI) (e.g. containerd, cri-o): containerd and cri-o
  • Container networking plugin (CNI) (e.g. Calico, Cilium): calico
  • Others: registry with harbor and docker registy at local offline environment

What happened?

as kubernetes/sig-release#2146 discuss, the long image url registry.k8s.io/kubernetes/kube-apiserver:v1.26.0 have been ready, kubeadm init should use this url as default to pull images.

What you expected to happen?

kubeadmin init cluster pull images from registry.k8s.io/kubernetes/kube-xx as default action.

How to reproduce it (as minimally and precisely as possible)?

here have one image list for kubernetes cluster installtion generate by kubespray offline scripts.

root@ubuntu:~# cat images.list
docker.io/mirantis/k8s-netchecker-server:v1.2.2
docker.io/mirantis/k8s-netchecker-agent:v1.2.2
quay.io/coreos/etcd:v3.5.6
quay.io/cilium/cilium:v1.12.1
quay.io/cilium/operator:v1.12.1
quay.io/cilium/hubble-relay:v1.12.1
quay.io/cilium/certgen:v0.1.8
quay.io/cilium/hubble-ui:v0.9.2
quay.io/cilium/hubble-ui-backend:v0.9.2
docker.io/envoyproxy/envoy:v1.22.5
ghcr.io/k8snetworkplumbingwg/multus-cni:v3.8-amd64
docker.io/flannelcni/flannel:v0.20.1
docker.io/flannelcni/flannel-cni-plugin:v1.2.0
quay.io/calico/node:v3.24.5
quay.io/calico/cni:v3.24.5
quay.io/calico/pod2daemon-flexvol:v3.24.5
quay.io/calico/kube-controllers:v3.24.5
quay.io/calico/typha:v3.24.5
quay.io/calico/apiserver:v3.24.5
docker.io/weaveworks/weave-kube:2.8.1
docker.io/weaveworks/weave-npc:2.8.1
docker.io/kubeovn/kube-ovn:v1.10.7
docker.io/cloudnativelabs/kube-router:v1.5.1
registry.k8s.io/pause:3.7
ghcr.io/kube-vip/kube-vip:v0.5.5
docker.io/library/nginx:1.23.2-alpine
docker.io/library/haproxy:2.6.6-alpine
registry.k8s.io/coredns/coredns:v1.9.3
registry.k8s.io/dns/k8s-dns-node-cache:1.21.1
registry.k8s.io/cpa/cluster-proportional-autoscaler-amd64:1.8.5
docker.io/library/registry:2.8.1
registry.k8s.io/metrics-server/metrics-server:v0.6.2
registry.k8s.io/sig-storage/local-volume-provisioner:v2.5.0
quay.io/external_storage/cephfs-provisioner:v2.1.0-k8s1.11
quay.io/external_storage/rbd-provisioner:v2.1.1-k8s1.11
docker.io/rancher/local-path-provisioner:v0.0.22
registry.k8s.io/ingress-nginx/controller:v1.5.1
docker.io/amazon/aws-alb-ingress-controller:v1.1.9
quay.io/jetstack/cert-manager-controller:v1.10.1
quay.io/jetstack/cert-manager-cainjector:v1.10.1
quay.io/jetstack/cert-manager-webhook:v1.10.1
registry.k8s.io/sig-storage/csi-attacher:v3.3.0
registry.k8s.io/sig-storage/csi-provisioner:v3.0.0
registry.k8s.io/sig-storage/csi-snapshotter:v5.0.0
registry.k8s.io/sig-storage/snapshot-controller:v4.2.1
registry.k8s.io/sig-storage/csi-resizer:v1.3.0
registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.4.0
docker.io/k8scloudprovider/cinder-csi-plugin:v1.22.0
docker.io/amazon/aws-ebs-csi-driver:v0.5.0
docker.io/kubernetesui/dashboard:v2.7.0
docker.io/kubernetesui/metrics-scraper:v1.0.8
quay.io/metallb/speaker:v0.12.1
quay.io/metallb/controller:v0.12.1
registry.k8s.io/kube-apiserver:v1.25.5
registry.k8s.io/kube-controller-manager:v1.25.5
registry.k8s.io/kube-scheduler:v1.25.5
registry.k8s.io/kube-proxy:v1.25.5

the problems i face:

1.I can not just replace registry.k8s.io quay.io docker.io to 192.168.72.10 (local offline harbor registry), harbor not support shot image url with registry.k8s.io/kube-apiserver:v1.25.5
2. I can not just change ${kube_image_repo} to ${kube_image_repo}/kubernetes basicly, becauese some application use long format url, eg registry.k8s.io/sig-storage/csi-resizer:v1.3.0
3. I can pull from registry.k8s.io/kubernetes/kube-apiserver:v1.26.0 , but as default kubeadm only pull from registry.k8s.io/kube-apiserver:v1.26.0 , i must change kubeadm config again.

so this deferente image url Leading to many dilemmas

Anything else we need to know?

1、This will solve the confusion of the image format and make the image of the core components of kuberenrtes consistent with the image of all other applications.

2、It is easier to move images in different places through variables and scripts without special configuration.

Metadata

Assignees

No one assigned

    Labels

    kind/designCategorizes issue or PR as related to design.kind/featureCategorizes issue or PR as related to a new feature.lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.needs-kephttps://git.k8s.io/enhancements/keps/README.mdpriority/awaiting-more-evidenceLowest priority. Possibly useful, but not yet enough support to actually get it done.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions