1
0
mirror of https://github.com/rancher/rke.git synced 2025-07-04 19:17:16 +00:00

Add ability to deploy jobs with kubectl and not job task

This API is used solely in rancher local clusters.
This commit is contained in:
Darren Shepherd 2018-02-26 16:27:07 -07:00
parent bfa51fd41c
commit fce6b15f18
2 changed files with 15 additions and 0 deletions

View File

@ -1,8 +1,11 @@
package cluster package cluster
import ( import (
"bytes"
"context" "context"
"fmt" "fmt"
"os"
"os/exec"
"time" "time"
"github.com/rancher/rke/addons" "github.com/rancher/rke/addons"
@ -66,10 +69,21 @@ func (c *Cluster) deployKubeDNS(ctx context.Context) error {
} }
log.Infof(ctx, "[addons] KubeDNS deployed successfully..") log.Infof(ctx, "[addons] KubeDNS deployed successfully..")
return nil return nil
}
func (c *Cluster) deployWithKubectl(ctx context.Context, addonYaml string) error {
buf := bytes.NewBufferString(addonYaml)
cmd := exec.Command("kubectl", "--kubeconfig", c.LocalKubeConfigPath, "apply", "-f", "-")
cmd.Stdin = buf
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
} }
func (c *Cluster) doAddonDeploy(ctx context.Context, addonYaml, resourceName string) error { func (c *Cluster) doAddonDeploy(ctx context.Context, addonYaml, resourceName string) error {
if c.UseKubectlDeploy {
return c.deployWithKubectl(ctx, addonYaml)
}
err := c.StoreAddonConfigMap(ctx, addonYaml, resourceName) err := c.StoreAddonConfigMap(ctx, addonYaml, resourceName)
if err != nil { if err != nil {

View File

@ -40,6 +40,7 @@ type Cluster struct {
LocalConnDialerFactory hosts.DialerFactory LocalConnDialerFactory hosts.DialerFactory
PrivateRegistriesMap map[string]v3.PrivateRegistry PrivateRegistriesMap map[string]v3.PrivateRegistry
K8sWrapTransport k8s.WrapTransport K8sWrapTransport k8s.WrapTransport
UseKubectlDeploy bool
} }
const ( const (