Skip to content

Commit

Permalink
feat(init): add calico support (#223)
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewrynhard authored Nov 21, 2018
1 parent 86ef4fc commit f16a130
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
22 changes: 22 additions & 0 deletions src/initramfs/cmd/init/pkg/system/services/crt.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ func (c *CRT) ID(data *userdata.UserData) string {
}

// PreFunc implements the Service interface.
// nolint: gocyclo
func (c *CRT) PreFunc(data *userdata.UserData) error {
switch data.Services.Init.ContainerRuntime {
case constants.ContainerRuntimeDocker:
Expand All @@ -65,6 +66,25 @@ func (c *CRT) PreFunc(data *userdata.UserData) error {
if err := ioutil.WriteFile("/var/etc/crio/seccomp.json", []byte(seccompProfile), 0644); err != nil {
return fmt.Errorf("failed to write seccomp.json: %v", err)
}
if err := os.MkdirAll("/var/etc/cni/net.d", os.ModeDir); err != nil {
return fmt.Errorf("create /var/etc/cni/net.d: %s", err.Error())
}
if err := os.MkdirAll("/var/opt/cni/bin", os.ModeDir); err != nil {
return fmt.Errorf("create /var/opt/cni/bin: %s", err.Error())
}
if err := os.MkdirAll("/var/etc/kubernetes/manifests", os.ModeDir); err != nil {
return fmt.Errorf("create /var/etc/kubernetes/manifests: %s", err.Error())
}
if err := os.MkdirAll("/var/lib/kubelet", os.ModeDir); err != nil {
return fmt.Errorf("create /var/lib/kubelet: %s", err.Error())
}
if err := os.MkdirAll("/var/lib/calico", os.ModeDir); err != nil {
return fmt.Errorf("create /var/lib/calico: %s", err.Error())
}
if err := os.MkdirAll("/var/libexec/kubernetes", os.ModeDir); err != nil {
return fmt.Errorf("create /var/libexec/kubernetes: %s", err.Error())
}

}

return nil
Expand All @@ -91,8 +111,10 @@ func (c *CRT) Start(data *userdata.UserData) error {
{Type: "bind", Destination: "/dev", Source: "/dev", Options: []string{"rbind", "rshared", "rw"}},
{Type: "bind", Destination: "/etc/kubernetes", Source: "/var/etc/kubernetes", Options: []string{"bind", "rw"}},
{Type: "bind", Destination: "/etc/cni", Source: "/var/etc/cni", Options: []string{"bind", "rw"}},
{Type: "bind", Destination: "/opt/cni", Source: "/var/opt/cni", Options: []string{"bind", "rw"}},
{Type: "bind", Destination: "/run", Source: "/run", Options: []string{"rbind", "rshared", "rw"}},
{Type: "bind", Destination: "/var/lib/kubelet", Source: "/var/lib/kubelet", Options: []string{"rbind", "rshared", "rw"}},
{Type: "bind", Destination: "/var/lib/calico", Source: "/var/lib/calico", Options: []string{"rbind", "rshared", "rw"}},
{Type: "bind", Destination: "/usr/libexec/kubernetes", Source: "/var/libexec/kubernetes", Options: []string{"rbind", "rshared", "rw"}},
}
env = []string{}
Expand Down
12 changes: 11 additions & 1 deletion src/initramfs/cmd/init/pkg/system/services/kubelet.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,27 @@ func (k *Kubelet) PreFunc(data *userdata.UserData) error {
if err := os.Mkdir("/run/flannel", os.ModeDir); err != nil {
return fmt.Errorf("create /run/flannel: %s", err.Error())
}
if err := os.Mkdir("/run/calico", os.ModeDir); err != nil {
return fmt.Errorf("create /run/calico: %s", err.Error())
}
if err := os.MkdirAll("/var/etc/cni/net.d", os.ModeDir); err != nil {
return fmt.Errorf("create /var/etc/cni/net.d: %s", err.Error())
}
if err := os.MkdirAll("/var/opt/cni/bin", os.ModeDir); err != nil {
return fmt.Errorf("create /var/opt/cni/bin: %s", err.Error())
}
if err := os.MkdirAll("/var/etc/kubernetes/manifests", os.ModeDir); err != nil {
return fmt.Errorf("create /var/etc/kubernetes/manifests: %s", err.Error())
}
if err := os.MkdirAll("/var/lib/kubelet", os.ModeDir); err != nil {
return fmt.Errorf("create /var/lib/kubelet: %s", err.Error())
}
if err := os.MkdirAll("/var/lib/calico", os.ModeDir); err != nil {
return fmt.Errorf("create /var/lib/calico: %s", err.Error())
}
if err := os.MkdirAll("/var/libexec/kubernetes", os.ModeDir); err != nil {
return fmt.Errorf("create /var/libexec/kubernetes: %s", err.Error())
}

return nil
}

Expand Down Expand Up @@ -103,8 +111,10 @@ func (k *Kubelet) Start(data *userdata.UserData) error {
{Type: "bind", Destination: "/dev", Source: "/dev", Options: []string{"rbind", "rshared", "rw"}},
{Type: "bind", Destination: "/var/run", Source: "/run", Options: []string{"rbind", "rshared", "rw"}},
{Type: "bind", Destination: "/var/lib/kubelet", Source: "/var/lib/kubelet", Options: []string{"rbind", "rshared", "rw"}},
{Type: "bind", Destination: "/var/lib/calico", Source: "/var/lib/calico", Options: []string{"rbind", "rshared", "rw"}},
{Type: "bind", Destination: "/etc/kubernetes", Source: "/var/etc/kubernetes", Options: []string{"bind", "rw"}},
{Type: "bind", Destination: "/etc/cni", Source: "/var/etc/cni", Options: []string{"rbind", "rshared", "ro"}},
{Type: "bind", Destination: "/opt/cni", Source: "/var/opt/cni", Options: []string{"rbind", "rshared", "ro"}},
{Type: "bind", Destination: "/etc/os-release", Source: "/etc/os-release", Options: []string{"bind", "ro"}},
{Type: "bind", Destination: "/usr/libexec/kubernetes", Source: "/var/libexec/kubernetes", Options: []string{"rbind", "rshared", "rw"}},
}
Expand Down

0 comments on commit f16a130

Please sign in to comment.