From c377bde9241d2fe6bbc2e93c61f26f7b8647c4f1 Mon Sep 17 00:00:00 2001 From: yangjianfeng Date: Sun, 20 Mar 2022 11:29:47 +0800 Subject: [PATCH] Support config image repository for kubeadm In some places of which network environment was limited, kubeadm can't pull images from k8s.gcr.io. This patch add a variable `KUBEADMIN_IMAGE_REPOSITORY` in order to the developer who located in these places can set the kubeadm to pull container images from repository that they can access. Change-Id: I14aed50077ef0760635e575770fd2274cb759c53 (cherry picked from commit 90b4089cda37d16ff3fb008ab26469597c289268) --- devstack/lib/k8s | 2 ++ devstack/settings | 3 +++ 2 files changed, 5 insertions(+) diff --git a/devstack/lib/k8s b/devstack/lib/k8s index dbd87c1..70833b9 100644 --- a/devstack/lib/k8s +++ b/devstack/lib/k8s @@ -63,6 +63,7 @@ function kubeadm_init { cat </dev/null apiVersion: kubeadm.k8s.io/v1beta1 kind: ClusterConfiguration +imageRepository: "${KUBEADMIN_IMAGE_REPOSITORY}" etcd: external: endpoints: @@ -84,6 +85,7 @@ apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration failSwapOn: false EOF + sudo kubeadm config images pull --image-repository=${KUBEADMIN_IMAGE_REPOSITORY} sudo kubeadm init --config $kubeadm_config_file --ignore-preflight-errors Swap local kube_config_file=$HOME/.kube/config diff --git a/devstack/settings b/devstack/settings index fba9454..ae9e060 100644 --- a/devstack/settings +++ b/devstack/settings @@ -24,3 +24,6 @@ if [[ ,${ENABLED_SERVICES} =~ ,"k8s-master" ]]; then enable_service kube-scheduler enable_service kube-proxy fi + +# Customize kubeadm container images repository +KUBEADMIN_IMAGE_REPOSITORY=${KUBEADMIN_IMAGE_REPOSITORY:-"k8s.gcr.io"}