From 8b3ebbe8bf6013ac4f6d7c467c55eea36213b271 Mon Sep 17 00:00:00 2001 From: Kevin Lefevre Date: Tue, 31 Jan 2017 15:25:58 +0100 Subject: [PATCH] Use variables for hyperkube and kube version Introduce HYPERKUBE_IMAGE_REPO variable which is set to CoreOS hyperkube by default. Also remove "_coreos.0" from script as it can be a different build number. This number should be included in the kubernetes version parameters and not in scripts. With this, it is possible to use any combination of hyperkube image with any tags. by default we use the CoreOS one. Partially-Implements: blueprint support-insecure-registry Partially-Implements: blueprint coreos-best-pratice Change-Id: Ie0fbed4b160fa972cfe130c252e87765690e2f5f --- .../templates/fragments/enable-kube-apiserver.yaml | 2 +- .../fragments/enable-kube-controller-manager.yaml | 2 +- .../templates/fragments/enable-kube-proxy-master.yaml | 2 +- .../templates/fragments/enable-kube-proxy-minion.yaml | 2 +- .../templates/fragments/enable-kube-scheduler.yaml | 2 +- .../templates/fragments/enable-kubelet-master.yaml | 3 ++- .../templates/fragments/enable-kubelet-minion.yaml | 3 ++- .../templates/fragments/write-heat-params-master.yaml | 1 + .../templates/fragments/write-heat-params.yaml | 1 + .../drivers/k8s_coreos_v1/templates/kubecluster.yaml | 10 +++++++++- magnum/drivers/k8s_coreos_v1/templates/kubemaster.yaml | 6 ++++++ magnum/drivers/k8s_coreos_v1/templates/kubeminion.yaml | 6 ++++++ 12 files changed, 32 insertions(+), 8 deletions(-) diff --git a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-apiserver.yaml b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-apiserver.yaml index 4fbebf2e9f..5faf605b4d 100644 --- a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-apiserver.yaml +++ b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-apiserver.yaml @@ -48,7 +48,7 @@ write_files: hostNetwork: true containers: - name: kube-apiserver - image: gcr.io/google_containers/hyperkube:${KUBE_VERSION} + image: ${HYPERKUBE_IMAGE_REPO}:${KUBE_VERSION} command: - /hyperkube - apiserver diff --git a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-controller-manager.yaml b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-controller-manager.yaml index d41a38fb22..48850284aa 100644 --- a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-controller-manager.yaml +++ b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-controller-manager.yaml @@ -43,7 +43,7 @@ write_files: hostNetwork: true containers: - name: kube-controller-manager - image: gcr.io/google_containers/hyperkube:${KUBE_VERSION} + image: ${HYPERKUBE_IMAGE_REPO}:${KUBE_VERSION} command: - /hyperkube - controller-manager diff --git a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-proxy-master.yaml b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-proxy-master.yaml index 3cc9ac5d31..9c4100815a 100644 --- a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-proxy-master.yaml +++ b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-proxy-master.yaml @@ -33,7 +33,7 @@ write_files: hostNetwork: true containers: - name: kube-proxy - image: gcr.io/google_containers/hyperkube:${KUBE_VERSION} + image: ${HYPERKUBE_IMAGE_REPO}:${KUBE_VERSION} command: - /hyperkube - proxy diff --git a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-proxy-minion.yaml b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-proxy-minion.yaml index f7d8f86c95..8a397fc898 100644 --- a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-proxy-minion.yaml +++ b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-proxy-minion.yaml @@ -42,7 +42,7 @@ write_files: hostNetwork: true containers: - name: kube-proxy - image: gcr.io/google_containers/hyperkube:${KUBE_VERSION} + image: ${HYPERKUBE_IMAGE_REPO}:${KUBE_VERSION} command: - /hyperkube - proxy diff --git a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-scheduler.yaml b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-scheduler.yaml index d962cfca41..511e1338c8 100644 --- a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-scheduler.yaml +++ b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kube-scheduler.yaml @@ -34,7 +34,7 @@ write_files: hostNetwork: true containers: - name: kube-scheduler - image: gcr.io/google_containers/hyperkube:${KUBE_VERSION} + image: ${HYPERKUBE_IMAGE_REPO}:${KUBE_VERSION} command: - /hyperkube - scheduler diff --git a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kubelet-master.yaml b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kubelet-master.yaml index 47b7bd45a5..5644199d8d 100644 --- a/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kubelet-master.yaml +++ b/magnum/drivers/k8s_coreos_v1/templates/fragments/enable-kubelet-master.yaml @@ -28,7 +28,8 @@ write_files: CONF_FILE=/etc/systemd/system/kubelet.service cat > $CONF_FILE < $CONF_FILE < + Docker registry used for hyperkube image + default: quay.io/coreos/hyperkube registry_enabled: type: boolean @@ -384,6 +390,7 @@ resources: trustee_password: {get_param: trustee_password} trust_id: {get_param: trust_id} auth_url: {get_param: auth_url} + hyperkube_image_repo: {get_param: hyperkube_image_repo} ###################################################################### # @@ -427,6 +434,7 @@ resources: trustee_password: {get_param: trustee_password} trust_id: {get_param: trust_id} auth_url: {get_param: auth_url} + hyperkube_image_repo: {get_param: hyperkube_image_repo} outputs: diff --git a/magnum/drivers/k8s_coreos_v1/templates/kubemaster.yaml b/magnum/drivers/k8s_coreos_v1/templates/kubemaster.yaml index d895418f16..d578d910ec 100644 --- a/magnum/drivers/k8s_coreos_v1/templates/kubemaster.yaml +++ b/magnum/drivers/k8s_coreos_v1/templates/kubemaster.yaml @@ -113,6 +113,11 @@ parameters: type: string description: version of kubernetes used for kubernetes cluster + hyperkube_image_repo: + type: string + description: > + Docker registry used for hyperkube image + cluster_uuid: type: string description: identifier for the cluster this template is generating @@ -234,6 +239,7 @@ resources: "$AUTH_URL": {get_param: auth_url} "$KUBE_CERTS_PATH": "/etc/kubernetes/ssl" "$HOST_CERTS_PATH": "/usr/share/ca-certificates" + "$HYPERKUBE_IMAGE_REPO": {get_param: hyperkube_image_repo} configure_etcd: type: OS::Heat::SoftwareConfig diff --git a/magnum/drivers/k8s_coreos_v1/templates/kubeminion.yaml b/magnum/drivers/k8s_coreos_v1/templates/kubeminion.yaml index 014153bce0..3dd4b7f9ab 100644 --- a/magnum/drivers/k8s_coreos_v1/templates/kubeminion.yaml +++ b/magnum/drivers/k8s_coreos_v1/templates/kubeminion.yaml @@ -57,6 +57,11 @@ parameters: type: string description: version of kubernetes used for kubernetes cluster + hyperkube_image_repo: + type: string + description: > + Docker registry used for hyperkube image + kube_master_ip: type: string description: IP address of the Kubernetes master server. @@ -166,6 +171,7 @@ resources: "$AUTH_URL": {get_param: auth_url} "$KUBE_CERTS_PATH": "/etc/kubernetes/ssl" "$HOST_CERTS_PATH": "/usr/share/ca-certificates" + "$HYPERKUBE_IMAGE_REPO": {get_param: hyperkube_image_repo} write_kubeconfig: type: OS::Heat::SoftwareConfig