1
0
mirror of https://github.com/rancher/rke.git synced 2025-09-17 07:30:01 +00:00

Add default option to private registries

This commit is contained in:
galal-hussein
2018-08-31 23:41:24 +02:00
committed by Alena Prokharchyk
parent 3375a2f2e9
commit 3c76263096

View File

@@ -2,6 +2,7 @@ package cluster
import ( import (
"context" "context"
"fmt"
"github.com/rancher/rke/k8s" "github.com/rancher/rke/k8s"
"github.com/rancher/rke/log" "github.com/rancher/rke/log"
@@ -139,36 +140,43 @@ func (c *Cluster) setClusterServicesDefaults() {
} }
func (c *Cluster) setClusterImageDefaults() { func (c *Cluster) setClusterImageDefaults() {
var privRegURL string
imageDefaults, ok := v3.K8sVersionToRKESystemImages[c.Version] imageDefaults, ok := v3.K8sVersionToRKESystemImages[c.Version]
if !ok { if !ok {
imageDefaults = v3.K8sVersionToRKESystemImages[DefaultK8sVersion] imageDefaults = v3.K8sVersionToRKESystemImages[DefaultK8sVersion]
} }
for _, privReg := range c.PrivateRegistries {
if privReg.IsDefault {
privRegURL = privReg.URL
break
}
}
systemImagesDefaultsMap := map[*string]string{ systemImagesDefaultsMap := map[*string]string{
&c.SystemImages.Alpine: imageDefaults.Alpine, &c.SystemImages.Alpine: d(imageDefaults.Alpine, privRegURL),
&c.SystemImages.NginxProxy: imageDefaults.NginxProxy, &c.SystemImages.NginxProxy: d(imageDefaults.NginxProxy, privRegURL),
&c.SystemImages.CertDownloader: imageDefaults.CertDownloader, &c.SystemImages.CertDownloader: d(imageDefaults.CertDownloader, privRegURL),
&c.SystemImages.KubeDNS: imageDefaults.KubeDNS, &c.SystemImages.KubeDNS: d(imageDefaults.KubeDNS, privRegURL),
&c.SystemImages.KubeDNSSidecar: imageDefaults.KubeDNSSidecar, &c.SystemImages.KubeDNSSidecar: d(imageDefaults.KubeDNSSidecar, privRegURL),
&c.SystemImages.DNSmasq: imageDefaults.DNSmasq, &c.SystemImages.DNSmasq: d(imageDefaults.DNSmasq, privRegURL),
&c.SystemImages.KubeDNSAutoscaler: imageDefaults.KubeDNSAutoscaler, &c.SystemImages.KubeDNSAutoscaler: d(imageDefaults.KubeDNSAutoscaler, privRegURL),
&c.SystemImages.KubernetesServicesSidecar: imageDefaults.KubernetesServicesSidecar, &c.SystemImages.KubernetesServicesSidecar: d(imageDefaults.KubernetesServicesSidecar, privRegURL),
&c.SystemImages.Etcd: imageDefaults.Etcd, &c.SystemImages.Etcd: d(imageDefaults.Etcd, privRegURL),
&c.SystemImages.Kubernetes: imageDefaults.Kubernetes, &c.SystemImages.Kubernetes: d(imageDefaults.Kubernetes, privRegURL),
&c.SystemImages.PodInfraContainer: imageDefaults.PodInfraContainer, &c.SystemImages.PodInfraContainer: d(imageDefaults.PodInfraContainer, privRegURL),
&c.SystemImages.Flannel: imageDefaults.Flannel, &c.SystemImages.Flannel: d(imageDefaults.Flannel, privRegURL),
&c.SystemImages.FlannelCNI: imageDefaults.FlannelCNI, &c.SystemImages.FlannelCNI: d(imageDefaults.FlannelCNI, privRegURL),
&c.SystemImages.CalicoNode: imageDefaults.CalicoNode, &c.SystemImages.CalicoNode: d(imageDefaults.CalicoNode, privRegURL),
&c.SystemImages.CalicoCNI: imageDefaults.CalicoCNI, &c.SystemImages.CalicoCNI: d(imageDefaults.CalicoCNI, privRegURL),
&c.SystemImages.CalicoCtl: imageDefaults.CalicoCtl, &c.SystemImages.CalicoCtl: d(imageDefaults.CalicoCtl, privRegURL),
&c.SystemImages.CanalNode: imageDefaults.CanalNode, &c.SystemImages.CanalNode: d(imageDefaults.CanalNode, privRegURL),
&c.SystemImages.CanalCNI: imageDefaults.CanalCNI, &c.SystemImages.CanalCNI: d(imageDefaults.CanalCNI, privRegURL),
&c.SystemImages.CanalFlannel: imageDefaults.CanalFlannel, &c.SystemImages.CanalFlannel: d(imageDefaults.CanalFlannel, privRegURL),
&c.SystemImages.WeaveNode: imageDefaults.WeaveNode, &c.SystemImages.WeaveNode: d(imageDefaults.WeaveNode, privRegURL),
&c.SystemImages.WeaveCNI: imageDefaults.WeaveCNI, &c.SystemImages.WeaveCNI: d(imageDefaults.WeaveCNI, privRegURL),
&c.SystemImages.Ingress: imageDefaults.Ingress, &c.SystemImages.Ingress: d(imageDefaults.Ingress, privRegURL),
&c.SystemImages.IngressBackend: imageDefaults.IngressBackend, &c.SystemImages.IngressBackend: d(imageDefaults.IngressBackend, privRegURL),
&c.SystemImages.MetricsServer: imageDefaults.MetricsServer, &c.SystemImages.MetricsServer: d(imageDefaults.MetricsServer, privRegURL),
} }
for k, v := range systemImagesDefaultsMap { for k, v := range systemImagesDefaultsMap {
@@ -214,3 +222,10 @@ func (c *Cluster) setClusterNetworkDefaults() {
setDefaultIfEmptyMapValue(c.Network.Options, k, v) setDefaultIfEmptyMapValue(c.Network.Options, k, v)
} }
} }
func d(image, defaultRegistryURL string) string {
if len(defaultRegistryURL) == 0 {
return image
}
return fmt.Sprintf("%s/%s", defaultRegistryURL, image)
}