mirror of https://github.com/k3s-io/k3s
set environment variable and create config for crictl
Signed-off-by: Brian Downs <brian.downs@gmail.com>pull/1950/head
parent
63dbf806df
commit
58aae57e12
|
@ -40,6 +40,9 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func runCLIs() bool {
|
func runCLIs() bool {
|
||||||
|
if os.Getenv("CRI_CONFIG_FILE") == "" {
|
||||||
|
os.Setenv("CRI_CONFIG_FILE", datadir.DefaultDataDir+"/agent/etc/crictl.yaml")
|
||||||
|
}
|
||||||
for _, cmd := range []string{"kubectl", "ctr", "crictl"} {
|
for _, cmd := range []string{"kubectl", "ctr", "crictl"} {
|
||||||
if filepath.Base(os.Args[0]) == cmd {
|
if filepath.Base(os.Args[0]) == cmd {
|
||||||
if err := externalCLI(cmd, "", os.Args[1:]); err != nil {
|
if err := externalCLI(cmd, "", os.Args[1:]); err != nil {
|
||||||
|
|
|
@ -21,6 +21,7 @@ import (
|
||||||
"github.com/rancher/k3s/pkg/clientaccess"
|
"github.com/rancher/k3s/pkg/clientaccess"
|
||||||
"github.com/rancher/k3s/pkg/daemons/agent"
|
"github.com/rancher/k3s/pkg/daemons/agent"
|
||||||
daemonconfig "github.com/rancher/k3s/pkg/daemons/config"
|
daemonconfig "github.com/rancher/k3s/pkg/daemons/config"
|
||||||
|
"github.com/rancher/k3s/pkg/datadir"
|
||||||
"github.com/rancher/k3s/pkg/nodeconfig"
|
"github.com/rancher/k3s/pkg/nodeconfig"
|
||||||
"github.com/rancher/k3s/pkg/rootless"
|
"github.com/rancher/k3s/pkg/rootless"
|
||||||
"github.com/rancher/k3s/pkg/version"
|
"github.com/rancher/k3s/pkg/version"
|
||||||
|
@ -39,13 +40,40 @@ var (
|
||||||
HostnameLabel = version.Program + ".io/hostname"
|
HostnameLabel = version.Program + ".io/hostname"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
dockershimSock = "unix:///var/run/dockershim.sock"
|
||||||
|
containerdSock = "unix:///run/k3s/containerd/containerd.sock"
|
||||||
|
)
|
||||||
|
|
||||||
|
// setupCriCtlConfig creates the crictl config file and populates it
|
||||||
|
// with the given data from config.
|
||||||
|
func setupCriCtlConfig(cfg cmds.Agent, nodeConfig *daemonconfig.Node) error {
|
||||||
|
cre := nodeConfig.ContainerRuntimeEndpoint
|
||||||
|
if cre == "" {
|
||||||
|
switch {
|
||||||
|
case cfg.Docker:
|
||||||
|
cre = dockershimSock
|
||||||
|
default:
|
||||||
|
cre = containerdSock
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
agentConfDir := datadir.DefaultDataDir + "/agent/etc"
|
||||||
|
if _, err := os.Stat(agentConfDir); os.IsNotExist(err) {
|
||||||
|
if err := os.MkdirAll(agentConfDir, 0755); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
crp := "runtime-endpoint: " + cre + "\n"
|
||||||
|
return ioutil.WriteFile(agentConfDir+"/crictl.yaml", []byte(crp), 0600)
|
||||||
|
}
|
||||||
|
|
||||||
func run(ctx context.Context, cfg cmds.Agent, proxy proxy.Proxy) error {
|
func run(ctx context.Context, cfg cmds.Agent, proxy proxy.Proxy) error {
|
||||||
nodeConfig := config.Get(ctx, cfg, proxy)
|
nodeConfig := config.Get(ctx, cfg, proxy)
|
||||||
|
|
||||||
if cfg.Docker {
|
if err := setupCriCtlConfig(cfg, nodeConfig); err != nil {
|
||||||
if err := os.Symlink("/var/run/dockershim.sock", "/run/k3s/containerd/containerd.sock"); err != nil {
|
return err
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if !nodeConfig.NoFlannel {
|
if !nodeConfig.NoFlannel {
|
||||||
|
|
Loading…
Reference in New Issue