1
0
mirror of https://github.com/rancher/rke.git synced 2025-08-20 15:54:56 +00:00
rke/cluster/addons.go
moelsayed babe95f183 add network plugin support
add template configration through env variables

add kubedns addon
2017-11-08 01:59:12 +02:00

43 lines
1.1 KiB
Go

package cluster
import (
"fmt"
"github.com/Sirupsen/logrus"
"github.com/rancher/rke/k8s"
"github.com/rancher/rke/pki"
)
const (
ClusterDnsServerIPEnvName = "RKE_DNS_SERVER"
ClusterDomainEnvName = "RKE_CLUSTER_DOMAIN"
)
func (c *Cluster) DeployK8sAddOns() error {
if err := c.deployKubeDNS(); err != nil {
return err
}
return nil
}
func (c *Cluster) deployKubeDNS() error {
logrus.Infof("[plugins] Setting up KubeDNS")
deployerHost := c.ControlPlaneHosts[0]
kubectlCmd := []string{"apply -f /addons/kubedns*.yaml"}
env := []string{
fmt.Sprintf("%s=%s", pki.KubeAdminConfigENVName, c.Certificates[pki.KubeAdminCommonName].Config),
fmt.Sprintf("%s=%s", ClusterDnsServerIPEnvName, c.ClusterDnsServer),
fmt.Sprintf("%s=%s", ClusterDomainEnvName, c.ClusterDomain),
}
logrus.Infof("[plugins] Executing the deploy command..")
err := k8s.RunKubectlCmd(deployerHost.DClient, deployerHost.Hostname, kubectlCmd, env)
if err != nil {
return fmt.Errorf("Failed to run kubectl command: %v", err)
}
logrus.Infof("[plugins] kubeDNS deployed successfully..")
return nil
}