func CreateEssentialAddons(s *kubeadmapi.MasterConfiguration, client *clientset.Clientset) error { arches := [3]string{"amd64", "arm", "arm64"} for _, arch := range arches { kubeProxyDaemonSet := NewDaemonSet(kubeProxy+"-"+arch, createKubeProxyPodSpec(s, arch)) SetMasterTaintTolerations(&kubeProxyDaemonSet.Spec.Template.ObjectMeta) if _, err := client.Extensions().DaemonSets(api.NamespaceSystem).Create(kubeProxyDaemonSet); err != nil { return fmt.Errorf("<master/addons> failed creating essential kube-proxy addon [%v]", err) } } fmt.Println("<master/addons> created essential addon: kube-proxy") kubeDNSDeployment := NewDeployment("kube-dns", 1, createKubeDNSPodSpec(s)) SetMasterTaintTolerations(&kubeDNSDeployment.Spec.Template.ObjectMeta) if _, err := client.Extensions().Deployments(api.NamespaceSystem).Create(kubeDNSDeployment); err != nil { return fmt.Errorf("<master/addons> failed creating essential kube-dns addon [%v]", err) } kubeDNSServiceSpec, err := createKubeDNSServiceSpec(s) if err != nil { return fmt.Errorf("<master/addons> failed creating essential kube-dns addon - %v", err) } kubeDNSService := NewService("kube-dns", *kubeDNSServiceSpec) if _, err := client.Services(api.NamespaceSystem).Create(kubeDNSService); err != nil { return fmt.Errorf("<master/addons> failed creating essential kube-dns addon [%v]", err) } fmt.Println("<master/addons> created essential addon: kube-dns") return nil }
func CreateEssentialAddons(cfg *kubeadmapi.MasterConfiguration, client *clientset.Clientset) error { kubeProxyDaemonSet := NewDaemonSet(kubeProxy, createKubeProxyPodSpec(cfg)) SetMasterTaintTolerations(&kubeProxyDaemonSet.Spec.Template.ObjectMeta) SetNodeAffinity(&kubeProxyDaemonSet.Spec.Template.ObjectMeta, NativeArchitectureNodeAffinity()) if _, err := client.Extensions().DaemonSets(api.NamespaceSystem).Create(kubeProxyDaemonSet); err != nil { return fmt.Errorf("<master/addons> failed creating essential kube-proxy addon [%v]", err) } fmt.Println("<master/addons> created essential addon: kube-proxy") kubeDNSDeployment := NewDeployment("kube-dns", 1, createKubeDNSPodSpec(cfg)) SetMasterTaintTolerations(&kubeDNSDeployment.Spec.Template.ObjectMeta) SetNodeAffinity(&kubeDNSDeployment.Spec.Template.ObjectMeta, NativeArchitectureNodeAffinity()) if _, err := client.Extensions().Deployments(api.NamespaceSystem).Create(kubeDNSDeployment); err != nil { return fmt.Errorf("<master/addons> failed creating essential kube-dns addon [%v]", err) } kubeDNSServiceSpec, err := createKubeDNSServiceSpec(cfg) if err != nil { return fmt.Errorf("<master/addons> failed creating essential kube-dns addon - %v", err) } kubeDNSService := NewService("kube-dns", *kubeDNSServiceSpec) if _, err := client.Services(api.NamespaceSystem).Create(kubeDNSService); err != nil { return fmt.Errorf("<master/addons> failed creating essential kube-dns addon [%v]", err) } fmt.Println("<master/addons> created essential addon: kube-dns") return nil }