From 707616178e628d8fb83748dc59ed6629175c4be2 Mon Sep 17 00:00:00 2001 From: Ho Kim Date: Thu, 14 Aug 2025 10:03:06 +0900 Subject: [PATCH] feat: add support for custom kubeadm pull image repository (#12128) Signed-off-by: Ho Kim --- roles/download/templates/kubeadm-images.yaml.j2 | 2 +- .../control-plane/templates/kubeadm-config.v1beta3.yaml.j2 | 2 +- .../control-plane/templates/kubeadm-config.v1beta4.yaml.j2 | 2 +- roles/kubespray_defaults/defaults/main/download.yml | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/roles/download/templates/kubeadm-images.yaml.j2 b/roles/download/templates/kubeadm-images.yaml.j2 index edf99cf2b..7128c75d4 100644 --- a/roles/download/templates/kubeadm-images.yaml.j2 +++ b/roles/download/templates/kubeadm-images.yaml.j2 @@ -5,7 +5,7 @@ nodeRegistration: --- apiVersion: kubeadm.k8s.io/{{ kubeadm_config_api_version }} kind: ClusterConfiguration -imageRepository: {{ kube_image_repo }} +imageRepository: {{ kubeadm_image_repo }} kubernetesVersion: v{{ kube_version }} etcd: {% if etcd_deployment_type == "kubeadm" %} diff --git a/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta3.yaml.j2 b/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta3.yaml.j2 index d02487fe6..fd9a0d49c 100644 --- a/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta3.yaml.j2 +++ b/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta3.yaml.j2 @@ -103,7 +103,7 @@ controlPlaneEndpoint: "{{ kubeadm_config_api_fqdn }}:{{ loadbalancer_apiserver.p controlPlaneEndpoint: "{{ main_ip | ansible.utils.ipwrap }}:{{ kube_apiserver_port }}" {% endif %} certificatesDir: {{ kube_cert_dir }} -imageRepository: {{ kube_image_repo }} +imageRepository: {{ kubeadm_image_repo }} apiServer: extraArgs: etcd-compaction-interval: "{{ kube_apiserver_etcd_compaction_interval }}" diff --git a/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta4.yaml.j2 b/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta4.yaml.j2 index 7ade47598..94be8aa91 100644 --- a/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta4.yaml.j2 +++ b/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta4.yaml.j2 @@ -122,7 +122,7 @@ controlPlaneEndpoint: "{{ kubeadm_config_api_fqdn }}:{{ loadbalancer_apiserver.p controlPlaneEndpoint: "{{ main_ip | ansible.utils.ipwrap }}:{{ kube_apiserver_port }}" {% endif %} certificatesDir: {{ kube_cert_dir }} -imageRepository: {{ kube_image_repo }} +imageRepository: {{ kubeadm_image_repo }} apiServer: extraArgs: - name: etcd-compaction-interval diff --git a/roles/kubespray_defaults/defaults/main/download.yml b/roles/kubespray_defaults/defaults/main/download.yml index 8bac4bbfc..5f433b65a 100644 --- a/roles/kubespray_defaults/defaults/main/download.yml +++ b/roles/kubespray_defaults/defaults/main/download.yml @@ -88,6 +88,7 @@ docker_containerd_version: 1.6.32 # gcr and kubernetes image repo define gcr_image_repo: "gcr.io" kube_image_repo: "registry.k8s.io" +kubeadm_image_repo: "{{ kube_image_repo }}" # docker image repo define docker_image_repo: "docker.io"